canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
[gnulib.git] / ChangeLog
1 2012-05-05  Bruno Haible  <bruno@clisp.org>
2
3         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
5         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
6         gl_cv_func_realpath_works to "guessing yes".
7
8 2012-05-05  Bruno Haible  <bruno@clisp.org>
9
10         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
11         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
12         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
13
14 2012-05-04  Bruno Haible  <bruno@clisp.org>
15
16         Tweak last commit.
17         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
18         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19
20 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
21
22         unistd_h: make it easier to avoid sys_types_h
23         This is useful for Emacs, which has its own method of porting to
24         Windows, and which therefore does not need the sys_types_h module.
25         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
26         code moved here from gl_SYS_TYPES_H.
27         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
28         using the code directly.
29         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
30         gl_SYS_TYPES_H.
31         * modules/sys_types (Files):
32         * modules/unistd (Files): Add m4/off_t.m4.
33
34 2012-05-03  Bruno Haible  <bruno@clisp.org>
35
36         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
37         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
38         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
39         "guessing yes" or "guessing no".
40         (gl_FUNC_LSTAT): Update.
41         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
42         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
43         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
44
45 2012-05-03  Bruno Haible  <bruno@clisp.org>
46
47         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
48         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
49         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
50         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
51         cross-compiling, choose the first alternative on glibc systems.
52         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
53
54 2012-05-03  Bruno Haible  <bruno@clisp.org>
55
56         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
57         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
58         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
59
60 2012-05-03  Bruno Haible  <bruno@clisp.org>
61
62         chown: Avoid "guessing no" when cross-compiling to glibc systems.
63         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
64
65 2012-05-03  Bruno Haible  <bruno@clisp.org>
66
67         Avoid "guessing no" guesses when cross-compiling to glibc systems.
68         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
69         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
70         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
71         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
72         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
73         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
74         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
75         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
76         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
77         compiling to glibc systems, set gl_cv_func_chown_slash_works,
78         gl_cv_func_chown_ctime_works to "guessing yes".
79         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
80         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
81         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
82         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
83         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
84         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
85         compiling to glibc systems, set gl_cv_func_open_directory_works to
86         "guessing yes".
87         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
88         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
89         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
90         "guessing yes".
91         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
92         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
93         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
94         compiling to glibc systems, set gl_cv_func_floorf_ieee to
95         "guessing yes".
96         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
97         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
98         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
99         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
100         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
101         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
102         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
103         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
104         "guessing yes".
105         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
106         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
107         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
108         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
109         "guessing yes".
110         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
111         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
112         "guessing yes".
113         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
114         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
115         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
116         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
117         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
118         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
119         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
120         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
121         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
122         compiling to glibc systems, set gl_cv_func_log10f_ieee to
123         "guessing yes".
124         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
125         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
126         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
127         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
128         "guessing yes".
129         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
130         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
131         "guessing yes".
132         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
133         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
134         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
135         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
136         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
137         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
138         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
139         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
140         compiling to glibc systems, set gl_cv_func_mkfifo_works to
141         "guessing yes".
142         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
143         compiling to glibc systems, set gl_cv_func_mknod_works to
144         "guessing yes".
145         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
146         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
147         "guessing yes".
148         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
149         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
150         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
151         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
152         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
153         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
154         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
155         compiling to glibc systems, set gl_cv_func_svid_putenv to
156         "guessing yes".
157         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
158         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
159         "guessing yes".
160         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
161         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
162         "guessing yes".
163         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
164         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
165         to "guessing yes".
166         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
167         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
168         to "guessing yes".
169         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
170         compiling to glibc systems, set gl_cv_func_rmdir_works to
171         "guessing yes".
172         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
173         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
174         gl_cv_func_unlink_parent_fails to "guessing yes".
175         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
176         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
177         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
178         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
179         gl_cv_func_rename_dest_works to "guessing yes".
180         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
181         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
182         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
183         compiling to glibc systems, set gl_cv_func_roundf_ieee to
184         "guessing yes".
185         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
186         compiling to glibc systems, set gl_cv_func_roundl_ieee to
187         "guessing yes".
188         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
189         compiling to glibc systems, set gl_cv_func_setenv_works to
190         "guessing yes".
191         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
192         compiling to glibc systems, set gl_cv_func_unsetenv_works to
193         "guessing yes".
194         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
195         compiling to glibc systems, set gl_cv_func_sleep_works to
196         "guessing yes".
197         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
198         compiling to glibc systems, set gl_cv_func_stat_file_slash to
199         "guessing yes".
200         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
201         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
202         "guessing yes".
203         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
204         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
205         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
206         compiling to glibc systems, set gl_cv_func_truncf_ieee to
207         "guessing yes".
208         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
209         compiling to glibc systems, set gl_cv_func_truncl_ieee to
210         "guessing yes".
211         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
212         compiling to glibc systems, set gl_cv_func_usleep_works to
213         "guessing yes".
214         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
215         compiling to glibc systems, set gl_cv_func_futimesat_works to
216         "guessing yes".
217
218 2012-05-03  Bruno Haible  <bruno@clisp.org>
219
220         Say "guessing yes" or "guessing no" when cross-compiling.
221         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
222         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
223         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
224         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
225         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
226         am_cv_func_working_getline to "guessing yes" or "guessing no".
227         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
228         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
229         (gl_FUNC_MEMMEM): When cross-compiling, set
230         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
231         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
232         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
233         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
234         set gl_cv_func_strcasestr_works_always to "guessing yes" or
235         "guessing no".
236         (gl_FUNC_STRCASESTR): When cross-compiling, set
237         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
238         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
239         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
240         (gl_FUNC_STRSTR): When cross-compiling, set
241         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
242         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
243         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
244         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
245         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
246
247 2012-05-01  Bruno Haible  <bruno@clisp.org>
248
249         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
250         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
251         * build-aux/reloc-ldflags: Likewise.
252         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
253
254 2012-05-01  Bruno Haible  <bruno@clisp.org>
255
256         gnulib-tool: Remove transitional code.
257         * gnulib-tool: Don't warn about --import with 0 arguments any more.
258         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
259
260 2012-05-01  Bruno Haible  <bruno@clisp.org>
261
262         getcwd: Fix misindentation.
263         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
264
265 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
266
267         exclude: process exclude and include directives in order
268         This restores the pre-2009 behavior, and is part of a fix of a
269         grep bug reported by Quentin Arce in
270         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
271         * lib/exclude.c (struct exclude): Remove 'tail' member.
272         (new_exclude_segment): Prepend the new segment instead of appending.
273         Return void, since that's now more convenient.
274         (file_pattern_matches): Renamed from excluded_file_pattern_p.
275         (file_name_matches): Renamed from excluded_file_name_p.
276         (file_pattern_matches, file_name_matches):
277         Return true if the pattern matches, not if it excludes.
278         All callers changed.
279         (excluded_file_name): Process the list in reverse order;
280         since the list is now reversed this restores the pre-2009 behavior.
281         (add_exclude): Adjust to new reversed-order list.  Use local var
282         rather than macro, for clarity.
283         * tests/test-exclude7.sh: Adjust to corrected behavior.
284
285         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
286         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
287         it's not possible here.  Handle the case of \ at end of pattern
288         without dumping core.
289         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
290
291         _Noreturn: future-proof non-GNU and non-MSVC compilers
292         * build-aux/snippet/_Noreturn.h (_Noreturn):
293         * m4/gnulib-common.m4 (gl_COMMON_BODY):
294         Do not define _Noreturn if __STDC_VERSION__ indicates this is
295         C11 or later.  This is more likely to work with random future C
296         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
297         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
298
299         exclude: handle wildcards with FNM_EXTMATCH
300         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
301         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
302         comment that "has wildcards" really means "has or may have
303         wildcards".  Simplify by avoiding the need to call strcspn.
304
305 2012-04-29  Bruno Haible  <bruno@clisp.org>
306
307         gnulib-tool: Fix list of authors.
308         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
309
310 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
311
312         bootstrap: support Automake-NG in $buildreq
313         * bootstrap (check_versions): Handle automake and aclocal from
314         Automake-NG specially.  They can be specified as respectively
315         the "automake-ng" and "aclocal-ng" requirements.
316
317 2012-04-25  Eric Blake  <eblake@redhat.com>
318
319         bootstrap: only force latest Makefile.in.in for gettext module
320         * build-aux/bootstrap (with_gettext): Only install latest
321         Makefile.in.in for projects requesting bleeding edge gettext.
322
323 2012-04-22  Bruno Haible  <bruno@clisp.org>
324
325         doc: Mention reason for replacement on glibc/Linux systems.
326         * doc/posix-functions/dprintf.texi: Mention the problem with special
327         'long double' values.
328         * doc/posix-functions/fprintf.texi: Likewise.
329         * doc/posix-functions/printf.texi: Likewise.
330         * doc/posix-functions/snprintf.texi: Likewise.
331         * doc/posix-functions/sprintf.texi: Likewise.
332         * doc/posix-functions/vdprintf.texi: Likewise.
333         * doc/posix-functions/vfprintf.texi: Likewise.
334         * doc/posix-functions/vprintf.texi: Likewise.
335         * doc/posix-functions/vsnprintf.texi: Likewise.
336         * doc/posix-functions/vsprintf.texi: Likewise.
337         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
338         platforms with F_DUPFD_CLOEXEC problems.
339         * doc/posix-functions/glob.texi: Mention which platforms are affected
340         by the problem with symbolic links.
341         * doc/posix-functions/linkat.texi: Mention the problem with
342         AT_SYMLINK_FOLLOW on Linux.
343
344 2012-04-22  Bruno Haible  <bruno@clisp.org>
345
346         pwrite: Don't replace on all platforms.
347         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
348
349 2012-04-22  Bruno Haible  <bruno@clisp.org>
350
351         rint* tests: Avoid gcc warnings.
352         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
353         * tests/test-rintf.c (INFINITY, NAN): Likewise.
354         * tests/test-rintl.c (INFINITY, NAN): Likewise.
355
356 2012-04-21  Bruno Haible  <bruno@clisp.org>
357
358         users.txt: Update.
359         * users.txt: Add freedink, wdiff. Update URLs for projects that have
360         switched from CVS to git, bzr, or svn.
361
362 2012-04-21  Bruno Haible  <bruno@clisp.org>
363
364         Large File Support for native Windows platforms.
365
366         * m4/largefile.m4 (gl_LARGEFILE): New macro.
367         * modules/largefile (configure.ac): Require gl_LARGEFILE.
368
369         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
370         type.
371         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
372         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
373         * doc/posix-headers/sys_types.texi: Mention the effect of the
374         'largefile' module.
375
376         * lib/fcntl.in.h: Add comments about off_t.
377         * modules/fcntl-h (Depends-on): Add sys_types.
378
379         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
380         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
381         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
382         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
383         * modules/unistd (Depends-on): Add sys_types.
384         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
385
386         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
387         instead of lseek.
388         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
389         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
390         * modules/lseek (Depends-on): Add sys_types.
391
392         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
393         msvc-nothrow.h.
394         (SetFileSize): New function.
395         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
396         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
397         if Large File Support is requested.
398         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
399         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
400
401         * lib/stdio.in.h: Add comments about off_t.
402         * modules/stdio (Depends-on): Add sys_types.
403
404         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
405         instead of ftello.
406         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
407         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
408         (gl_PREREQ_FTELLO): New macro.
409         * modules/ftello (Depends-on): Add sys_types.
410         (configure.ac): Incoke gl_PREREQ_FTELLO.
411
412         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
413         instead of fseeko.
414         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
415         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
416         (gl_PREREQ_FSEEKO): New macro.
417         * modules/fseeko (Depends-on): Add sys_types.
418         (configure.ac): Invoke gl_PREREQ_FSEEKO.
419
420         * lib/sys_stat.in.h: Add comments about off_t.
421         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
422         64-bit integer for st_size in 'struct stat'.
423         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
424         Define _GL_WINDOWS_64_BIT_ST_SIZE.
425         * modules/sys_stat (Depends-on): Add sys_types.
426         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
427
428         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
429         instead of stat or _stat.
430
431         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
432         'struct _stati64' instead of fstat and 'struct stat'.
433         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
434         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
435
436         Reported by Ray Satiro <raysatiro@yahoo.com>.
437
438 2012-04-19  Eric Blake  <eblake@redhat.com>
439
440         bootstrap: accommodate older libtool
441         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
442         Reported by Daniel P. Berrange.
443
444 2012-04-19  Jim Meyering  <meyering@redhat.com>
445
446         announce-gen: avoid failure due to lack of Digest::SHA1
447         Even with the preferred Digest::SHA available, this script
448         would fail when the backup module, Digest::SHA1, was not installed.
449         * build-aux/announce-gen: Quote the conditional use of "use".
450         Reported by Reuben Thomas in:
451         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
452
453         bootstrap: don't let a user's CDPATH setting affect this script
454         When CDPATH is set, cd will sometimes generate output.
455         When "cd" is run in a subshell whose output matters, that
456         surprising-to-some output can cause malfunction.
457         Unsetting CDPATH turns off this shell "feature."
458         * build-aux/bootstrap (CDPATH): Unset.
459         Reported by Reuben Thomas in:
460         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
461         and inspired by his patch here:
462         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
463
464 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
465         and Jim Meyering  <meyering@redhat.com>
466
467         maint.mk: catch "see @xref{}" and similar
468         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
469         prohibit "See also @xref{", "Also see @pxref{", and similar.
470
471 2012-04-16  Jim Meyering  <meyering@redhat.com>
472
473         bootstrap: really use gnulib's po/Makefile.in.in
474         * build-aux/bootstrap: Correct the source file name in previous change.
475         Reported by Akim Demaille.
476
477         configmake: correct minor inconsistency in Makefile rule
478         * modules/configmake (Makefile.am): All other rules like this one
479         run the final "mv -f ..." in the same backslash-continued command
480         as the one that does everything else.  This one put the mv -f ...
481         command on a separate, non-backslash-continued line.
482         Make it like the others.
483
484         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
485         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
486         the one from gettext.  Reported by Akim Demaille.
487
488 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
489
490         Fix recursion of install-* into po directories.
491         Bison's install-pdf bug reported by Hans Aberg at
492         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
493         * build-aux/po/Makefile.in.in (install-dvi, install-html)
494         (install-info, install-pdf, install-ps): New targets.
495
496 2012-04-16  Jim Meyering  <meyering@redhat.com>
497
498         maint: avoid spurious "make sc_maint" failure
499         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
500         exempt all *.class file names, for lib/javaversion.class.
501
502 2012-04-15  Bruno Haible  <bruno@clisp.org>
503
504         lseek: Make configure test independent of environment.
505         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
506         Windows, we know that lseek() on pipes is broken; skip the runtime
507         test.
508
509 2012-04-14  Bruno Haible  <bruno@clisp.org>
510
511         stat: Bypass buggy override in mingw64.
512         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
513         * lib/stat.c (stat) [mingw64]: Define to _stat.
514         * doc/posix-functions/stat.texi: Mention mingw64 bug.
515
516 2012-04-14  Bruno Haible  <bruno@clisp.org>
517
518         pathmax: Fix compilation error on MSVC 9.
519         * modules/pathmax (Depends-on): Add unistd.
520
521 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
522
523         README: document pointer comparison assumption
524         * README (Portability guidelines): Document assumption about
525         pointer comparisons, in response to a recent bug-gnulib comment by
526         Jeffrey Kegler.
527
528 2012-04-12  Bruno Haible  <bruno@clisp.org>
529
530         Tests for module 'getrusage'.
531         * modules/getrusage-tests: New file.
532         * tests/test-getrusage.c: New file.
533
534         New module 'getrusage'.
535         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
536         warn-on-use.h.
537         (getrusage): New declaration.
538         * lib/getrusage.c: New file.
539         * m4/getrusage.m4: New file.
540         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
541         is declared.
542         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
543         HAVE_GETRUSAGE.
544         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
545         snippet/c++defs, snippet/warn-on-use.
546         (Makefile.am): Update generation of sys/resource.h. Substitute
547         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
548         * modules/getrusage: New file.
549         * doc/posix-functions/getrusage.texi: Mention the new module.
550
551 2012-04-12  Bruno Haible  <bruno@clisp.org>
552
553         Tests for module 'sys_resource'.
554         * modules/sys_resource-tests: New file.
555         * tests/test-sys_resource.c: New file.
556
557         New module 'sys_resource'.
558         * lib/sys_resource.in.h: New file.
559         * m4/sys_resource_h.m4: New file.
560         * modules/sys_resource: New file.
561         * doc/posix-headers/sys_resource.texi: Mention the new module.
562
563 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
564
565         ioctl: Fix compilation error on mingw.
566         * lib/ioctl.c: Include <windows.h>.
567         Also reported by Ray Satiro <raysatiro@yahoo.com>.
568
569 2012-04-04  Jim Meyering  <meyering@redhat.com>
570
571         regex: correct #pragma guard expression
572         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
573         not 4.3.  Correct its cpp guard expression.
574
575 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
576
577         regex: remove unnecessary type punning
578         Problem reported by Vladimir Serbinenko in
579         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
580         * lib/regex.h (struct re_pattern_buffer): Change the type of
581         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
582         Fix comment to match code.
583         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
584         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
585         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
586         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
587         (set_regs):
588         Omit no-longer-necessary casts.
589
590 2012-04-03  Bruno Haible  <bruno@clisp.org>
591
592         Tests for module 'ilogbl'.
593         * modules/ilogbl-tests: New file.
594         * tests/test-ilogbl.c: New file.
595
596         New module 'ilogbl'.
597         * lib/math.in.h (ilogbl): New declaration.
598         * lib/ilogbl.c: New file.
599         * m4/ilogbl.m4: New file.
600         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
601         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
602         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
603         Split sed invocation, to avoid the limit of 100 substitutions of
604         HP-UX 'sed'.
605         * modules/ilogbl: New file.
606         * tests/test-math-c++.cc: Check the declaration of ilogbl.
607         * doc/posix-functions/ilogbl.texi: Mention the new module.
608
609 2012-04-03  Bruno Haible  <bruno@clisp.org>
610
611         Tests for module 'ilogbf'.
612         * modules/ilogbf-tests: New file.
613         * tests/test-ilogbf.c: New file.
614
615         New module 'ilogbf'.
616         * lib/math.in.h (ilogbf): New declaration.
617         * lib/ilogbf.c: New file.
618         * m4/ilogbf.m4: New file.
619         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
620         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
621         REPLACE_ILOGBF.
622         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
623         REPLACE_ILOGBF.
624         * modules/ilogbf: New file.
625         * tests/test-math-c++.cc: Check the declaration of ilogbf.
626         * doc/posix-functions/ilogbf.texi: Mention the new module.
627
628 2012-04-03  Bruno Haible  <bruno@clisp.org>
629
630         Tests for module 'ilogb'.
631         * modules/ilogb-tests: New file.
632         * tests/test-ilogb.c: New file.
633         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
634         tests/test-logb-ieee.h.
635
636         New module 'ilogb'.
637         * lib/math.in.h (ilogb): New declaration.
638         * lib/ilogb.c: New file.
639         * m4/ilogb.m4: New file.
640         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
642         REPLACE_ILOGB.
643         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
644         REPLACE_ILOGB.
645         * modules/ilogb: New file.
646         * tests/test-math-c++.cc: Check the declaration of ilogb.
647         * doc/posix-functions/ilogb.texi: Mention the new module.
648
649 2012-04-03  Bruno Haible  <bruno@clisp.org>
650
651         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
652         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
653         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
654         (main): Check their values.
655         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
656         problem.
657
658 2012-04-03  Bruno Haible  <bruno@clisp.org>
659
660         Tests for module 'logbl-ieee'.
661         * modules/logbl-ieee-tests: New file.
662         * tests/test-logbl-ieee.c: New file.
663
664         New module 'logbl-ieee'.
665         * modules/logbl-ieee: New file.
666
667         Tests for module 'logb-ieee'.
668         * modules/logb-ieee-tests: New file.
669         * tests/test-logb-ieee.c: New file.
670
671         New module 'logb-ieee'.
672         * modules/logb-ieee: New file.
673
674         Tests for module 'logbf-ieee'.
675         * modules/logbf-ieee-tests: New file.
676         * tests/test-logbf-ieee.c: New file.
677         * tests/test-logb-ieee.h: New file.
678
679         New module 'logbf-ieee'.
680         * modules/logbf-ieee: New file.
681
682 2012-04-03  Bruno Haible  <bruno@clisp.org>
683
684         Tests for module 'logbl'.
685         * modules/logbl-tests: New file.
686         * tests/test-logbl.c: New file.
687
688         New module 'logbl'.
689         * lib/math.in.h (logbl): New declaration.
690         * lib/logbl.c: New file.
691         * m4/logbl.m4: New file.
692         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
693         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
694         REPLACE_LOGBL.
695         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
696         REPLACE_LOGBL.
697         * modules/logbl: New file.
698         * tests/test-math-c++.cc: Check the declaration of logbl.
699         * doc/posix-functions/logbl.texi: Mention the new module.
700
701 2012-04-02  Bruno Haible  <bruno@clisp.org>
702
703         Tests for module 'logbf'.
704         * modules/logbf-tests: New file.
705         * tests/test-logbf.c: New file.
706
707         New module 'logbf'.
708         * lib/math.in.h (logbf): New declaration.
709         * lib/logbf.c: New file.
710         * m4/logbf.m4: New file.
711         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
713         REPLACE_LOGBF.
714         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
715         REPLACE_LOGBF.
716         * modules/logbf: New file.
717         * tests/test-math-c++.cc: Check the declaration of logbf.
718         * doc/posix-functions/logbf.texi: Mention the new module.
719
720 2012-04-02  Bruno Haible  <bruno@clisp.org>
721
722         logb tests: More tests.
723         * tests/test-logb.h: New file, based on tests/test-logb.c and
724         tests/test-frexp.h.
725         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
726         (main): Just invoke test_function.
727         * modules/logb-tests (Files): Add tests/test-logb.h,
728         tests/minus-zero.h, tests/randomd.c.
729         (Makefile.am): Add randomd.c to test_logb_SOURCES.
730
731         logb: Provide replacement and workarounds.
732         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
733         is 1.
734         * lib/logb.c: New file.
735         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
736         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
737         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
738         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
739         * modules/logb (Files): Add lib/logb.c.
740         (Depends-on): Add isfinite, frexp, isnand.
741         (configure.ac): Compile the replacement code logb.c if needed.
742         * tests/test-math-c++.cc: Check the declaration of logb.
743         * doc/posix-functions/logb.texi: Mention the replacement and the bug
744         with subnormal numbers.
745
746 2012-04-02  Bruno Haible  <bruno@clisp.org>
747
748         log10* tests: Speed up.
749         * tests/test-log10.h (test_function): Reduce amount of random numbers
750         to test.
751
752 2012-04-01  Bruno Haible  <bruno@clisp.org>
753
754         logf-ieee: Fix test whether logf works.
755         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
756
757 2012-04-01  Bruno Haible  <bruno@clisp.org>
758
759         log10l: Work around log10l-ieee test failure on IRIX 6.5.
760         * lib/log10l.c: Include <float.h>
761         (log10l): On IRIX, normalize the +Infinity value.
762         * modules/log10l (Depends-on): Add 'float'.
763         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
764         +Infinity.
765
766         log10f-ieee: Work around test failure on NetBSD 5.1.
767         * m4/log10f-ieee.m4: New file.
768         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
769         test whether log10f works with a negative argument. Replace it if not.
770         * lib/log10f.c (log10f): For negative arguments, return NaN.
771         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
772         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
773         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
774
775         log10f-ieee: Work around test failure on Solaris 9.
776         * modules/log10f-ieee (Depends-on): Add log10-ieee.
777         (configure.ac): Require gl_FUNC_LOG10F.
778
779         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
780         * m4/log10-ieee.m4: New file.
781         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
782         whether log10 works with a negative argument. Replace it if not.
783         * lib/log10.c (log10): For negative arguments, return NaN.
784         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
785         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
786         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
787
788         Tests for module 'log10l-ieee'.
789         * modules/log10l-ieee-tests: New file.
790         * tests/test-log10l-ieee.c: New file.
791
792         New module 'log10l-ieee'.
793         * modules/log10l-ieee: New file.
794
795         Tests for module 'log10-ieee'.
796         * modules/log10-ieee-tests: New file.
797         * tests/test-log10-ieee.c: New file.
798
799         New module 'log10-ieee'.
800         * modules/log10-ieee: New file.
801
802         Tests for module 'log10f-ieee'.
803         * modules/log10f-ieee-tests: New file.
804         * tests/test-log10f-ieee.c: New file.
805         * tests/test-log10-ieee.h: New file.
806
807         New module 'log10f-ieee'.
808         * modules/log10f-ieee: New file.
809
810 2012-04-01  Bruno Haible  <bruno@clisp.org>
811
812         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
813         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
814         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
815         workaround.
816         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
817         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
818         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
819         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
820         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
821         (Depends-on): Update conditions.
822         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
823         IRIX 6.5, OSF/1 5.1 problems.
824
825 2012-04-01  Bruno Haible  <bruno@clisp.org>
826
827         log10f: Work around OSF/1 5.1 bug.
828         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
829         * lib/log10f.c (log10f): If logf exists, use it and provide just the
830         workaround.
831         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
832         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
834         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
835         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
836         (Depends-on): Update conditions.
837         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
838
839 2012-04-01  Bruno Haible  <bruno@clisp.org>
840
841         log10: Work around OSF/1 5.1 bug.
842         * lib/math.in.h (log10): New declaration.
843         * lib/log10.c: New file.
844         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
845         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
846         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
847         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
848         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
849         * modules/log10 (Files): Add lib/log10.c.
850         (Depends-on): Add math.
851         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
852         * tests/test-math-c++.cc: Check the declaration of log10.
853         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
854
855 2012-03-31  Bruno Haible  <bruno@clisp.org>
856
857         log10l tests: More tests.
858         * modules/log10l-tests (Files): Add tests/test-log10l.h,
859         tests/minus-zero.h, tests/randoml.c.
860         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
861         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
862         (main): Invoke test_function.
863
864         log10f tests: More tests.
865         * modules/log10f-tests (Files): Add tests/test-log10.h,
866         tests/minus-zero.h, tests/randomf.c.
867         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
868         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
869         (main): Invoke test_function.
870
871         log10 tests: More tests.
872         * tests/test-log10.h: New file.
873         * modules/log10-tests (Files): Add tests/test-log10.h,
874         tests/minus-zero.h, tests/randomd.c.
875         (Makefile.am): Add randomd.c to test_log10_SOURCES.
876         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
877         (main): Invoke test_function.
878
879 2012-03-31  Simon Josefsson  <simon@josefsson.org>
880
881         fflush: Fix syntax error.
882         * lib/fflush.c: Include unused-parameter.h, needed for
883         _GL_UNUSED_PARAMETER.
884         * modules/fflush (Depends-on): Add snippet/unused-parameter.
885
886 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
887
888         regex: pacify GCC when compiling GRUB
889         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
890         a diagnostic.  Reported by Vladimir Serbinenko in
891         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
892
893 2012-03-29  Eric Blake  <eblake@redhat.com>
894
895         stdio: don't assume gets any more
896         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
897         support.
898         * modules/stdio (Makefile.am): Likewise.
899         * lib/stdio-read.c (gets): Likewise.
900         * tests/test-stdio-c++.cc: Likewise.
901         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
902         * lib/stdio.in.h (gets): Make warning occur in more places.
903         * doc/posix-functions/gets.texi (gets): Update documentation.
904         Reported by Christer Solskogen.
905
906         maint.mk: fix syntax checks without exclusions
907         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
908         Reported by Daniel P. Berrange.
909
910         strerror_r: avoid compiler warning
911         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
912         level.
913
914         fflush: avoid compiler warning
915         * lib/fflush.c (update_fpos_cache): Mark variables that are
916         potentially unused.
917
918 2012-03-25  Bruno Haible  <bruno@clisp.org>
919
920         Tests for module 'localeconv'.
921         * modules/localeconv-tests: New file.
922         * tests/test-localeconv.c: New file.
923
924         New module 'localeconv'.
925         * lib/locale.in.h (localeconv): New declaration.
926         * lib/localeconv.c: New file.
927         * m4/localeconv.m4: New file.
928         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
929         REPLACE_LOCALECONV.
930         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
931         REPLACE_LOCALECONV.
932         * modules/localeconv: New file.
933         * modules/nl_langinfo (Depends-on): Add localeconv.
934         * modules/human (Depends-on): Likewise.
935         * doc/posix-functions/localeconv.texi: Mention the new module.
936
937 2012-03-25  Bruno Haible  <bruno@clisp.org>
938
939         locale: Provide a complete 'struct lconv'.
940         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
941         'struct lconv' does not contain int_p_cs_precedes.
942         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
943         * doc/posix-headers/locale.texi: Update.
944
945         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
946         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
947         * doc/posix-headers/locale.texi: Update.
948
949         locale: Provide a working 'struct lconv'.
950         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
951         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
952         'struct lconv' does not even contain decimal_point.
953         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
954         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
955         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
956         * doc/posix-headers/locale.texi: Mention the problems with
957         'struct lconv'.
958         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
959
960 2012-03-24  Bruno Haible  <bruno@clisp.org>
961
962         Enable common subexpression optimization in GCC.
963         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
964         macros.
965         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
966         GCC attribute 'const'.
967         (uc_locale_language): Declare with GCC attribute 'pure'.
968         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
969         with GCC attribute 'const'.
970         * lib/unictype.in.h (uc_is_general_category_withtable,
971         uc_combining_class, uc_combining_class_name,
972         uc_combining_class_long_name, uc_bidi_class_name,
973         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
974         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
975         uc_decimal_value, uc_digit_value, uc_numeric_value,
976         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
977         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
978         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
979         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
980         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
981         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
982         Declare with GCC attribute 'const'.
983         (uc_general_category_name, uc_general_category_long_name,
984         uc_general_category_byname, uc_general_category,
985         uc_is_general_category, uc_combining_class_byname,
986         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
987         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
988         Declare with GCC attribute 'pure'.
989         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
990         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
991         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
992         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
993         with GCC attribute 'pure'.
994         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
995         'const'.
996         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
997         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
998         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
999         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1000         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1001         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1002         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1003         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1004         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1005         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1006         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1007         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1008         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1009         GCC attribute 'pure'.
1010         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1011         'const'.
1012         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1013         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1014         u32_strwidth): Declare with GCC attribute 'pure'.
1015
1016         Enable common subexpression optimization in GCC.
1017         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1018         (alphasort): Declare with GCC attribute 'pure'.
1019         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1020         (atoll): Declare with GCC attribute 'pure'.
1021         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1022         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1023         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1024         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1025         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1026         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1027         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1028
1029 2012-03-24  Bruno Haible  <bruno@clisp.org>
1030
1031         gnulib-tool: Avoid unintended error output from 'cmp'.
1032         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1033         "cmp -s", not "cmp > /dev/null".
1034
1035 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1036
1037         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1038
1039         It's not just Automake versions < 1.9b that creates an empty
1040         pkgdatadir at installation time if pkgdata_DATA is specified
1041         to empty; modern automake versions do this as well, at least
1042         until automake 1.11.4 (not yet released at the moment of writing,
1043         but soon to appear).  That behaviour was generally considered a
1044         feature rather than a bug, at least until this discussion:
1045         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1046
1047         See also automake bugs #10997 and #11030.
1048
1049         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1050         reference to relevant automake bug numbers.
1051         (func_emit_tests_Makefile_am): Likewise.
1052
1053 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1054
1055         announce-gen: use Digest::SHA when possible
1056         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1057         back to Digest::SHA1 if necessary.
1058
1059 2012-03-20  Jim Meyering  <meyering@redhat.com>
1060
1061         tests: avoid gcc warnings about argv vs. const initializers
1062         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1063         warnings about discarding 'const' qualifier from pointer target type.
1064         * tests/test-posix_spawn2.c (main): Likewise.
1065
1066 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1067
1068         README-release: simplify slightly
1069         * top/README-release: Run "git checkout master" only once.
1070
1071 2012-03-15  Mark Wielaard  <mark@klomp.org>
1072
1073         git-merge-changelog: add specific example on how to use with hg.
1074         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1075
1076 2012-03-18  Mark Wielaard  <mark@klomp.org>
1077
1078         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1079
1080 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1081
1082         git-version-gen: don't let "prefix" envvar cause trouble
1083         * build-aux/git-version-gen (prefix): Initialize properly,
1084         so as not to use a value specified via the environment.
1085         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1086
1087 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1088
1089         regex: diagnose too-large repeat counts in EREs
1090         Previously, the code did not diagnose the too-large repeat count
1091         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1092         as if it were 'b\{1000000000}', which is unexpected.
1093         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
1094         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
1095         is a reasonable one for this problem.  Another option would be to
1096         create a new REG_OVERFLOW error for repeat counts that are too large.
1097         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
1098         count is too large, so that the caller can distinguish the two cases.
1099         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
1100         "Too large" return code, and that repeat counts are one example of this.
1101
1102 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1103
1104         doc: some glibc x32 integer width issues
1105         * doc/posix-headers/sys_types.texi (sys/types.h):
1106         * doc/posix-headers/time.texi (time.h):
1107         Mention that glibc x32 does not conform to POSIX in a couple of
1108         areas related to integer widths.
1109
1110 2012-03-15  Bruno Haible  <bruno@clisp.org>
1111
1112         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
1113         * lib/fma.c (VOLATILE): New macro.
1114         (FUNC): Use it to work around a GCC compiler bug.
1115
1116 2012-03-13  Bruno Haible  <bruno@clisp.org>
1117
1118         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1119         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
1120         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
1121         REPLACE_HYPOTL to 1.
1122         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
1123
1124 2012-03-13  Bruno Haible  <bruno@clisp.org>
1125
1126         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1127         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
1128         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
1129         REPLACE_REMAINDERL to 1.
1130         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
1131         bug.
1132
1133 2012-03-13  Bruno Haible  <bruno@clisp.org>
1134
1135         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1136         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
1137         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
1138         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
1139         too big rounding errors.
1140         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
1141         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
1142         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
1143         (Depends-on): Update conditions.
1144         * tests/test-sqrtl.c (my_ldexpl): New function.
1145         (main): Add test of a particular value.
1146         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1147
1148 2012-03-13  Pádraig Brady  <P@draigBrady.com>
1149
1150         doc: Update timer_* platform portability notes.
1151         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
1152         that always return ENOSYS.
1153         * doc/posix-functions/timer_delete.texi: Likewise.
1154         * doc/posix-functions/timer_gettime.texi: Likewise.
1155         * doc/posix-functions/timer_settime.texi: Likewise.
1156
1157 2012-03-13  Bruno Haible  <bruno@clisp.org>
1158
1159         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1160         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
1161         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
1162         REPLACE_CBRTL to 1.
1163         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1164
1165 2012-03-13  Bruno Haible  <bruno@clisp.org>
1166
1167         remainderl: Avoid compilation error on AIX >= 5.2.
1168         * lib/math.in.h (remainderl): Undefine macro from the system header.
1169
1170 2012-03-13  Bruno Haible  <bruno@clisp.org>
1171
1172         Avoid compilation errors with MSVC option -fp:strict.
1173         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
1174         * lib/cbrtf.c: Likewise.
1175         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1176
1177 2012-03-12  Bruno Haible  <bruno@clisp.org>
1178
1179         uninorm: Don't crash in out-of-memory conditions.
1180         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
1181         gracefully.
1182         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
1183         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
1184
1185 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
1186
1187         quote: fix syntax-check
1188         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
1189         also exports quote_quoting_options.
1190
1191 2012-03-12  Simon Josefsson  <simon@josefsson.org>
1192
1193         Collapse list of copyright years to ranges.  See
1194         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
1195         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
1196         build-aux/csharpexec.sh.in, build-aux/gnupload,
1197         build-aux/install-reloc, build-aux/javacomp.sh.in,
1198         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
1199         build-aux/move-if-change, build-aux/reloc-ldflags,
1200         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
1201
1202 2012-03-11  Bruno Haible  <bruno@clisp.org>
1203
1204         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1205         * m4/log2f-ieee.m4: New file.
1206         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
1207         whether log2f works with a minus zero argument. Replace it if not.
1208         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
1209         (Depends-on): Add log2-ieee.
1210         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
1211         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
1212
1213         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1214         * m4/log2-ieee.m4: New file.
1215         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
1216         whether log2 works with a minus zero argument. Replace it if not.
1217         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
1218         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
1219         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
1220
1221         Tests for module 'log2l-ieee'.
1222         * modules/log2l-ieee-tests: New file.
1223         * tests/test-log2l-ieee.c: New file.
1224
1225         New module 'log2l-ieee'.
1226         * modules/log2l-ieee: New file.
1227
1228         Tests for module 'log2-ieee'.
1229         * modules/log2-ieee-tests: New file.
1230         * tests/test-log2-ieee.c: New file.
1231
1232         New module 'log2-ieee'.
1233         * modules/log2-ieee: New file.
1234
1235         Tests for module 'log2f-ieee'.
1236         * modules/log2f-ieee-tests: New file.
1237         * tests/test-log2f-ieee.c: New file.
1238         * tests/test-log2-ieee.h: New file.
1239
1240         New module 'log2f-ieee'.
1241         * modules/log2f-ieee: New file.
1242
1243 2012-03-11  Bruno Haible  <bruno@clisp.org>
1244
1245         Tests for module 'log2l'.
1246         * modules/log2l-tests: New file.
1247         * tests/test-log2l.c: New file.
1248
1249         New module 'log2l'.
1250         * lib/math.in.h (log2l): New declaration.
1251         * lib/log2l.c: New file.
1252         * m4/log2l.m4: New file.
1253         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
1254         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
1255         REPLACE_LOG2L.
1256         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
1257         REPLACE_LOG2L.
1258         * modules/log2l: New file.
1259         * tests/test-math-c++.cc: Check the declaration of log2l.
1260         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
1261         and OSF/1 problems.
1262
1263 2012-03-11  Bruno Haible  <bruno@clisp.org>
1264
1265         Tests for module 'log2f'.
1266         * modules/log2f-tests: New file.
1267         * tests/test-log2f.c: New file.
1268
1269         New module 'log2f'.
1270         * lib/math.in.h (log2f): New declaration.
1271         * lib/log2f.c: New file.
1272         * m4/log2f.m4: New file.
1273         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
1274         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
1275         REPLACE_LOG2F.
1276         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
1277         REPLACE_LOG2F.
1278         * modules/log2f: New file.
1279         * tests/test-math-c++.cc: Check the declaration of log2f.
1280         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
1281         and OSF/1 and Cygwin problems.
1282
1283 2012-03-11  Bruno Haible  <bruno@clisp.org>
1284
1285         Tests for module 'log2'.
1286         * modules/log2-tests: New file.
1287         * tests/test-log2.c: New file.
1288         * tests/test-log2.h: New file.
1289
1290         New module 'log2'.
1291         * lib/math.in.h (log2): New declaration.
1292         * lib/log2.c: New file.
1293         * m4/log2.m4: New file.
1294         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
1295         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
1296         REPLACE_LOG2.
1297         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
1298         REPLACE_LOG2.
1299         * modules/log2: New file.
1300         * tests/test-math-c++.cc: Check the declaration of log2.
1301         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
1302         and OSF/1 and Cygwin problems.
1303
1304 2012-03-11  Bruno Haible  <bruno@clisp.org>
1305
1306         exp2* tests: More tests.
1307         * tests/test-exp2.h (test_function): Test all integral arguments that
1308         don't need to overflow or denormalized numbers.
1309         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
1310         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
1311         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
1312
1313 2012-03-10  Bruno Haible  <bruno@clisp.org>
1314
1315         log1pl-ieee: Work around test failure on AIX 7.1.
1316         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
1317
1318         log1pl-ieee: Work around test failure on IRIX 6.5.
1319         * m4/log1pl-ieee.m4: New file.
1320         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
1321         test whether log1pl works with a minus zero argument. Replace it if
1322         not.
1323         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
1324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
1325         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
1326         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
1327         (Depends-on): Update conditions.
1328         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1329         m4/signbit.m4.
1330         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
1331         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
1332
1333         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
1334         * m4/log1pf-ieee.m4: New file.
1335         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
1336         test whether log1pf works with a minus zero argument. Replace it if
1337         not.
1338         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
1339         m4/signbit.m4.
1340         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
1341         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
1342
1343         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
1344         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
1345         (configure.ac): Require gl_FUNC_LOG1PF.
1346
1347         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
1348         * m4/log1p-ieee.m4: New file.
1349         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
1350         whether log1p works with a minus zero argument. Replace it if not.
1351         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
1352         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
1353         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
1354         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
1355         (Depends-on): Update conditions.
1356         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1357         m4/signbit.m4.
1358         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
1359         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
1360
1361         Tests for module 'log1pl-ieee'.
1362         * modules/log1pl-ieee-tests: New file.
1363         * tests/test-log1pl-ieee.c: New file.
1364
1365         New module 'log1pl-ieee'.
1366         * modules/log1pl-ieee: New file.
1367
1368         Tests for module 'log1p-ieee'.
1369         * modules/log1p-ieee-tests: New file.
1370         * tests/test-log1p-ieee.c: New file.
1371
1372         New module 'log1p-ieee'.
1373         * modules/log1p-ieee: New file.
1374
1375         Tests for module 'log1pf-ieee'.
1376         * modules/log1pf-ieee-tests: New file.
1377         * tests/test-log1pf-ieee.c: New file.
1378         * tests/test-log1p-ieee.h: New file.
1379
1380         New module 'log1pf-ieee'.
1381         * modules/log1pf-ieee: New file.
1382
1383 2012-03-10  Bruno Haible  <bruno@clisp.org>
1384
1385         Tests for module 'log1pl'.
1386         * modules/log1pl-tests: New file.
1387         * tests/test-log1pl.c: New file.
1388
1389         New module 'log1pl'.
1390         * lib/math.in.h (log1pl): New declaration.
1391         * lib/log1pl.c: New file.
1392         * m4/log1pl.m4: New file.
1393         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
1394         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
1395         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
1396         * modules/log1pl: New file.
1397         * tests/test-math-c++.cc: Check the declaration of log1pl.
1398         * doc/posix-functions/log1pl.texi: Mention the new module.
1399
1400 2012-03-10  Bruno Haible  <bruno@clisp.org>
1401
1402         Tests for module 'log1pf'.
1403         * modules/log1pf-tests: New file.
1404         * tests/test-log1pf.c: New file.
1405
1406         New module 'log1pf'.
1407         * lib/math.in.h (log1pf): New declaration.
1408         * lib/log1pf.c: New file.
1409         * m4/log1pf.m4: New file.
1410         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
1411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
1412         REPLACE_LOG1PF.
1413         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
1414         REPLACE_LOG1PF.
1415         * modules/log1pf: New file.
1416         * tests/test-math-c++.cc: Check the declaration of log1pf.
1417         * doc/posix-functions/log1pf.texi: Mention the new module.
1418
1419 2012-03-10  Bruno Haible  <bruno@clisp.org>
1420
1421         log1p tests: More tests.
1422         * tests/test-log1p.h: New file.
1423         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
1424         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
1425         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
1426         (main): Invoke test_function.
1427
1428         log1p: Provide replacement for Minix and MSVC.
1429         * lib/math.in.h (log1p): New declaration.
1430         * lib/log1p.c: New file.
1431         * m4/log1p.m4: New file.
1432         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
1433         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
1434         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
1435         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
1436         (Depends-on): Add math, isnand, log, round.
1437         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
1438         HAVE_LOG1P is 0.
1439         * tests/test-math-c++.cc: Check the declaration of log1p.
1440         * doc/posix-functions/log1p.texi: Mention the replacement.
1441
1442 2012-03-10  Bruno Haible  <bruno@clisp.org>
1443
1444         math tests: Small simplification.
1445         * tests/test-exp.h (test_function): Use the same err_bound for
1446         'double' on platforms with sizeof (long double) == sizeof (double)
1447         than on platforms with sizeof (long double) > sizeof (double).
1448         * tests/test-exp2.h (test_function): Likewise.
1449         * tests/test-expm1.h (test_function): Likewise.
1450         * tests/test-log.h (test_function): Likewise.
1451
1452 2012-03-10  Bruno Haible  <bruno@clisp.org>
1453
1454         Fix some comments.
1455         * lib/expl.c: Fix an ambiguous comment.
1456         * lib/expm1.c: Likewise.
1457         * lib/expm1l.c: Likewise.
1458         * lib/exp2.c: Likewise.
1459         * lib/exp2l.c: Likewise.
1460
1461 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
1462
1463         regex: allow inclusion of <regex.h> before <limits.h>
1464         Without this patch, portable programs had to include <limits.h> before
1465         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
1466         I ran into this problem with a test version of GNU grep on Solaris 8.
1467         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
1468         This is done conditionally so that this change can be merged
1469         back to glibc.
1470         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
1471         using the included regex.
1472
1473         fts: depend on fdopendir
1474         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
1475         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
1476         problem was introduced when fdopendir was split out.
1477
1478 2012-03-10  Bruno Haible  <bruno@clisp.org>
1479
1480         Remove unused variables.
1481         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
1482         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
1483
1484 2012-03-10  Bruno Haible  <bruno@clisp.org>
1485
1486         isnanf-nolibm: Fix last commit.
1487         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
1488
1489         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
1490         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
1491
1492 2012-03-10  Bruno Haible  <bruno@clisp.org>
1493
1494         logf-ieee: Work around test failure on NetBSD 5.1.
1495         * m4/logf-ieee.m4: New file.
1496         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
1497         whether logf works with a negative argument. Replace it if not.
1498         * lib/logf.c (logf): For negative arguments, return NaN.
1499         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
1500         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
1501         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
1502
1503         logf-ieee: Work around test failure on Solaris 9.
1504         * modules/logf-ieee (Depends-on): Add log-ieee.
1505         (configure.ac): Require gl_FUNC_LOGF.
1506
1507         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1508         * m4/log-ieee.m4: New file.
1509         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
1510         log works with a negative argument. Replace it if not.
1511         * lib/log.c (log): For negative arguments, return NaN.
1512         * modules/log-ieee (Files): Add m4/log-ieee.m4.
1513         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
1514         * doc/posix-functions/log.texi: Mention the log-ieee module.
1515
1516         Tests for module 'logl-ieee'.
1517         * modules/logl-ieee-tests: New file.
1518         * tests/test-logl-ieee.c: New file.
1519
1520         New module 'logl-ieee'.
1521         * modules/logl-ieee: New file.
1522
1523         Tests for module 'log-ieee'.
1524         * modules/log-ieee-tests: New file.
1525         * tests/test-log-ieee.c: New file.
1526
1527         New module 'log-ieee'.
1528         * modules/log-ieee: New file.
1529
1530         Tests for module 'logf-ieee'.
1531         * modules/logf-ieee-tests: New file.
1532         * tests/test-logf-ieee.c: New file.
1533         * tests/test-log-ieee.h: New file.
1534
1535         New module 'logf-ieee'.
1536         * modules/logf-ieee: New file.
1537
1538 2012-03-10  Bruno Haible  <bruno@clisp.org>
1539
1540         log: Fix bug introduced on 2012-03-09.
1541         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
1542
1543 2012-03-10  Pádraig Brady  <P@draigBrady.com>
1544
1545         timer-time: link explicitly with pthreads on glibc
1546         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1547         to support static linking, when newer glibc is
1548         detected, as that contains pthread emulation of
1549         POSIX timer functions where required.
1550         * modules/timer-time: Depend on threadlib to
1551         pull in the appropriate library to link.
1552
1553 2012-03-10  Bruno Haible  <bruno@clisp.org>
1554
1555         log* tests: More tests.
1556         * tests/test-log.h: New file.
1557         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
1558         (main): Invoke test_function.
1559         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
1560         (main): Invoke test_function.
1561         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
1562         (main): Invoke test_function.
1563         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1564         tests/randomd.c.
1565         (Makefile.am): Add randomd.c to test_log_SOURCES.
1566         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1567         tests/randomf.c.
1568         (Makefile.am): Add randomf.c to test_logf_SOURCES.
1569         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1570         tests/randoml.c.
1571         (Depends-on): Add 'float'.
1572         (Makefile.am): Add randoml.c to test_logl_SOURCES.
1573
1574 2012-03-09  Bruno Haible  <bruno@clisp.org>
1575
1576         logl: Work around OSF/1 5.1 bug.
1577         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
1578         * lib/logl.c (logl): If logl exists, use it and provide just the
1579         workaround.
1580         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
1581         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
1582         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
1583         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
1584         * modules/logl (configure.ac): Consider REPLACE_LOGL.
1585         (Depends-on): Update conditions.
1586         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
1587
1588 2012-03-09  Bruno Haible  <bruno@clisp.org>
1589
1590         logf: Work around OSF/1 5.1 bug.
1591         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
1592         * lib/logf.c (logf): If logf exists, use it and provide just the
1593         workaround.
1594         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
1595         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
1596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
1597         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
1598         * modules/logf (configure.ac): Consider REPLACE_LOGF.
1599         (Depends-on): Update conditions.
1600         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
1601
1602 2012-03-09  Bruno Haible  <bruno@clisp.org>
1603
1604         log: Work around OSF/1 5.1 bug.
1605         * lib/math.in.h (log): New declaration.
1606         * lib/log.c: New file.
1607         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
1608         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
1609         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
1610         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
1611         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
1612         * modules/log (Files): Add lib/log.c.
1613         (Depends-on): Add math.
1614         (configure.ac): If REPLACE_LOG is 1, compile an override.
1615         * tests/test-math-c++.cc: Check the declaration of log.
1616         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
1617
1618 2012-03-09  Jim Meyering  <meyering@redhat.com>
1619
1620         readtokens.c: adjust wording in a comment
1621         * lib/readtokens.c: Insert omitted "that" in a comment.
1622
1623 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1624
1625         modechange: add notations +40, 00440, etc.
1626         * lib/modechange.c (mode_compile): Support new notations
1627         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
1628
1629 2012-03-08  Bruno Haible  <bruno@clisp.org>
1630
1631         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
1632         * m4/exp2l-ieee.m4: New file.
1633         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
1634         test whether exp2l works with a NaN argument and with a negative
1635         infinity argument. Replace it if not.
1636         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
1637         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
1638         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
1639         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
1640         (Depends-on): Update conditions.
1641         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
1642         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
1643         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
1644
1645         Tests for module 'exp2l-ieee'.
1646         * modules/exp2l-ieee-tests: New file.
1647         * tests/test-exp2l-ieee.c: New file.
1648
1649         New module 'exp2l-ieee'.
1650         * modules/exp2l-ieee: New file.
1651
1652         Tests for module 'exp2-ieee'.
1653         * modules/exp2-ieee-tests: New file.
1654         * tests/test-exp2-ieee.c: New file.
1655
1656         New module 'exp2-ieee'.
1657         * modules/exp2-ieee: New file.
1658
1659         Tests for module 'exp2f-ieee'.
1660         * modules/exp2f-ieee-tests: New file.
1661         * tests/test-exp2f-ieee.c: New file.
1662         * tests/test-exp2-ieee.h: New file.
1663
1664         New module 'exp2f-ieee'.
1665         * modules/exp2f-ieee: New file.
1666
1667 2012-03-08  Bruno Haible  <bruno@clisp.org>
1668
1669         Tests for module 'exp2l'.
1670         * modules/exp2l-tests: New file.
1671         * tests/test-exp2l.c: New file.
1672
1673         New module 'exp2l'.
1674         * lib/math.in.h (exp2l): New declaration.
1675         * lib/exp2l.c: New file.
1676         * lib/expl-table.c: New file, extracted from lib/expl.c.
1677         * lib/expl.c (gl_expl_table): New declaration.
1678         (expl): Remove expl_table. Update reference.
1679         * m4/exp2l.m4: New file.
1680         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
1681         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
1682         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
1683         * modules/exp2l: New file.
1684         * modules/expl (Files): Add lib/expl-table.c.
1685         (configure.ac): Compile also expl-table.c.
1686         * tests/test-math-c++.cc: Check the declaration of exp2l.
1687         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
1688         problem.
1689
1690 2012-03-08  Bruno Haible  <bruno@clisp.org>
1691
1692         Tests for module 'exp2f'.
1693         * modules/exp2f-tests: New file.
1694         * tests/test-exp2f.c: New file.
1695
1696         New module 'exp2f'.
1697         * lib/math.in.h (exp2f): New declaration.
1698         * lib/exp2f.c: New file.
1699         * m4/exp2f.m4: New file.
1700         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
1701         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
1702         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
1703         * modules/exp2f: New file.
1704         * tests/test-math-c++.cc: Check the declaration of exp2f.
1705         * doc/posix-functions/exp2f.texi: Mention the new module and the
1706         IRIX problem.
1707
1708 2012-03-08  Bruno Haible  <bruno@clisp.org>
1709
1710         Tests for module 'exp2'.
1711         * modules/exp2-tests: New file.
1712         * tests/test-exp2.c: New file.
1713         * tests/test-exp2.h: New file.
1714
1715         New module 'exp2'.
1716         * lib/math.in.h (exp2): New declaration.
1717         * lib/exp2.c: New file.
1718         * m4/exp2.m4: New file.
1719         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
1720         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
1721         REPLACE_EXP2.
1722         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
1723         REPLACE_EXP2.
1724         * modules/exp2: New file.
1725         * tests/test-math-c++.cc: Check the declaration of exp2.
1726         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
1727         and OpenBSD problems.
1728
1729 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1730
1731         savedir: fix comment typo
1732         * lib/savedir.c (savedirstream): Fix typo in comment.
1733
1734 2012-03-08  Bruno Haible  <bruno@clisp.org>
1735
1736         test-readtokens.c: use const; remove unwarranted cast
1737         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
1738
1739 2012-03-08  Bruno Haible  <bruno@clisp.org>
1740
1741         fmal: Avoid compilation error on AIX.
1742         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
1743         AIX 5.2..7.1.
1744
1745 2012-03-08  Bruno Haible  <bruno@clisp.org>
1746
1747         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
1748         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
1749         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
1750         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
1751         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
1752         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
1753         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
1754
1755 2012-03-08  Bruno Haible  <bruno@clisp.org>
1756
1757         remainderf: Override buggy system function on IRIX 6.5.
1758         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
1759         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
1760         when it exists.
1761         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
1762
1763 2012-03-08  Jim Meyering  <meyering@redhat.com>
1764
1765         test-readtokens.c: avoid const-related compilation warnings
1766         * tests/test-readtokens.c: Avoid const-related compilation warnings.
1767
1768 2012-03-07  Jim Meyering  <meyering@redhat.com>
1769             Bruno Haible  <bruno@clisp.org>
1770
1771         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
1772         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
1773         tests/randomd.c.
1774         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
1775         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
1776         tests/randoml.c.
1777         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
1778
1779 2012-03-07  Bruno Haible  <bruno@clisp.org>
1780
1781         expm1l: Avoid compilation error on AIX.
1782         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
1783         AIX 5.2..7.1.
1784
1785 2012-03-07  Bruno Haible  <bruno@clisp.org>
1786
1787         expm1l: Don't override undeclared system function on IRIX 6.5.
1788         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
1789         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
1790         it exists. Set HAVE_DECL_EXPM1L.
1791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
1792         HAVE_EXPM1L.
1793         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
1794         HAVE_EXPM1L.
1795         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
1796
1797 2012-03-07  Bruno Haible  <bruno@clisp.org>
1798
1799         remainderl: Don't override undeclared system function on IRIX 6.5.
1800         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
1801         HAVE_REMAINDERL.
1802         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
1803         declared when it exists. Set HAVE_DECL_REMAINDERL.
1804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
1805         not HAVE_REMAINDERL.
1806         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
1807         HAVE_REMAINDERL.
1808         * doc/posix-functions/remainderl.texi: Mention missing declaration
1809         problem.
1810
1811 2012-03-07  Bruno Haible  <bruno@clisp.org>
1812
1813         rintf: Don't override undeclared system function on IRIX 6.5.
1814         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
1815         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
1816         exists. Set HAVE_DECL_RINTF.
1817         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
1818         HAVE_RINTF.
1819         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
1820         HAVE_RINTF.
1821         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
1822
1823 2012-03-07  Bruno Haible  <bruno@clisp.org>
1824
1825         roundl: Avoid compilation error on AIX.
1826         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
1827         AIX 5.2..7.1.
1828
1829 2012-03-07  Bruno Haible  <bruno@clisp.org>
1830
1831         roundl: Don't override undeclared system function on IRIX 6.5.
1832         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
1833         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
1834         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1835         * modules/roundl (configure.ac): For replacement code, test
1836         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1837         (Depends-on): Update conditions.
1838         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
1839
1840 2012-03-07  Bruno Haible  <bruno@clisp.org>
1841
1842         roundf: Don't override undeclared system function on IRIX 6.5.
1843         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
1844         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
1845         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1846         * modules/roundf (configure.ac): For replacement code, test
1847         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1848         (Depends-on): Update conditions.
1849         * modules/roundf-ieee (Depends-on): Update conditions.
1850         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
1851
1852 2012-03-07  Bruno Haible  <bruno@clisp.org>
1853
1854         round: Don't override undeclared system function on IRIX 6.5.
1855         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
1856         argument.
1857         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
1858         also when it is not declared. Set HAVE_ROUND. For replacement code,
1859         test HAVE_ROUND, not HAVE_DECL_ROUND.
1860         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
1861         not HAVE_DECL_ROUND.
1862         (Depends-on): Update conditions.
1863         * modules/round-ieee (Depends-on): Update conditions.
1864         * doc/posix-functions/round.texi: Mention the IRIX problem.
1865
1866 2012-03-07  Bruno Haible  <bruno@clisp.org>
1867
1868         copysignf: Don't override undeclared system function on IRIX 6.5.
1869         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
1870         HAVE_COPYSIGNF.
1871         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
1872         declared when it exists. Set HAVE_DECL_COPYSIGNF.
1873         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
1874         not HAVE_COPYSIGNF.
1875         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
1876         HAVE_COPYSIGNF.
1877         * doc/posix-functions/copysignf.texi: Mention missing declaration
1878         problem.
1879
1880 2012-03-07  Jim Meyering  <meyering@redhat.com>
1881
1882         readtokens: add tests
1883         * modules/readtokens-tests: New file.
1884         * tests/test-readtokens.c: New file.
1885
1886 2012-03-07  Jim Meyering  <meyering@redhat.com>
1887
1888         quotearg: the module must now include quote.h
1889         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
1890         So must the module.
1891         * modules/quotearg (Files): Add quote.h.
1892
1893 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
1894
1895         readtokens: avoid core dumps with unusual calling patterns
1896         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
1897         * lib/readtokens.c: Include limits.h.
1898         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
1899         (readtoken): Don't cache the delimiters; the cache code was buggy
1900         if !delim && saved_delim, or if the new n_delim differs from the old.
1901         Also, it wasn't thread-safe.
1902
1903 2012-03-07  Bruno Haible  <bruno@clisp.org>
1904
1905         quote: Adhere to common module description layout.
1906         * modules/quote (Makefile.am): Add back empty section.
1907
1908 2012-03-06  Akim Demaille  <demaille@gostai.com>
1909
1910         quote: fuse into quotearg
1911         This patch is made for the benefit of Bison.
1912         quote does not leave the choice of the quoting style to the user.
1913         quoting_style provides poor customizability, yet quoting_options,
1914         which is very rich, is hidden inside quotearg.c.  So in order to
1915         allow quote customization, move its implementation to quotearg.c.
1916         * lib/quote.c: Remove.
1917         * modules/quote: Adjust.
1918         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
1919         warning: provide all the members of literal structs.
1920         (quote_quoting_options): New.
1921         (quote, quote_n): Import implementation from quote.c.
1922         * lib/quote.h: Import the comments from quote.c.
1923         (quote_quoting_options): New.
1924
1925 2012-03-06  Bruno Haible  <bruno@clisp.org>
1926
1927         Tests for module 'expm1l-ieee'.
1928         * modules/expm1l-ieee-tests: New file.
1929         * tests/test-expm1l-ieee.c: New file.
1930
1931         New module 'expm1l-ieee'.
1932         * modules/expm1l-ieee: New file.
1933
1934         Tests for module 'expm1f-ieee'.
1935         * modules/expm1f-ieee-tests: New file.
1936         * tests/test-expm1f-ieee.c: New file.
1937
1938         New module 'expm1f-ieee'.
1939         * modules/expm1f-ieee: New file.
1940
1941         Tests for module 'expm1-ieee'.
1942         * modules/expm1-ieee-tests: New file.
1943         * tests/test-expm1-ieee.c: New file.
1944         * tests/test-expm1-ieee.h: New file.
1945
1946         New module 'expm1-ieee'.
1947         * modules/expm1-ieee: New file.
1948         * m4/expm1-ieee.m4: New file.
1949         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
1950         whether expm1 works with a minus zero argument. Replace it if not.
1951         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
1952         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
1953         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
1954         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
1955         (Depends-on): Update conditions.
1956         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
1957         AIX problem.
1958
1959 2012-03-06  Bruno Haible  <bruno@clisp.org>
1960
1961         Work around expm1f bug on IRIX 6.5.
1962         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
1963         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
1964         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
1965         not work.
1966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
1967         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
1968         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
1969         (Depends-on): Update conditions.
1970         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
1971
1972 2012-03-06  Bruno Haible  <bruno@clisp.org>
1973
1974         Tests for module 'expm1l'.
1975         * modules/expm1l-tests: New file.
1976         * tests/test-expm1l.c: New file.
1977
1978         New module 'expm1l'.
1979         * lib/math.in.h (expm1l): New declaration.
1980         * lib/expm1l.c: New file.
1981         * m4/expm1l.m4: New file.
1982         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
1983         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
1984         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
1985         * modules/expm1l: New file.
1986         * tests/test-math-c++.cc: Check the declaration of expm1l.
1987         * doc/posix-functions/expm1l.texi: Mention the new module.
1988
1989 2012-03-06  Bruno Haible  <bruno@clisp.org>
1990
1991         Tests for module 'expm1f'.
1992         * modules/expm1f-tests: New file.
1993         * tests/test-expm1f.c: New file.
1994
1995         New module 'expm1f'.
1996         * lib/math.in.h (expm1f): New declaration.
1997         * lib/expm1f.c: New file.
1998         * m4/expm1f.m4: New file.
1999         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2000         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2001         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2002         * modules/expm1f: New file.
2003         * tests/test-math-c++.cc: Check the declaration of expm1f.
2004         * doc/posix-functions/expm1f.texi: Mention the new module.
2005
2006 2012-03-06  Bruno Haible  <bruno@clisp.org>
2007
2008         Tests for module 'expm1'.
2009         * modules/expm1-tests: New file.
2010         * tests/test-expm1.c: New file.
2011         * tests/test-expm1.h: New file.
2012
2013         New module 'expm1'.
2014         * lib/math.in.h (expm1): New declaration.
2015         * lib/expm1.c: New file.
2016         * m4/expm1.m4: New file.
2017         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2018         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2019         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2020         * modules/expm1: New file.
2021         * tests/test-math-c++.cc: Check the declaration of expm1.
2022         * doc/posix-functions/expm1.texi: Mention the new module.
2023
2024 2012-03-06  Bruno Haible  <bruno@clisp.org>
2025
2026         math: Ensure declarations of math functions.
2027         * modules/acosf (Depends-on): Add 'extensions'.
2028         * modules/asinf (Depends-on): Likewise.
2029         * modules/atan2f (Depends-on): Likewise.
2030         * modules/atanf (Depends-on): Likewise.
2031         * modules/cbrt (Depends-on): Likewise.
2032         * modules/cbrtf (Depends-on): Likewise.
2033         * modules/cbrtl (Depends-on): Likewise.
2034         * modules/copysignf (Depends-on): Likewise.
2035         * modules/copysignl (Depends-on): Likewise.
2036         * modules/cosf (Depends-on): Likewise.
2037         * modules/coshf (Depends-on): Likewise.
2038         * modules/expf (Depends-on): Likewise.
2039         * modules/fabsf (Depends-on): Likewise.
2040         * modules/fabsl (Depends-on): Likewise.
2041         * modules/fmaf (Depends-on): Likewise.
2042         * modules/fmal (Depends-on): Likewise.
2043         * modules/fmodf (Depends-on): Likewise.
2044         * modules/fmodl (Depends-on): Likewise.
2045         * modules/frexpf (Depends-on): Likewise.
2046         * modules/frexpl (Depends-on): Likewise.
2047         * modules/hypot (Depends-on): Likewise.
2048         * modules/hypotf (Depends-on): Likewise.
2049         * modules/hypotl (Depends-on): Likewise.
2050         * modules/ldexpf (Depends-on): Likewise.
2051         * modules/ldexpl (Depends-on): Likewise.
2052         * modules/log10f (Depends-on): Likewise.
2053         * modules/log10l (Depends-on): Likewise.
2054         * modules/log1p (Depends-on): Likewise.
2055         * modules/logb (Depends-on): Likewise.
2056         * modules/logf (Depends-on): Likewise.
2057         * modules/modff (Depends-on): Likewise.
2058         * modules/modfl (Depends-on): Likewise.
2059         * modules/powf (Depends-on): Likewise.
2060         * modules/remainderf (Depends-on): Likewise.
2061         * modules/remainderl (Depends-on): Likewise.
2062         * modules/rintf (Depends-on): Likewise.
2063         * modules/rintl (Depends-on): Likewise.
2064         * modules/sinf (Depends-on): Likewise.
2065         * modules/sinhf (Depends-on): Likewise.
2066         * modules/sqrtf (Depends-on): Likewise.
2067         * modules/tanf (Depends-on): Likewise.
2068         * modules/tanhf (Depends-on): Likewise.
2069         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2070         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2071         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2072         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2073         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2074         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2075         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2076         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2077         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2078         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2079         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2080         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2081         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2082         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2083         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2084         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2085         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2086         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2087         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2088         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2089         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2090         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2091         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2092         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2093         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2094         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
2095         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
2096         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2097         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
2098         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
2099         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2100         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
2101         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2102         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2103         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2104         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2105         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
2106         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
2107         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
2108         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
2109         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
2110
2111 2012-03-06  Bruno Haible  <bruno@clisp.org>
2112
2113         math: Update module names in warnings.
2114         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
2115         tanl): Use specific module name in warn-on-use warning.
2116
2117 2012-03-06  Bruno Haible  <bruno@clisp.org>
2118
2119         expl: Simplify computation.
2120         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
2121
2122 2012-03-05  Bruno Haible  <bruno@clisp.org>
2123
2124         exp* tests: More tests.
2125         * tests/test-exp.h: New file.
2126         * tests/test-exp.c: Include <float.h> and test-exp.h.
2127         (main): Invoke test_function.
2128         * tests/test-expf.c: Include <float.h> and test-exp.h.
2129         (main): Invoke test_function.
2130         * tests/test-expl.c: Include <float.h> and test-exp.h.
2131         (main): Invoke test_function.
2132         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
2133         (Makefile.am): Add randomd.c to test_exp_SOURCES.
2134         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
2135         (Makefile.am): Add randomf.c to test_expf_SOURCES.
2136         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
2137         (Depends-on): Add 'float'.
2138         (Makefile.am): Add randoml.c to test_expl_SOURCES.
2139
2140         expl: Fix precision of computed result.
2141         * lib/expl.c: Completely rewritten.
2142         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
2143         (Maintainer): Add me.
2144         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
2145
2146 2012-03-05  Bruno Haible  <bruno@clisp.org>
2147
2148         cbrt* tests: More tests.
2149         * tests/test-cbrt.h: New file.
2150         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
2151         (main): Invoke test_function.
2152         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
2153         (main): Invoke test_function.
2154         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
2155         (main): Invoke test_function.
2156         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
2157         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
2158         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
2159         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
2160         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
2161         (Depends-on): Add 'float'.
2162         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
2163
2164 2012-03-05  Bruno Haible  <bruno@clisp.org>
2165
2166         hypot* tests: More tests.
2167         * tests/test-hypot.h: New file, partially extracted from
2168         tests/test-hypotl.c.
2169         * tests/test-hypot.c: Include test-hypot.h.
2170         (main): Invoke test_function.
2171         * tests/test-hypotf.c: Include test-hypot.h.
2172         (main): Invoke test_function.
2173         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
2174         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
2175         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
2176         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
2177         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
2178         tests/randomf.c.
2179         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
2180         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
2181         tests/randoml.c.
2182         (Depends-on): Add 'fpucw', 'float'.
2183         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
2184
2185 2012-03-05  Bruno Haible  <bruno@clisp.org>
2186
2187         fpucw: Doc about FreeBSD.
2188         * lib/fpucw.h: Mention FreeBSD in comments.
2189
2190 2012-03-04  Bruno Haible  <bruno@clisp.org>
2191
2192         sqrt* tests: More tests.
2193         * tests/test-sqrt.h: New file.
2194         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
2195         (main): Invoke test_function.
2196         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
2197         (main): Invoke test_function.
2198         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
2199         (main): Invoke test_function.
2200         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
2201         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
2202         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
2203         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
2204         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
2205         (Depends-on): Add 'float'.
2206         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
2207
2208 2012-03-04  Bruno Haible  <bruno@clisp.org>
2209
2210         remainder* tests: More tests.
2211         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
2212         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
2213         (main): Invoke test_function.
2214         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
2215         (main): Invoke test_function.
2216         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
2217         (main): Invoke test_function.
2218         * modules/remainder-tests (Files): Add tests/test-remainder.h,
2219         tests/randomd.c.
2220         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
2221         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
2222         tests/randomf.c.
2223         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
2224         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
2225         tests/randoml.c.
2226         (Depends-on): Add 'float'.
2227         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
2228
2229 2012-03-04  Bruno Haible  <bruno@clisp.org>
2230
2231         remainder, remainderf, remainderl: Fix computation for large quotients.
2232         * lib/remainder.c: Completely rewritten.
2233         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
2234         USE_FLOAT.
2235         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
2236         USE_LONG_DOUBLE.
2237         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
2238         isnand, isinf. Remove round, fma.
2239         * modules/remainderf (Files): Add lib/remainder.c.
2240         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
2241         Remove roundf, fmaf.
2242         * modules/remainderl (Files): Add lib/remainder.c.
2243         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
2244         isinf. Remove roundl, fmal.
2245         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
2246         REMAINDER_LIBM.
2247         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
2248         REMAINDERF_LIBM.
2249         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
2250         REMAINDERL_LIBM.
2251
2252 2012-03-04  Bruno Haible  <bruno@clisp.org>
2253
2254         fmod* tests: More tests.
2255         * tests/test-fmod.h (my_ldexp): New function.
2256         (test_function): Reduce amount of random numbers to test. Add tests
2257         of very large quotients x / y.
2258         * tests/test-fmod.c (MAX_EXP): New macro.
2259         * tests/test-fmodf.c (MAX_EXP): Likewise.
2260         * tests/test-fmodl.c (MAX_EXP): Likewise.
2261
2262 2012-03-04  Bruno Haible  <bruno@clisp.org>
2263
2264         fmod, fmodl: Fix computation for large quotients x / y.
2265         * lib/fmod.c: Completely rewritten.
2266         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
2267         USE_LONG_DOUBLE.
2268         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
2269         isnand. Remove fma.
2270         * modules/fmodl (Files): Add lib/fmod.c.
2271         (Depends-on): Add float, isfinite, signbit, fabsl,
2272         frexpl, ldexpl, isnanl. Remove fma.
2273         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
2274         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
2275
2276 2012-03-03  Bruno Haible  <bruno@clisp.org>
2277
2278         fmod* tests: More tests.
2279         * tests/test-fmod.h: New file.
2280         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
2281         (main): Invoke test_function.
2282         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
2283         (main): Invoke test_function.
2284         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
2285         (main): Invoke test_function.
2286         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
2287         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
2288         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
2289         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
2290         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
2291         (Depends-on): Add 'float'.
2292         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
2293
2294 2012-03-03  Bruno Haible  <bruno@clisp.org>
2295
2296         rint* tests: More tests.
2297         * tests/test-rint.h: New file, partially extracted from
2298         tests/test-rintl.c.
2299         * tests/test-rint.c: Include test-rint.h.
2300         (main): Invoke test_function.
2301         * tests/test-rintf.c: Include test-rint.h.
2302         (main): Invoke test_function.
2303         * tests/test-rintl.c: Include test-rint.h.
2304         (main): Invoke test_function.
2305         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
2306         (Makefile.am): Add randomd.c to test_rint_SOURCES.
2307         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
2308         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
2309         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
2310         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
2311
2312 2012-03-03  Bruno Haible  <bruno@clisp.org>
2313
2314         modf* tests: More tests.
2315         * tests/test-modf.h: New file.
2316         * tests/test-modf.c: Include <float.h> and test-modf.h.
2317         (main): Invoke test_function.
2318         * tests/test-modff.c: Include <float.h> and test-modf.h.
2319         (main): Invoke test_function.
2320         * tests/test-modfl.c: Include <float.h> and test-modf.h.
2321         (main): Invoke test_function.
2322         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
2323         (Makefile.am): Add randomd.c to test_modf_SOURCES.
2324         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
2325         (Makefile.am): Add randomf.c to test_modff_SOURCES.
2326         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
2327         (Depends-on): Add 'float'.
2328         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
2329
2330 2012-03-03  Bruno Haible  <bruno@clisp.org>
2331
2332         fabs* tests: More tests.
2333         * tests/test-fabs.h: New file, partially extracted from
2334         tests/test-fabsl.c.
2335         * tests/test-fabs.c (RANDOM): New macro.
2336         * tests/test-fabsf.c (RANDOM): New macro.
2337         * tests/test-fabsl.c (RANDOM): New macro.
2338         * modules/fabs-tests (Files): Add tests/randomd.c.
2339         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
2340         * modules/fabsf-tests (Files): Add tests/randomf.c.
2341         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
2342         * modules/fabsl-tests (Files): Add tests/randoml.c.
2343         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
2344
2345 2012-03-03  Bruno Haible  <bruno@clisp.org>
2346
2347         ldexp* tests: More tests.
2348         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
2349         * tests/test-ldexp.c (RANDOM): New macro.
2350         * tests/test-ldexpf.c (RANDOM): New macro.
2351         * tests/test-ldexpl.c (RANDOM): New macro.
2352         * modules/ldexp-tests (Files): Add tests/randomd.c.
2353         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
2354         * modules/ldexpf-tests (Files): Add tests/randomf.c.
2355         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
2356         * modules/ldexpl-tests (Files): Add tests/randoml.c.
2357         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
2358
2359 2012-03-03  Bruno Haible  <bruno@clisp.org>
2360
2361         frexp* tests: More tests.
2362         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
2363         * tests/test-frexp.c (RANDOM): New macro.
2364         * tests/test-frexpf.c (RANDOM): New macro.
2365         * tests/test-frexpl.c (RANDOM): New macro.
2366         * modules/frexp-tests (Files): Add tests/randomd.c.
2367         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
2368         * modules/frexpf-tests (Files): Add tests/randomf.c.
2369         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
2370         * modules/frexpl-tests (Files): Add tests/randoml.c.
2371         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
2372
2373 2012-03-03  Bruno Haible  <bruno@clisp.org>
2374
2375         Support for pseudo-random numbers in tests.
2376         * tests/randomf.c: New file.
2377         * tests/randomd.c: New file.
2378         * tests/randoml.c: New file.
2379         * tests/macros.h (randomf, randomd, randoml): New declarations.
2380
2381 2012-03-03  Bruno Haible  <bruno@clisp.org>
2382
2383         frexp* tests: Refactor.
2384         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
2385         * tests/test-frexp.c: Include and use it.
2386         * tests/test-frexpf.c: Likewise.
2387         * tests/test-frexpl.c: Likewise.
2388         * modules/frexp-tests (Files): Add tests/test-frexp.h.
2389         * modules/frexpf-tests (Files): Likewise.
2390         * modules/frexpl-tests (Files): Likewise.
2391
2392 2012-03-02  Jim Meyering  <meyering@redhat.com>
2393
2394         maint: don't specify XZ_OPT=-9ev in dist-related rule
2395         Using xz's -9 option is warranted only if you have a very large
2396         tarball (see xz's documentation for the sizes vs. presets), and
2397         requires 64MiB of memory at decompression time.
2398         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
2399         Automake's default of just "-e" is fine.  Override on a
2400         per-package basis by setting XZ_OPT e.g., in cfg.mk.
2401
2402 2012-03-01  Eric Blake  <eblake@redhat.com>
2403
2404         maint.mk: allow announcement for non-gnulib project
2405         * maint.mk (announcement): Skip gnulib version if not used.
2406
2407 2012-03-01  Jim Meyering  <meyering@redhat.com>
2408
2409         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
2410         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
2411         envvar settings cannot interfere.  Otherwise, setting envvars like
2412         prohibit=foo require=bar, etc. would cause spurious test failures.
2413
2414 2012-03-01  Eric Blake  <eblake@redhat.com>
2415
2416         maint.mk: add per-line exclusions to prohibitions
2417         * maint.mk (_sc_search_regexp): Add $exclude parameter.
2418         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2419         (sc_const_long_option): Use it.
2420
2421 2012-03-01  Bruno Haible  <bruno@clisp.org>
2422
2423         Tests for module 'expl-ieee'.
2424         * modules/expl-ieee-tests: New file.
2425         * tests/test-expl-ieee.c: New file.
2426
2427         New module 'expl-ieee'.
2428         * modules/expl-ieee: New file.
2429
2430         Tests for module 'exp-ieee'.
2431         * modules/exp-ieee-tests: New file.
2432         * tests/test-exp-ieee.c: New file.
2433
2434         New module 'exp-ieee'.
2435         * modules/exp-ieee: New file.
2436
2437         Tests for module 'expf-ieee'.
2438         * modules/expf-ieee-tests: New file.
2439         * tests/test-expf-ieee.c: New file.
2440         * tests/test-exp-ieee.h: New file.
2441
2442         New module 'expf-ieee'.
2443         * modules/expf-ieee: New file.
2444
2445 2012-02-29  Bruno Haible  <bruno@clisp.org>
2446
2447         cbrtl-ieee: Work around test failure on IRIX 6.5.
2448         * m4/cbrtl-ieee.m4: New file.
2449         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
2450         test whether cbrtl works with a minus zero argument. Replace it if not.
2451         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
2452         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
2453         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
2454         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
2455         (Depends-on): Update conditions.
2456         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
2457         m4/signbit.m4.
2458         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
2459         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
2460         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
2461
2462         Tests for module 'cbrtl-ieee'.
2463         * modules/cbrtl-ieee-tests: New file.
2464         * tests/test-cbrtl-ieee.c: New file.
2465
2466         New module 'cbrtl-ieee'.
2467         * modules/cbrtl-ieee: New file.
2468
2469         Tests for module 'cbrt-ieee'.
2470         * modules/cbrt-ieee-tests: New file.
2471         * tests/test-cbrt-ieee.c: New file.
2472
2473         New module 'cbrt-ieee'.
2474         * modules/cbrt-ieee: New file.
2475
2476         Tests for module 'cbrtf-ieee'.
2477         * modules/cbrtf-ieee-tests: New file.
2478         * tests/test-cbrtf-ieee.c: New file.
2479         * tests/test-cbrt-ieee.h: New file.
2480
2481         New module 'cbrtf-ieee'.
2482         * modules/cbrtf-ieee: New file.
2483
2484 2012-02-29  Bruno Haible  <bruno@clisp.org>
2485
2486         cbrtf: Work around bug in IRIX 6.5 system function.
2487         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
2488         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
2489         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
2490         work.
2491         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
2492         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
2493         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
2494         (Depends-on): Update conditions.
2495         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
2496
2497 2012-02-29  Bruno Haible  <bruno@clisp.org>
2498
2499         Tests for module 'cbrtl'.
2500         * modules/cbrtl-tests: New file.
2501         * tests/test-cbrtl.c: New file.
2502
2503         New module 'cbrtl'.
2504         * lib/math.in.h (cbrtl): New declaration.
2505         * lib/cbrtl.c: New file.
2506         * m4/cbrtl.m4: New file.
2507         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
2508         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
2509         HAVE_DECL_CBRTL.
2510         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
2511         HAVE_DECL_CBRTL.
2512         * modules/cbrtl: New file.
2513         * tests/test-math-c++.cc: Check the declaration of cbrtl.
2514         * doc/posix-functions/cbrtl.texi: Mention the new module.
2515
2516 2012-02-29  Bruno Haible  <bruno@clisp.org>
2517
2518         Tests for module 'cbrtf'.
2519         * modules/cbrtf-tests: New file.
2520         * tests/test-cbrtf.c: New file.
2521
2522         New module 'cbrtf'.
2523         * lib/math.in.h (cbrtf): New declaration.
2524         * lib/cbrtf.c: New file.
2525         * m4/cbrtf.m4: New file.
2526         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
2527         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
2528         HAVE_DECL_CBRTF.
2529         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
2530         HAVE_DECL_CBRTF.
2531         * modules/cbrtf: New file.
2532         * tests/test-math-c++.cc: Check the declaration of cbrtf.
2533         * doc/posix-functions/cbrtf.texi: Mention the new module.
2534
2535 2012-02-29  Bruno Haible  <bruno@clisp.org>
2536
2537         cbrt: Provide replacement on MSVC and Minix.
2538         * lib/math.in.h (cbrt): New declaration.
2539         * lib/cbrt.c: New file.
2540         * m4/cbrt.m4: New file.
2541         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
2542         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
2543         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
2544         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
2545         (Depends-on): Add dependencies.
2546         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
2547         * tests/test-math-c++.cc: Check the declaration of cbrt.
2548         * doc/posix-functions/cbrt.texi: Mention that the module provides a
2549         replacement.
2550
2551 2012-02-29  Bruno Haible  <bruno@clisp.org>
2552
2553         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
2554         * m4/hypotl-ieee.m4: New file.
2555         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
2556         test whether hypotl works with mixed NaN and Infinity arguments.
2557         Replace it if not.
2558         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
2559         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
2560         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
2561         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
2562         (Depends-on): Update conditions.
2563         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
2564         (Depends-on): Add hypot-ieee.
2565         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
2566         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
2567
2568         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
2569         * m4/hypotf-ieee.m4: New file.
2570         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
2571         test whether hypotf works with mixed NaN and Infinity arguments.
2572         Replace it if not.
2573         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
2574         (Depends-on): Add hypot-ieee.
2575         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
2576         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
2577
2578         hypot-ieee: Work around test failure on OSF/1 and native Windows.
2579         * lib/math.in.h (hypot): New declaration.
2580         * lib/hypot.c: New file.
2581         * m4/hypot-ieee.m4: New file.
2582         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
2583         whether hypot works with mixed NaN and Infinity arguments. Replace it
2584         if not.
2585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
2586         REPLACE_HYPOT.
2587         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
2588         * modules/hypot (Files): Add lib/hypot.c.
2589         (Depends-on): Add dependencies.
2590         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
2591         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
2592         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
2593         * tests/test-math-c++.cc: Check the declaration of hypot.
2594         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
2595
2596         Tests for module 'hypotl-ieee'.
2597         * modules/hypotl-ieee-tests: New file.
2598         * tests/test-hypotl-ieee.c: New file.
2599
2600         New module 'hypotl-ieee'.
2601         * modules/hypotl-ieee: New file.
2602
2603         Tests for module 'hypot-ieee'.
2604         * modules/hypot-ieee-tests: New file.
2605         * tests/test-hypot-ieee.c: New file.
2606
2607         New module 'hypot-ieee'.
2608         * modules/hypot-ieee: New file.
2609
2610         Tests for module 'hypotf-ieee'.
2611         * modules/hypotf-ieee-tests: New file.
2612         * tests/test-hypotf-ieee.c: New file.
2613         * tests/test-hypot-ieee.h: New file.
2614
2615         New module 'hypotf-ieee'.
2616         * modules/hypotf-ieee: New file.
2617
2618 2012-02-29  Bruno Haible  <bruno@clisp.org>
2619
2620         Remove unused variables.
2621         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
2622         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2623         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
2624         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2625
2626 2012-02-29  Eric Blake  <eblake@redhat.com>
2627
2628         termios: fix pid_t always, not just for tcgetsid
2629         * doc/posix-headers/termios.texi (termios.h): Mention problem.
2630         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
2631         just when building tcgetsid.
2632
2633 2012-02-29  Bruno Haible  <bruno@clisp.org>
2634
2635         Tests for module 'hypotl'.
2636         * modules/hypotl-tests: New file.
2637         * tests/test-hypotl.c: New file.
2638
2639         New module 'hypotl'.
2640         * lib/math.in.h (hypotl): New declaration.
2641         * lib/hypotl.c: New file.
2642         * m4/hypotl.m4: New file.
2643         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2644         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
2645         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
2646         * modules/hypotl: New file.
2647         * tests/test-math-c++.cc: Check the hypotl declaration.
2648         * doc/posix-functions/hypotl.texi: Mention the new module.
2649
2650 2012-02-29  Eric Blake  <eblake@redhat.com>
2651
2652         tcgetsid: fix cygwin header bug
2653         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
2654
2655         docs: update cygwin progress
2656         * doc/posix-functions/llround.texi (llround): Added in cygwin
2657         1.7.8.
2658         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
2659         * doc/glibc-functions/program_invocation_name.texi
2660         (program_invocation_name): Likewise.
2661         * doc/glibc-functions/program_invocation_short_name.texi
2662         (program_invocation_short_name): Likewise.
2663         * doc/glibc-functions/madvise.texi (madvise): Likewise.
2664         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
2665         Likewise.
2666         * doc/posix-functions/pthread_spin_destroy.texi
2667         (pthread_spin_destroy): Added in cygwin 1.7.10.
2668         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
2669         Likewise.
2670         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
2671         Likewise.
2672         * doc/posix-functions/pthread_spin_trylock.texi
2673         (pthread_spin_trylock): Likewise.
2674         * doc/posix-functions/pthread_spin_unlock.texi
2675         (pthread_spin_unlock): Likewise.
2676         * doc/posix-functions/pthread_setschedprio.texi
2677         (pthread_setschedprio): Likewise.
2678         * doc/posix-functions/pthread_attr_getstack.texi
2679         (pthread_attr_getstack): Likewise.
2680         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
2681         (pthread_attr_getstackaddr): Likewise.
2682         * doc/glibc-functions/pthread_getattr_np.texi
2683         (pthread_getattr_np): Likewise.
2684         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
2685         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
2686         * doc/posix-functions/clock_settime.texi (clock_settime):
2687         Likewise.
2688         * doc/posix-functions/pthread_attr_getguardsize.texi
2689         (pthread_attr_getguardsize): Likewise.
2690         * doc/posix-functions/pthread_attr_setguardsize.texi
2691         (pthread_attr_setguardsize): Likewise.
2692         * doc/posix-functions/pthread_attr_setstack.texi
2693         (pthread_attr_setstack): Likewise.
2694         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
2695         (pthread_attr_setstackaddr): Likewise.
2696         * doc/posix-functions/clock_getcpuclockid.texi
2697         (clock_getcpuclockid): Likewise.
2698         * doc/posix-functions/pthread_getcpuclockid.texi
2699         (pthread_getcpuclockid): Likewise.
2700         * doc/glibc-functions/error.texi (error): Likewise.
2701         * doc/glibc-functions/error_at_line.texi (error_at_line):
2702         Likewise.
2703         * doc/glibc-functions/error_message_count.texi
2704         (error_message_count): Likewise.
2705         * doc/glibc-functions/error_one_per_line.texi
2706         (error_one_per_line): Likewise.
2707         * doc/glibc-functions/error_print_progname.texi
2708         (error_print_progname): Likewise.
2709         * doc/posix-functions/pthread_condattr_getclock.texi
2710         (pthread_condattr_getclock): Likewise.
2711         * doc/posix-functions/pthread_condattr_setclock.texi
2712         (pthread_condattr_setclock): Likewise.
2713         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
2714         Likewise.
2715         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
2716         * doc/glibc-functions/getpt.texi (getpt): Likewise.
2717         * doc/glibc-functions/get_current_dir_name.texi
2718         (get_current_dir_name): Likewise.
2719         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
2720         Likewise.
2721         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
2722         wrong return type.
2723         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
2724         1.7.11.
2725
2726 2012-02-29  Bruno Haible  <bruno@clisp.org>
2727
2728         Tests for module 'hypotf'.
2729         * modules/hypotf-tests: New file.
2730         * tests/test-hypotf.c: New file.
2731
2732         New module 'hypotf'.
2733         * lib/math.in.h (hypotf): New declaration.
2734         * lib/hypotf.c: New file.
2735         * m4/hypotf.m4: New file.
2736         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
2738         REPLACE_HYPOTF.
2739         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
2740         REPLACE_HYPOTF.
2741         * modules/hypotf: New file.
2742         * tests/test-math-c++.cc: Check the hypotf declaration.
2743         * doc/posix-functions/hypotf.texi: Mention the new module.
2744
2745         hypot: Prepare for hypotf module.
2746         * m4/hypot.m4: New file.
2747         * modules/hypot (Files): Add m4/hypot.m4.
2748         (configure.ac): Invoke gl_FUNC_HYPOT.
2749
2750 2012-02-29  Bruno Haible  <bruno@clisp.org>
2751
2752         hypot tests: More tests.
2753         * tests/test-hypot.c: Include <float.h>.
2754         (main): Add tests about overflow and underflow.
2755
2756 2012-02-29  Bruno Haible  <bruno@clisp.org>
2757
2758         math code: Add comments.
2759         * lib/acosl.c: Add comment about related glibc source files.
2760         * lib/asinl.c: Likewise.
2761         * lib/atanl.c: Likewise.
2762         * lib/expl.c: Likewise.
2763         * lib/logl.c: Likewise.
2764         * lib/sincosl.c: Likewise.
2765         * lib/sinl.c: Likewise.
2766         * lib/tanl.c: Likewise.
2767         * lib/trigl.c: Likewise.
2768         * lib/cosl.c: Likewise. Fix comments.
2769
2770 2012-02-28  Bruno Haible  <bruno@clisp.org>
2771
2772         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
2773         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
2774         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
2775         HUGE_VALL are defined.
2776         (numeric_equald): Renamed from numeric_equal.
2777         (numeric_equalf, numeric_equall): New functions.
2778         (main): Check also HUGE_VALF, HUGE_VALL.
2779         * modules/math-tests (Files): Add tests/macros.h.
2780         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
2781         HUGE_VALL.
2782
2783 2012-02-28  Bruno Haible  <bruno@clisp.org>
2784
2785         doc: Move ISO C11 feature notes into POSIX chapters.
2786         * doc/posix-functions/aligned_alloc.texi: Renamed from
2787         doc/glibc-functions/aligned_alloc.texi.
2788         * doc/posix-functions/quick_exit.texi: Renamed from
2789         doc/glibc-functions/quick_exit.texi.
2790         * doc/posix-headers/uchar.texi: Renamed from
2791         doc/glibc-headers/uchar.texi.
2792         * doc/posix-functions/c16rtomb.texi: Renamed from
2793         doc/glibc-functions/c16rtomb.texi.
2794         * doc/posix-functions/c32rtomb.texi: Renamed from
2795         doc/glibc-functions/c32rtomb.texi.
2796         * doc/posix-functions/mbrtoc16.texi: Renamed from
2797         doc/glibc-functions/mbrtoc16.texi.
2798         * doc/posix-functions/mbrtoc32.texi: Renamed from
2799         doc/glibc-functions/mbrtoc32.texi.
2800         * doc/gnulib.texi: Update.
2801         (Glibc uchar.h): Remove section.
2802         Suggested by Eric Blake.
2803
2804 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
2805
2806         stdnoreturn: port to MSVC better
2807         MSVC standard headers use __declspec(noreturn), so #define noreturn
2808         to empty on that platform.  Reported by Bruno Haible in
2809         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
2810         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
2811         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
2812
2813 2012-02-28  Bruno Haible  <bruno@clisp.org>
2814
2815         doc: Mention new glibc headers and functions.
2816         * doc/glibc-headers/uchar.texi: New file.
2817         * doc/glibc-functions/aligned_alloc.texi: New file.
2818         * doc/glibc-functions/c16rtomb.texi: New file.
2819         * doc/glibc-functions/c32rtomb.texi: New file.
2820         * doc/glibc-functions/clock_adjtime.texi: New file.
2821         * doc/glibc-functions/fanotify_init.texi: New file.
2822         * doc/glibc-functions/fanotify_mark.texi: New file.
2823         * doc/glibc-functions/inet6_opt_append.texi: New file.
2824         * doc/glibc-functions/inet6_opt_find.texi: New file.
2825         * doc/glibc-functions/inet6_opt_finish.texi: New file.
2826         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
2827         * doc/glibc-functions/inet6_opt_init.texi: New file.
2828         * doc/glibc-functions/inet6_opt_next.texi: New file.
2829         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
2830         * doc/glibc-functions/inet6_rth_add.texi: New file.
2831         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
2832         * doc/glibc-functions/inet6_rth_init.texi: New file.
2833         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
2834         * doc/glibc-functions/inet6_rth_segments.texi: New file.
2835         * doc/glibc-functions/inet6_rth_space.texi: New file.
2836         * doc/glibc-functions/login.texi: New file.
2837         * doc/glibc-functions/mbrtoc16.texi: New file.
2838         * doc/glibc-functions/mbrtoc32.texi: New file.
2839         * doc/glibc-functions/name_to_handle_at.texi: New file.
2840         * doc/glibc-functions/ntp_gettimex.texi: New file.
2841         * doc/glibc-functions/open_by_handle_at.texi: New file.
2842         * doc/glibc-functions/prlimit.texi: New file.
2843         * doc/glibc-functions/process_vm_readv.texi: New file.
2844         * doc/glibc-functions/process_vm_writev.texi: New file.
2845         * doc/glibc-functions/recvmmsg.texi: New file.
2846         * doc/glibc-functions/scandirat.texi: New file.
2847         * doc/glibc-functions/sendmmsg.texi: New file.
2848         * doc/glibc-functions/setns.texi: New file.
2849         * doc/glibc-functions/timespec_get.texi: New file.
2850         * doc/gnulib.texi: Include them.
2851         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
2852         sections.
2853         Reported by Eric Blake.
2854
2855 2012-02-28  Bruno Haible  <bruno@clisp.org>
2856
2857         Avoid compilation errors with MSVC option -fp:strict.
2858         * lib/floor.c: Use MSVC specific pragma fenv_access.
2859         * lib/ceil.c: Likewise.
2860         * lib/trunc.c: Likewise.
2861         * lib/round.c: Likewise.
2862         * lib/rint.c: Likewise.
2863         * lib/fma.c: Likewise.
2864         * lib/integer_length.c: Likewise.
2865         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2866         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2867         * tests/test-floor2.c: Likewise.
2868         * tests/test-floorf2.c: Likewise.
2869         * tests/test-ceil2.c: Likewise.
2870         * tests/test-ceilf2.c: Likewise.
2871         * tests/test-trunc2.c: Likewise.
2872         * tests/test-truncf2.c: Likewise.
2873         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2874
2875 2012-02-27  Bruno Haible  <bruno@clisp.org>
2876
2877         Tests for module 'sqrtl-ieee'.
2878         * modules/sqrtl-ieee-tests: New file.
2879         * tests/test-sqrtl-ieee.c: New file.
2880
2881         New module 'sqrtl-ieee'.
2882         * modules/sqrtl-ieee: New file.
2883
2884         Tests for module 'sqrt-ieee'.
2885         * modules/sqrt-ieee-tests: New file.
2886         * tests/test-sqrt-ieee.c: New file.
2887
2888         New module 'sqrt-ieee'.
2889         * modules/sqrt-ieee: New file.
2890
2891         Tests for module 'sqrtf-ieee'.
2892         * modules/sqrtf-ieee-tests: New file.
2893         * tests/test-sqrtf-ieee.c: New file.
2894         * tests/test-sqrt-ieee.h: New file.
2895
2896         New module 'sqrtf-ieee'.
2897         * modules/sqrtf-ieee: New file.
2898
2899 2012-02-27  Bruno Haible  <bruno@clisp.org>
2900
2901         remainderl-ieee: Work around test failure on OSF/1.
2902         * m4/remainderl-ieee.m4: New file.
2903         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
2904         present, test whether remainderl works with a zero second argument.
2905         Replace it if not.
2906         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
2907         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
2908         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
2909         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
2910         (Depends-on): Update conditions.
2911         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
2912         (Depends-on): Add remainder-ieee.
2913         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
2914         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
2915         module.
2916
2917         remainderf-ieee: Work around test failure on OSF/1.
2918         * m4/remainderf-ieee.m4: New file.
2919         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
2920         present, test whether remainderf works with a zero second argument.
2921         Replace it if not.
2922         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
2923         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
2924         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
2925         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
2926         (Depends-on): Update conditions.
2927         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
2928         (Depends-on): Add remainder-ieee.
2929         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
2930         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
2931         module.
2932
2933         remainder-ieee: Work around test failure on OSF/1.
2934         * m4/remainder-ieee.m4: New file.
2935         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
2936         present, test whether remainder works with a zero second argument.
2937         Replace it if not.
2938         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
2939         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
2940         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
2941         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
2942         (Depends-on): Update dependencies.
2943         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
2944         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
2945         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
2946
2947         Tests for module 'remainderl-ieee'.
2948         * modules/remainderl-ieee-tests: New file.
2949         * tests/test-remainderl-ieee.c: New file.
2950
2951         New module 'remainderl-ieee'.
2952         * modules/remainderl-ieee: New file.
2953
2954         Tests for module 'remainder-ieee'.
2955         * modules/remainder-ieee-tests: New file.
2956         * tests/test-remainder-ieee.c: New file.
2957
2958         New module 'remainder-ieee'.
2959         * modules/remainder-ieee: New file.
2960
2961         Tests for module 'remainderf-ieee'.
2962         * modules/remainderf-ieee-tests: New file.
2963         * tests/test-remainderf-ieee.c: New file.
2964         * tests/test-remainder-ieee.h: New file.
2965
2966         New module 'remainderf-ieee'.
2967         * modules/remainderf-ieee: New file.
2968
2969 2012-02-27  Bruno Haible  <bruno@clisp.org>
2970
2971         modff, modfl: Fix configure syntax error.
2972         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
2973         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2974
2975 2012-02-27  Bruno Haible  <bruno@clisp.org>
2976
2977         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
2978         * m4/fmodl-ieee.m4: New file.
2979         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
2980         whether fmodl works with zero arguments. Replace it if not.
2981         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
2982         (Depends-on): Add fmod-ieee.
2983         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
2984         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
2985
2986         fmodf-ieee: Work around test failure on OSF/1.
2987         * m4/fmodf-ieee.m4: New file.
2988         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
2989         whether fmodf works with zero arguments. Replace it if not.
2990         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
2991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
2992         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
2993         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
2994         (Depends-on): Update dependencies.
2995         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
2996         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
2997         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
2998
2999         fmodf-ieee: Work around test failure on MSVC 9.
3000         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3001         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3002
3003         fmod-ieee: Work around test failures on OSF/1, mingw.
3004         * m4/fmod-ieee.m4: New file.
3005         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3006         whether fmod works with zero arguments. Replace it if not.
3007         * lib/math.in.h (fmod): New declaration.
3008         * lib/fmod.c: New file.
3009         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3010         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3011         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3012         * modules/fmod (Files): Add lib/fmod.c.
3013         (Depends-on): Add math, isinf, trunc, fma.
3014         (configure.ac): Arrange to compile lib/fmod.c if needed.
3015         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3016         m4/signbit.m4.
3017         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3018         * tests/test-math-c++.cc: Check the declaration of fmod.
3019         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3020
3021         fmodl-ieee: Fix test failures.
3022         * lib/fmodl.c (fmodl): Treat Inf specially.
3023         * modules/fmodl (Depends-on): Add isinf.
3024
3025         Tests for module 'fmodl-ieee'.
3026         * modules/fmodl-ieee-tests: New file.
3027         * tests/test-fmodl-ieee.c: New file.
3028
3029         New module 'fmodl-ieee'.
3030         * modules/fmodl-ieee: New file.
3031
3032         Tests for module 'fmod-ieee'.
3033         * modules/fmod-ieee-tests: New file.
3034         * tests/test-fmod-ieee.c: New file.
3035
3036         New module 'fmod-ieee'.
3037         * modules/fmod-ieee: New file.
3038
3039         Tests for module 'fmodf-ieee'.
3040         * modules/fmodf-ieee-tests: New file.
3041         * tests/test-fmodf-ieee.c: New file.
3042         * tests/test-fmod-ieee.h: New file.
3043
3044         New module 'fmodf-ieee'.
3045         * modules/fmodf-ieee: New file.
3046
3047 2012-02-27  Bruno Haible  <bruno@clisp.org>
3048
3049         Tests for module 'rintl-ieee'.
3050         * modules/rintl-ieee-tests: New file.
3051         * tests/test-rintl-ieee.c: New file.
3052
3053         New module 'rintl-ieee'.
3054         * modules/rintl-ieee: New file.
3055
3056         Tests for module 'rint-ieee'.
3057         * modules/rint-ieee-tests: New file.
3058         * tests/test-rint-ieee.c: New file.
3059
3060         New module 'rint-ieee'.
3061         * modules/rint-ieee: New file.
3062
3063         Tests for module 'rintf-ieee'.
3064         * modules/rintf-ieee-tests: New file.
3065         * tests/test-rintf-ieee.c: New file.
3066         * tests/test-rint-ieee.h: New file.
3067
3068         New module 'rintf-ieee'.
3069         * modules/rintf-ieee: New file.
3070
3071 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3072
3073         regex: re_search etc. should return -2 when memory exhausted
3074         This bug was uncovered when testing 'grep'.  Without the fix,
3075         re_search and friends return -1 when memory is exhausted, but -1
3076         means no match, and this causes grep to falsely report no-match
3077         instead of memory-exhaustion.  See
3078         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3079         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3080         trouble; this can occur if re_search_internal ran out of memory.
3081
3082 2012-02-26  Bruno Haible  <bruno@clisp.org>
3083
3084         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3085         * m4/modfl-ieee.m4: New file.
3086         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3087         whether modfl works with Inf. Replace it if not.
3088         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3089         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3090         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3091         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3092         (Depends-on): Update dependencies.
3093         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
3094         m4/signbit.m4.
3095         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
3096         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
3097
3098         modfl-ieee: Fix dependencies.
3099         * modules/modfl-ieee (Depends-on): Add modf-ieee.
3100
3101         modfl-ieee: Fix test failures.
3102         * lib/modfl.c (modfl): Treat NaN and Inf specially.
3103         * modules/modfl (Depends-on): Add isfinite, isinf.
3104
3105         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
3106         * m4/modff-ieee.m4: New file.
3107         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
3108         whether modff works with NaN and Inf. Replace it if not.
3109         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
3110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
3111         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
3112         * modules/modff (configure.ac): Consider REPLACE_MODFF.
3113         (Depends-on): Update dependencies.
3114         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
3115         m4/signbit.m4.
3116         (Depends-on): Add modf-ieee.
3117         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
3118         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
3119
3120         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
3121         * m4/modf-ieee.m4: New file.
3122         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
3123         whether modf works with NaN and Inf. Replace it if not.
3124         * lib/math.in.h (modf): New declaration.
3125         * lib/modf.c: New file.
3126         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
3127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
3128         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
3129         * modules/modf (Files): Add lib/modf.c.
3130         (Depends-on): Add math, isfinite, trunc, isinf.
3131         (configure.ac): Addrange to compile lib/modf.c if needed.
3132         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
3133         m4/signbit.m4.
3134         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
3135         * tests/test-math-c++.cc: Check the declaration of modf.
3136         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
3137
3138         Tests for module 'modfl-ieee'.
3139         * modules/modfl-ieee-tests: New file.
3140         * tests/test-modfl-ieee.c: New file.
3141
3142         New module 'modfl-ieee'.
3143         * modules/modfl-ieee: New file.
3144
3145         Tests for module 'modf-ieee'.
3146         * modules/modf-ieee-tests: New file.
3147         * tests/test-modf-ieee.c: New file.
3148
3149         New module 'modf-ieee'.
3150         * modules/modf-ieee: New file.
3151
3152         Tests for module 'modff-ieee'.
3153         * modules/modff-ieee-tests: New file.
3154         * tests/test-modff-ieee.c: New file.
3155         * tests/test-modf-ieee.h: New file.
3156
3157         New module 'modff-ieee'.
3158         * modules/modff-ieee: New file.
3159
3160 2012-02-26  Bruno Haible  <bruno@clisp.org>
3161
3162         Tests for module 'fabsl-ieee'.
3163         * modules/fabsl-ieee-tests: New file.
3164         * tests/test-fabsl-ieee.c: New file.
3165
3166         New module 'fabsl-ieee'.
3167         * modules/fabsl-ieee: New file.
3168
3169         Tests for module 'fabs-ieee'.
3170         * modules/fabs-ieee-tests: New file.
3171         * tests/test-fabs-ieee.c: New file.
3172
3173         New module 'fabs-ieee'.
3174         * modules/fabs-ieee: New file.
3175
3176         Tests for module 'fabsf-ieee'.
3177         * modules/fabsf-ieee-tests: New file.
3178         * tests/test-fabsf-ieee.c: New file.
3179         * tests/test-fabs-ieee.h: New file.
3180
3181         New module 'fabsf-ieee'.
3182         * modules/fabsf-ieee: New file.
3183
3184 2012-02-26  Bruno Haible  <bruno@clisp.org>
3185
3186         Tests for module 'fmal-ieee'.
3187         * modules/fmal-ieee-tests: New file.
3188         * tests/test-fmal-ieee.c: New file.
3189
3190         New module 'fmal-ieee'.
3191         * modules/fmal-ieee: New file.
3192
3193         Tests for module 'fma-ieee'.
3194         * modules/fma-ieee-tests: New file.
3195         * tests/test-fma-ieee.c: New file.
3196
3197         New module 'fma-ieee'.
3198         * modules/fma-ieee: New file.
3199
3200         Tests for module 'fmaf-ieee'.
3201         * modules/fmaf-ieee-tests: New file.
3202         * tests/test-fmaf-ieee.c: New file.
3203         * tests/test-fma-ieee.h: New file.
3204
3205         New module 'fmaf-ieee'.
3206         * modules/fmaf-ieee: New file.
3207
3208 2012-02-26  Bruno Haible  <bruno@clisp.org>
3209
3210         Tests for module 'ldexpl-ieee'.
3211         * modules/ldexpl-ieee-tests: New file.
3212         * tests/test-ldexpl-ieee.c: New file.
3213
3214         New module 'ldexpl-ieee'.
3215         * modules/ldexpl-ieee: New file.
3216
3217         Tests for module 'ldexp-ieee'.
3218         * modules/ldexp-ieee-tests: New file.
3219         * tests/test-ldexp-ieee.c: New file.
3220
3221         New module 'ldexp-ieee'.
3222         * modules/ldexp-ieee: New file.
3223
3224         Tests for module 'ldexpf-ieee'.
3225         * modules/ldexpf-ieee-tests: New file.
3226         * tests/test-ldexpf-ieee.c: New file.
3227         * tests/test-ldexp-ieee.h: New file.
3228
3229         New module 'ldexpf-ieee'.
3230         * modules/ldexpf-ieee: New file.
3231
3232 2012-02-26  Bruno Haible  <bruno@clisp.org>
3233
3234         Refactor frexp*-ieee tests.
3235         * tests/test-frexp-ieee.h: New file.
3236         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
3237         (main): Just call test_function.
3238         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
3239         (main): Just call test_function.
3240         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
3241         (main): Just call test_function.
3242         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
3243         * modules/frexp-ieee-tests (Files): Likewise.
3244         * modules/frexpl-ieee-tests (Files): Likewise.
3245
3246         Tests for module 'frexpl-ieee'.
3247         * modules/frexpl-ieee-tests: New file.
3248         * tests/test-frexpl-ieee.c: New file.
3249
3250         New module 'frexpl-ieee'.
3251         * modules/frexpl-ieee: New file.
3252
3253         Tests for module 'frexp-ieee'.
3254         * modules/frexp-ieee-tests: New file.
3255         * tests/test-frexp-ieee.c: New file.
3256
3257         New module 'frexp-ieee'.
3258         * modules/frexp-ieee: New file.
3259
3260         Tests for module 'frexpf-ieee'.
3261         * modules/frexpf-ieee-tests: New file.
3262         * tests/test-frexpf-ieee.c: New file.
3263
3264         New module 'frexpf-ieee'.
3265         * modules/frexpf-ieee: New file.
3266
3267 2012-02-26  Bruno Haible  <bruno@clisp.org>
3268
3269         roundl-ieee tests: More tests.
3270         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3271         (main): Add tests for [MX] shaded specification in POSIX.
3272         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3273         (Depends-on): Add isnanl-nolibm.
3274
3275         round-ieee tests: More tests.
3276         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3277         (main): Add tests for [MX] shaded specification in POSIX.
3278         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3279         (Depends-on): Add isnand-nolibm.
3280
3281         roundf-ieee tests: More tests.
3282         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3283         (main): Add tests for [MX] shaded specification in POSIX.
3284         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3285         (Depends-on): Add isnanf-nolibm.
3286
3287         truncl-ieee tests: More tests.
3288         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3289         (main): Add tests for [MX] shaded specification in POSIX.
3290         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3291         (Depends-on): Add isnanl-nolibm.
3292
3293         trunc-ieee tests: More tests.
3294         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3295         (main): Add tests for [MX] shaded specification in POSIX.
3296         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3297         (Depends-on): Add isnand-nolibm.
3298
3299         truncf-ieee tests: More tests.
3300         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3301         (main): Add tests for [MX] shaded specification in POSIX.
3302         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3303         (Depends-on): Add isnanf-nolibm.
3304
3305         ceill-ieee tests: More tests.
3306         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3307         (main): Add tests for [MX] shaded specification in POSIX.
3308         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3309         (Depends-on): Add isnanl-nolibm.
3310
3311         ceil-ieee tests: More tests.
3312         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3313         (main): Add tests for [MX] shaded specification in POSIX.
3314         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3315         (Depends-on): Add isnand-nolibm.
3316
3317         ceilf-ieee tests: More tests.
3318         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3319         (main): Add tests for [MX] shaded specification in POSIX.
3320         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3321         (Depends-on): Add isnanf-nolibm.
3322
3323         floorl-ieee tests: More tests.
3324         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3325         (main): Add tests for [MX] shaded specification in POSIX.
3326         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3327         (Depends-on): Add isnanl-nolibm.
3328
3329         floor-ieee tests: More tests.
3330         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3331         (main): Add tests for [MX] shaded specification in POSIX.
3332         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3333         (Depends-on): Add isnand-nolibm.
3334
3335         floorf-ieee tests: More tests.
3336         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3337         (main): Add tests for [MX] shaded specification in POSIX.
3338         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3339         (Depends-on): Add isnanf-nolibm.
3340
3341 2012-02-26  Bruno Haible  <bruno@clisp.org>
3342
3343         fpieee: More comments.
3344         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
3345
3346 2012-02-25  Bruno Haible  <bruno@clisp.org>
3347
3348         Tests for module 'log10l'.
3349         * modules/log10l-tests: New file.
3350         * tests/test-log10l.c: New file.
3351         * tests/test-math-c++.cc: Check the declaration of log10l.
3352
3353         New module 'log10l'.
3354         * lib/math.in.h (log10l): New declaration.
3355         * lib/log10l.c: New file.
3356         * m4/log10l.m4: New file.
3357         * modules/log10l: New file.
3358         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
3359         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
3360         HAVE_DECL_LOG10L.
3361         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
3362         HAVE_DECL_LOG10L.
3363         * doc/posix-functions/log10l.texi: Mention the new module.
3364
3365 2012-02-25  Bruno Haible  <bruno@clisp.org>
3366
3367         fmodl, remainder*: Avoid wrong results due to rounding errors.
3368         * lib/fmodl.c (fmodl): Correct the result if it is not within the
3369         expected bounds.
3370         * lib/remainderf.c (remainderf): Likewise.
3371         * lib/remainder.c (remainder): Likewise.
3372         * lib/remainderl.c (remainderl): Likewise.
3373
3374 2012-02-25  Bruno Haible  <bruno@clisp.org>
3375
3376         Tests for module 'remainderl'.
3377         * modules/remainderl-tests: New file.
3378         * tests/test-remainderl.c: New file.
3379         * tests/test-math-c++.cc: Check the declaration of remainderl.
3380
3381         New module 'remainderl'.
3382         * lib/math.in.h (remainderl): New declaration.
3383         * lib/remainderl.c: New file.
3384         * m4/remainderl.m4: New file.
3385         * modules/remainderl: New file.
3386         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
3387         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
3388         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
3389         HAVE_REMAINDERL.
3390         * doc/posix-functions/remainderl.texi: Mention the new module.
3391
3392 2012-02-25  Bruno Haible  <bruno@clisp.org>
3393
3394         Tests for module 'remainderf'.
3395         * modules/remainderf-tests: New file.
3396         * tests/test-remainderf.c: New file.
3397         * tests/test-math-c++.cc: Check the declaration of remainderf.
3398
3399         New module 'remainderf'.
3400         * lib/math.in.h (remainderf): New declaration.
3401         * lib/remainderf.c: New file.
3402         * m4/remainderf.m4: New file.
3403         * modules/remainderf: New file.
3404         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
3405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
3406         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
3407         HAVE_REMAINDERF.
3408         * doc/posix-functions/remainderf.texi: Mention the new module.
3409
3410 2012-02-25  Bruno Haible  <bruno@clisp.org>
3411
3412         remainder: Support for MSVC.
3413         * lib/math.in.h (remainder): New declaration.
3414         * lib/remainder.c: New file.
3415         * m4/remainder.m4: New file.
3416         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
3417         (Depends-on): Add math, round, fma.
3418         (configure.ac): Use results of gl_FUNC_REMAINDER.
3419         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
3420         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
3421         HAVE_DECL_REMAINDER.
3422         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
3423         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
3424         * tests/test-math-c++.cc: Check the declaration of remainder.
3425         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
3426         problems are fixed.
3427
3428 2012-02-25  Bruno Haible  <bruno@clisp.org>
3429
3430         Tests for module 'fmodl'.
3431         * modules/fmodl-tests: New file.
3432         * tests/test-fmodl.c: New file.
3433         * tests/test-math-c++.cc: Check the declaration of fmodl.
3434
3435         New module 'fmodl'.
3436         * lib/math.in.h (fmodl): New declaration.
3437         * lib/fmodl.c: New file.
3438         * m4/fmodl.m4: New file.
3439         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
3440         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
3441         REPLACE_FMODL.
3442         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
3443         REPLACE_FMODL.
3444         * modules/fmodl: New file.
3445         * doc/posix-functions/fmodl.texi: Mention the new module.
3446
3447 2012-02-25  Bruno Haible  <bruno@clisp.org>
3448
3449         Tests for module 'modfl'.
3450         * modules/modfl-tests: New file.
3451         * tests/test-modfl.c: New file.
3452         * tests/test-math-c++.cc: Check the declaration of modfl.
3453
3454         New module 'modfl'.
3455         * lib/math.in.h (modfl): New declaration.
3456         * lib/modfl.c: New file.
3457         * m4/modfl.m4: New file.
3458         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
3459         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
3460         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
3461         * modules/modfl: New file.
3462         * doc/posix-functions/modfl.texi: Mention the new module.
3463
3464 2012-02-25  Bruno Haible  <bruno@clisp.org>
3465
3466         Tests for module 'fabsl'.
3467         * modules/fabsl-tests: New file.
3468         * tests/test-fabsl.c: New file.
3469         * tests/test-math-c++.cc: Check the declaration of fabsl.
3470
3471         New module 'fabsl'.
3472         * lib/math.in.h (fabsl): New declaration.
3473         * lib/fabsl.c: New file.
3474         * m4/fabsl.m4: New file.
3475         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
3476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
3477         REPLACE_FABSL.
3478         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
3479         REPLACE_FABSL.
3480         * modules/fabsl: New file.
3481         * doc/posix-functions/fabsl.texi: Mention the new module.
3482
3483 2012-02-25  Bruno Haible  <bruno@clisp.org>
3484
3485         fabs tests: More tests.
3486         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
3487         (zero): New variable.
3488         (main): Add tests for signed zero.
3489         * modules/fabs-tests (Files): Add tests/minus-zero.h.
3490
3491         fabsf tests: More tests.
3492         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
3493         (zero): New variable.
3494         (main): Add tests for signed zero.
3495         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
3496
3497 2012-02-24  Bruno Haible  <bruno@clisp.org>
3498
3499         atanl: Provide function definition on MSVC.
3500         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
3501         function pointer.
3502         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
3503
3504 2012-02-24  Bruno Haible  <bruno@clisp.org>
3505
3506         acosl: Provide function definition on MSVC.
3507         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
3508         function pointer.
3509         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
3510
3511 2012-02-24  Bruno Haible  <bruno@clisp.org>
3512
3513         asinl: Provide function definition on MSVC.
3514         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
3515         function pointer.
3516         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
3517
3518 2012-02-24  Bruno Haible  <bruno@clisp.org>
3519
3520         tanl: Provide function definition on MSVC.
3521         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
3522         function pointer.
3523         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
3524
3525 2012-02-24  Bruno Haible  <bruno@clisp.org>
3526
3527         cosl: Provide function definition on MSVC.
3528         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
3529         function pointer.
3530         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
3531
3532 2012-02-24  Bruno Haible  <bruno@clisp.org>
3533
3534         sinl: Provide function definition on MSVC.
3535         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
3536         function pointer.
3537         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
3538
3539 2012-02-24  Bruno Haible  <bruno@clisp.org>
3540
3541         logl: Provide function definition on MSVC.
3542         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
3543         function pointer.
3544         * lib/math.in.h (logl): Undefine if it does not exist as a function.
3545
3546 2012-02-24  Bruno Haible  <bruno@clisp.org>
3547
3548         expl: Provide function definition on MSVC.
3549         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
3550         function pointer.
3551         * lib/math.in.h (expl): Undefine if it does not exist as a function.
3552
3553 2012-02-24  Bruno Haible  <bruno@clisp.org>
3554
3555         sqrtl: Provide function definition on MSVC.
3556         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
3557         a function pointer.
3558         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
3559
3560 2012-02-24  Bruno Haible  <bruno@clisp.org>
3561
3562         ceill: Provide function definition on MSVC.
3563         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
3564         used as a function pointer.
3565         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
3566
3567 2012-02-24  Bruno Haible  <bruno@clisp.org>
3568
3569         floorl: Provide function definition on MSVC.
3570         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
3571         used as a function pointer.
3572         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
3573
3574 2012-02-24  Bruno Haible  <bruno@clisp.org>
3575
3576         ceilf: Provide function definition on MSVC.
3577         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
3578         used as a function pointer.
3579         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
3580
3581 2012-02-24  Bruno Haible  <bruno@clisp.org>
3582
3583         floorf: Provide function definition on MSVC.
3584         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
3585         used as a function pointer.
3586         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
3587
3588 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3589
3590         stdnoreturn: new module
3591         This implements a replacement for C11's <stdnoreturn.h>.
3592         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
3593         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
3594         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
3595         * tests/test-stdnoreturn.c: New files.
3596
3597 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
3598
3599         regex: fix false multibyte matches in some regular expressions
3600         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
3601         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
3602         * lib/regex_internal.c (re_string_skip_chars):
3603         Fix miscomputation of remain_len that may cause incomplete
3604         multi-byte character and false match.
3605
3606 2012-02-24  Jim Meyering  <meyering@redhat.com>
3607
3608         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
3609         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
3610         uses with "==" *before* the call, e.g., 0 == strcmp (...)
3611         Remove now-unnecessary str''cmp obfuscation.
3612         Suggested by Akim Demaille.
3613
3614 2012-02-24  Bruno Haible  <bruno@clisp.org>
3615
3616         streq: Rename macro.
3617         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
3618         * NEWS: Mention the change.
3619         * lib/mbrtowc.c (mbrtowc): Update.
3620         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
3621         * lib/wcwidth.c (wcwidth): Update.
3622         Suggested by Akim Demaille and Jim Meyering.
3623
3624 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3625
3626         regex: fix typo in definition of MIN
3627         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
3628         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
3629
3630 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3631             Bruno Haible  <bruno@clisp.org>
3632
3633         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
3634         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
3635         entries into a stack-allocated buffer directly.
3636         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
3637
3638 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3639             Bruno Haible  <bruno@clisp.org>
3640
3641         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
3642
3643          - There were several instances of this pattern:
3644
3645              for (;;) {
3646                n = acl (f, GETACLCNT, 0, NULL);
3647                [ allocate an array A of size N ]
3648                if (acl (f, GETACL, n, a) == n)
3649                  break;
3650              }
3651
3652            This loop might never terminate if some other process is constantly
3653            manipulating the file's ACL.  The loop should be rewritten to
3654            terminate.
3655
3656          - The acl (... GETACLNT ...) call is merely an optimization; its value
3657            is merely a hint as to how big to make the array.  A better
3658            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
3659            and just guess a reasonably-big size, growing the size and trying
3660            again if it's not large enough.  This guarantees termination, and
3661            saves a system call.
3662
3663         * lib/acl-internal.h: Include <limits.h>.
3664         (MIN, SIZE_MAX): New macros.
3665         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
3666         a stack-allocated buffer, and use malloc if it does not fit. Don't
3667         use GETACLCNT.
3668         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3669
3670 2012-02-19  Bruno Haible  <bruno@clisp.org>
3671
3672         acl: Fix endless loop on Solaris with vxfs.
3673         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
3674         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
3675         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3676         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
3677         * tests/test-sameacls.c (main)[Solaris]: Likewise.
3678         Reported by Bill Jones in
3679         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
3680
3681 2012-02-19  Bruno Haible  <bruno@clisp.org>
3682
3683         acl: Fix copy-acl test failure on Solaris 11 2011-11.
3684         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
3685         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
3686         that this function returns 0 in some more cases.
3687
3688 2012-02-19  Bruno Haible  <bruno@clisp.org>
3689
3690         acl: Update doc references.
3691         * doc/acl-resources.txt: Update links to Solaris documentation.
3692
3693 2012-02-19  Bruno Haible  <bruno@clisp.org>
3694
3695         Fix test failure in many locales on Solaris 11.
3696         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
3697         'tr' arguments.
3698         * tests/test-pipe-filter-ii1.c (main): Likewise.
3699         * build-aux/bootstrap (check_versions): Run 'tr' command with range
3700         expressions in the C locale.
3701         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
3702         * m4/host-os.m4 (gl_HOST_OS): Likewise.
3703
3704 2012-02-19  Bruno Haible  <bruno@clisp.org>
3705
3706         gnulib-tool: Improve usage message.
3707         * gnulib-tool (func_usage): Move doc of --help and --version to the
3708         section "Operation modes".
3709
3710 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
3711
3712         README-release: make it easier to execute commands
3713         * top/README-release: break commands out on to separate lines.
3714
3715 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3716
3717         GNUmakefile: simplify detection of unconfigured trees
3718         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
3719         whether the tree make is being run from is already configured or
3720         not.  Related simplifications.
3721
3722 2012-02-13  Simon Josefsson  <simon@josefsson.org>
3723
3724         * gnulib-tool (func_usage): Document --help and --version.
3725
3726 2012-02-11  Jim Meyering  <meyering@redhat.com>
3727
3728         bootstrap: don't exit 0 upon gnulib-tool failure
3729         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
3730         its exit status, not 0.
3731
3732 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
3733
3734         README-release: various improvements
3735         * top/README-release: Give a command to push changes for the
3736         release.  Add "distcheck" to list of other pre-release checks.
3737         Fix instance of "make stable" which should be "make TYPE".
3738
3739 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3740
3741         maint: replace FSF snail-mail addresses with URLs
3742         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
3743         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
3744         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
3745         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
3746         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
3747         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
3748         * lib/check-version.c, lib/check-version.h, lib/config.charset:
3749         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
3750         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
3751         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
3752         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
3753         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
3754         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
3755         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
3756         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
3757         * lib/glthread/thread.c, lib/glthread/thread.h:
3758         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
3759         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
3760         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
3761         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
3762         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
3763         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
3764         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
3765         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
3766         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
3767         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
3768         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
3769         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
3770         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
3771         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
3772         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
3773         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
3774         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
3775         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
3776         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
3777         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
3778         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
3779         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
3780         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
3781         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
3782         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
3783         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
3784         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
3785         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
3786         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
3787         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
3788         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
3789         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
3790         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
3791         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
3792         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
3793         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
3794         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
3795         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
3796         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
3797         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
3798         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
3799         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
3800         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
3801         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
3802         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
3803         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
3804         * tests/test-poll.c, tests/test-quotearg-simple.c:
3805         * tests/test-quotearg.c, tests/test-quotearg.h:
3806         * tests/test-round-ieee.c, tests/test-round1.c:
3807         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
3808         * tests/test-roundl-ieee.c, tests/test-roundl.c:
3809         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
3810         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
3811         * tests/test-strerror.c, tests/test-strerror_r.c:
3812         * tests/test-strsignal.c, tests/test-strverscmp.c:
3813         * tests/test-xmemdup0.c:
3814         Replace FSF snail mail addresses with URLs, as per GNU coding
3815         standards.  See glibc bug
3816         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
3817
3818 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3819
3820         README-release: capitalize a word and split a line
3821         * top/README-release: Fix punctuation and spacing.
3822
3823 2012-02-08  Akim Demaille  <demaille@gostai.com>
3824
3825         fatal-signal: use C prototypes (with explicit void).
3826         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
3827         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
3828
3829 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3830
3831         regex: spelling fix
3832         * lib/regexec.c: spelling fix
3833
3834         regex: rely on stdint.h for SIZE_MAX
3835         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
3836
3837 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3838
3839         regex: merge glibc changes
3840
3841         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
3842         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
3843         (init_word_char): Work even if bitset words are not exactly 32 or
3844         64 bits wide.  Don't assume there are no padding bits.
3845         * lib/regex.c [_LIBC]: Do not include <config.h>.
3846         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
3847         and -Wtype-limits.
3848         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
3849         needless disagreement with glibc.  All uses changed.  Define it to
3850         1 only if _GNU_SOURCE, to match glibc.
3851         (_REG_RM_NAME): Remove; no longer needed, since the names in
3852         question are now all protected by __USE_GNU.
3853         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
3854         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
3855         * lib/regex_internal.h (MIN): New macro.
3856
3857         2012-01-03 Ulrich Drepper <drepper@gmail.com>
3858         * lib/regcomp.c (init_word_char): Optimize regex a bit.
3859
3860         2011-12-30 Jakub Jelinek <jakub@redhat.com>
3861         * lib/regex_internal.c (re_string_fetch_byte_case):
3862         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
3863         is miscompiled, and it turns out it is because of an incorrect
3864         attribute on re_string_fetch_byte_case.  Unlike
3865         re_string_peek_byte_case, this one is really not pure, it modifies
3866         memory (increments pstr->cur_idx), and with the pure attribute GCC
3867         assumed it doesn't and it cached the presumed value of
3868         regexp->cur_idx in a variable across the
3869          for (;; ++i)
3870            {
3871              if (i >= BRACKET_NAME_BUF_SIZE)
3872                return REG_EBRACK;
3873              if (token->type == OP_OPEN_CHAR_CLASS)
3874                ch = re_string_fetch_byte_case (regexp);
3875              else
3876                ch = re_string_fetch_byte (regexp);
3877              if (re_string_eoi(regexp))
3878                return REG_EBRACK;
3879              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
3880                break;
3881              elem->opr.name[i] = ch;
3882            }
3883
3884         2011-11-29 Andreas Schwab <schwab@redhat.com>
3885         * lib/regcomp.c (build_equiv_class):
3886         Fix access after end of search string in regex matcher.
3887
3888         2011-11-12 Ulrich Drepper <drepper@redhat.com>
3889         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
3890
3891         2011-10-12 Ulrich Drepper <drepper@redhat.com>
3892         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
3893
3894         2011-10-11 Ulrich Drepper <drepper@redhat.com>
3895         * lib/regcomp.c (parse_branch, parse_sub_exp):
3896         More regex memory leak fixes and tests.
3897         (parse_sub_exp, parse_bracket_exp):
3898         Fix memory leak for some invalid regular expressions.
3899
3900         2011-05-28 Ulrich Drepper <drepper@gmail.com>
3901         * lib/regex_internal.c, lib/regexec.c:
3902         Fix unnecessary overallocation due to incomplete character.  When
3903         incomplete characters are found at the end of a string the code
3904         ran amok and allocated lots of memory.  Stricter limits are now in
3905         place.
3906
3907         2011-05-20 Reuben Thomas <rrt@sc3d.org>
3908         * lib/regex.h: Update documentation.
3909
3910         2011-05-16 Aharon Robbins <arnold@skeeve.com>
3911         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
3912
3913         2010-05-05 Andreas Schwab <schwab@redhat.com>
3914         * lib/regexec.c (find_collation_sequence_value):
3915         Fix lookup of collation sequence value during regexp matching.
3916
3917         2010-01-22 Ulrich Drepper <drepper@redhat.com>
3918         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
3919
3920         2008-01-16 Ulrich Drepper <drepper@redhat.com>
3921         * lib/regex.h: Cleanup namespace.
3922
3923         2007-11-26 Ulrich Drepper <drepper@redhat.com>
3924         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
3925
3926         2007-08-26 Ulrich Drepper <drepper@redhat.com>
3927         * lib/regex_internal.h: Prevent some declarations and definitions
3928         to be seen when used in tests.
3929
3930         2005-05-06 Ulrich Drepper <drepper@redhat.com>
3931         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
3932         __libc_lock_* macros if not _LIBC.
3933         (struct re_dfa_t): Add lock.
3934
3935 2012-02-07  Eric Blake  <eblake@redhat.com>
3936
3937         maint.mk: also prohibit lower-case @var@
3938         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
3939         lower case, like @top_srcdir@.
3940
3941 2012-02-04  Eric Blake  <eblake@redhat.com>
3942
3943         canonicalize: avoid uninitialized memory use
3944         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
3945         random '/' left in dest.
3946         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
3947
3948 2012-02-04  Bruno Haible  <bruno@clisp.org>
3949
3950         isatty: Fix test failure of ptsname_r on native Windows.
3951         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
3952         and don't set errno.
3953         (isatty): Test first whether fd is valid. Set errno when returning 0.
3954
3955 2012-02-04  Bruno Haible  <bruno@clisp.org>
3956
3957         spawn-pipe tests: Fix a NULL program name in a diagnostic.
3958         * tests/test-spawn-pipe-main.c: Include progname.h.
3959         (main): Invoke set_program_name.
3960         * modules/spawn-pipe-tests (Depends-on): Add progname.
3961
3962         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
3963         * tests/test-nonblocking-socket-main.c: Include progname.h.
3964         (main): Invoke set_program_name.
3965         * modules/nonblocking-socket-tests (Depends-on): Add progname.
3966
3967         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
3968         * tests/test-nonblocking-pipe-main.c: Include progname.h.
3969         (main): Invoke set_program_name.
3970         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
3971
3972 2012-02-04  Eric Blake  <eblake@redhat.com>
3973
3974         canonicalize-lgpl: fix // handling
3975         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
3976
3977         canonicalize: fix // handling
3978         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
3979         /// to //, since only // is special.
3980
3981 2012-02-04  Bruno Haible  <bruno@clisp.org>
3982
3983         ioctl: Fix test failure on native Windows.
3984         * lib/ioctl.c: Include msvc-nothrow.h.
3985         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
3986
3987 2012-02-04  Bruno Haible  <bruno@clisp.org>
3988
3989         fsync: Avoid test failure on native Windows.
3990         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
3991         read-only.
3992
3993 2012-02-04  Bruno Haible  <bruno@clisp.org>
3994
3995         sys_select: Avoid syntax error on OpenBSD 5.0.
3996         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
3997         currently being included, just include the system's <sys/select.h>.
3998
3999 2012-02-04  Bruno Haible  <bruno@clisp.org>
4000
4001         sys_select: Avoid syntax error on OpenBSD 5.0.
4002         * lib/sys_select.in.h: Include <signal.h> only after the include_next
4003         <sys/select.h>, not before.
4004         Reported by Jiri B <jirib@devio.us>.
4005
4006 2012-02-04  Bruno Haible  <bruno@clisp.org>
4007
4008         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4009         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4010         global variables.
4011         * tests/test-get-rusage-data.c (main): Likewise.
4012         Reported by Jim Meyering.
4013
4014 2012-02-04  Bruno Haible  <bruno@clisp.org>
4015
4016         stdioext: Fix last commit.
4017         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4018
4019 2012-02-03  Bruno Haible  <bruno@clisp.org>
4020
4021         stdioext: Add tentative support for Plan9.
4022         * lib/stdio-impl.h: Include <errno.h>.
4023         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4024         * lib/freadable.c (freadable): Likewise.
4025         * lib/fwritable.c (fwritable): Likewise.
4026         * lib/fbufmode.c (fbufmode): Likewise.
4027         * lib/freading.c (freading): Likewise.
4028         * lib/fwriting.c (fwriting): Likewise.
4029         * lib/freadptr.c (freadptr): Likewise.
4030         * lib/freadseek.c (freadptrinc): Likewise.
4031         * lib/freadahead.c (freadahead): Likewise.
4032         * lib/fpurge.c (fpurge): Likewise.
4033         * lib/fseeko.c (rpl_fseeko): Likewise.
4034         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4035         Reported by Jens Staal <staal1978@gmail.com>.
4036
4037 2012-02-02  Jim Meyering  <meyering@redhat.com>
4038
4039         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4040         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4041         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4042         not even to try to add the attribute.  Instead, add a pragma to suppress
4043         the suggestion/warning.
4044
4045 2012-01-31  Karl Berry  <karl@gnu.org>
4046
4047         setstate doc: typo.
4048         * doc/posix-functions/setstate.texi (setstate): { not (.
4049
4050 2012-01-31  Bruno Haible  <bruno@clisp.org>
4051
4052         popen: Make more robust on Windows.
4053         * lib/popen.c: On native Windows, use the _popen based code even if
4054         HAVE_POPEN is set.
4055         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4056         environment variable on native Windows.
4057
4058 2012-01-30  Bruno Haible  <bruno@clisp.org>
4059
4060         pclose: Fix typo.
4061         * lib/stdio.in.h (pclose): Fix typo in warning message.
4062
4063 2012-01-30  Bruno Haible  <bruno@clisp.org>
4064
4065         doc about getlogin_r, setstate.
4066         * doc/posix-functions/getlogin_r.texi: List the incompatible
4067         declaration problem under "not fixed by gnulib".
4068         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4069         problem on Solaris 11 and other platforms.
4070
4071 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4072             Bruno Haible  <bruno@clisp.org>
4073
4074         poll tests: Make test more robust.
4075         * tests/test-poll.c: Include macros.h.
4076         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4077         return value of various I/O operations.
4078         * modules/poll-tests (Files): Add tests/macros.h.
4079
4080 2012-01-30  Bruno Haible  <bruno@clisp.org>
4081
4082         sys_stat: Fix support for mingw64 and MSVC.
4083         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4084         header files already do it.
4085         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4086         stat itself.
4087         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4088
4089 2012-01-30  Bruno Haible  <bruno@clisp.org>
4090
4091         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4093         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
4094
4095 2012-01-29  Bruno Haible  <bruno@clisp.org>
4096
4097         quotearg: Fix test failure on MacOS X 10.5.
4098         * tests/test-quotearg-simple.c: Include localcharset.h.
4099         (main): If the locale encoding is not ASCII, bypass the tests of
4100         locale_quoting_style and clocale_quoting_style.
4101         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
4102
4103 2012-01-29  Jim Meyering  <meyering@redhat.com>
4104
4105         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
4106         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
4107         detect uses of canonicalize_file_name.
4108
4109 2012-01-28  Bruno Haible  <bruno@clisp.org>
4110
4111         test-framework-sh: Fix test failure with AIX 7.1 diff.
4112         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
4113         in column 1, like 'diff -c' does.
4114         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
4115         whether 'diff -u' is used. Instead, test whether the output contains
4116         some '@' character.
4117
4118 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4119
4120         strtoimax: eliminate need for stdint.h, inttypes.h checks
4121         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
4122         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
4123         the prerequisites for a recently-introduced strtoimax test.
4124         I guess this might cause strtoimax to be replaced when not
4125         strictly necessary on older hosts, but this shouldn't introduce
4126         any bugs and it should make Emacs 'configure' faster on typical
4127         modern hosts.  Problem discovered when importing the latest gnulib
4128         to an Emacs test version.
4129         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
4130
4131 2012-01-28  Bruno Haible  <bruno@clisp.org>
4132
4133         sys_time: Override 'struct timeval' on some native Windows platforms.
4134         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
4135         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
4136         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
4137         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
4138         needs to be overridden.
4139         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
4140         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
4141         * tests/test-sys_select.c: Check that the tv_sec member has the same
4142         size as a 'time_t'.
4143         * tests/test-sys_time.c: Likewise.
4144         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
4145         is set, set also REPLACE_GETTIMEOFDAY.
4146         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
4147         convert the resulting 'struct timeval' before returning.
4148         * lib/select.c: Include <sys/time.h>.
4149         (select, timeval): Undefine at the right place.
4150         * modules/select (Depends-on): Add sys_time.
4151         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
4152         some Windows platforms.
4153         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4154
4155 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4156
4157         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
4158         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
4159         an integer.
4160         * lib/fcntl.c (dupfd): Likewise.
4161         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
4162
4163 2012-01-28  Bruno Haible  <bruno@clisp.org>
4164
4165         fcntl: Avoid compilation error on native Windows.
4166         * modules/fcntl (Depends-on): Add 'close'.
4167
4168 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4169
4170         select, poll, isatty: Avoid warnings on x86_64 mingw64.
4171         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
4172         pointer to an integer.
4173         * lib/poll.c (IsConsoleHandle): Likewise.
4174         * lib/isatty.c (IsConsoleHandle): Likewise.
4175
4176 2012-01-28  Jim Meyering  <meyering@redhat.com>
4177
4178         doc: clarify README-release
4179         * top/README-release: Clarify: you should make a point to have
4180         the latest stable versions of build tools in your PATH, and the
4181         reference to buildreq is solely for its list of tool names, not
4182         for its minimal-functional version numbers.
4183         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
4184
4185         maint.mk: use more readable (yet functionally equivalent) quoting
4186         It is common to quote a single quote in a single quoted string like
4187         this:  '...'\''...'.  Unless you know the idiom, that looks like
4188         gibberish, so prefer to double-quote the string when possible.
4189         Then you can use a more readable, lone single quote: "...'..."
4190         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
4191         "don't" is more readable than the equivalent 'don'\''t'.
4192         (sc_cast_of_x_alloc_return_value): Likewise.
4193         (sc_cast_of_alloca_return_value): Likewise.
4194         (sc_makefile_path_separator_check): Similar: use ":" in '...',
4195         rather than '\'':'\''.
4196
4197 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4198
4199         stdalign: relax _Alignof and tighten _Alignas test
4200         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
4201         as it was too strict: alignof must divide offsetof, but it need
4202         not equal offsetof.  Inspired by Joseph S. Myers's comment
4203         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
4204         Conversely, tighten the _Alignas test a bit, as the resulting
4205         alignment must be exactly 8.
4206
4207 2012-01-27  Bruno Haible  <bruno@clisp.org>
4208
4209         stdalign: Document the last change.
4210         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
4211
4212 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4213
4214         stdalign: check that alignof and offsetof are consistent
4215         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
4216         Problem reported for gnulib by Richard W.M. Jones in
4217         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
4218
4219 2012-01-27  Jim Meyering  <meyering@redhat.com>
4220
4221         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
4222         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
4223         convert a sequence with gaps to the minimal containing range.
4224         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
4225         * tests/test-update-copyright.sh: Test for this.
4226         The FSF confirmed it is ok to do this, assuming there is at
4227         least one significant change per year in the affected range:
4228         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
4229
4230 2012-01-26  Bruno Haible  <bruno@clisp.org>
4231
4232         pipe2: refine doc about thread-safety
4233         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
4234         multithread-safety problem.
4235         * doc/glibc-functions/accept4.texi: Likewise.
4236
4237 2012-01-26  Bruno Haible  <bruno@clisp.org>
4238
4239         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
4240         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
4241         In the test program, include <fcntl.h>, for O_RDONLY.
4242
4243 2012-01-26  Eric Blake  <eblake@redhat.com>
4244
4245         pipe2: document lack of thread-safety in replacement
4246         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
4247         issue in replacement.
4248         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4249         Based on a report by Eric Wong.
4250
4251 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4252             Bruno Haible  <bruno@clisp.org>
4253
4254         malloca: Avoid warnings on x86_64 mingw64.
4255         * lib/malloca.c: Include <stdint.h>.
4256         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
4257         * modules/malloca (Depends-on): Add stdint.
4258         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
4259
4260 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
4261
4262         obstack: remove __STDC__ conditionals
4263         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
4264         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
4265         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
4266         m4/include_next.m4 as the only gnulib-maintained places that still
4267         refer to __STDC__.
4268
4269 2012-01-24  Bruno Haible  <bruno@clisp.org>
4270
4271         havelib: Modern quoting.
4272         * build-aux/config.rpath: Quote 'like this', not `like this', as per
4273         the recent change to the GNU coding standards.
4274
4275 2012-01-24  Bruno Haible  <bruno@clisp.org>
4276
4277         stdint: Improve support for Android.
4278         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
4279         Reported by Simon Josefsson <simon@josefsson.org>.
4280
4281 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4282
4283         doc: omit trailing empty lines from INSTALL etc.
4284         * doc/Makefile (INSTALL): Omit trailing empty lines.
4285         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
4286         omit trailing empty lines.  This simplifies the build procedure.
4287
4288 2012-01-23  Jim Meyering  <meyering@redhat.com>
4289
4290         tests: avoid spurious warnings about gl_sockets_startup
4291         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
4292         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
4293         reporting a "statement with no effect".
4294         * tests/test-accept.c (main): Mark as "(void)".
4295         * tests/test-accept4.c (main): Likewise.
4296         * tests/test-bind.c (main): Likewise.
4297         * tests/test-connect.c (main): Likewise.
4298         * tests/test-getpeername.c (main): Likewise.
4299         * tests/test-getsockname.c (main): Likewise.
4300         * tests/test-getsockopt.c (main): Likewise.
4301         * tests/test-listen.c (main): Likewise.
4302         * tests/test-recv.c (main): Likewise.
4303         * tests/test-recvfrom.c (main): Likewise.
4304         * tests/test-send.c (main): Likewise.
4305         * tests/test-sendto.c (main): Likewise.
4306         * tests/test-setsockopt.c (main): Likewise.
4307         * tests/test-shutdown.c (main): Likewise.
4308
4309 2012-01-21  Bruno Haible  <bruno@clisp.org>
4310
4311         locale-fr.m4: Fix for Android.
4312         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
4313         failure of the test program on Bionic libc.
4314
4315 2012-01-21  Jim Meyering  <meyering@redhat.com>
4316
4317         bootstrap: fail when bootstrap_post_import_hook fails
4318         Otherwise, it's far too easy to miss diagnostics emitted
4319         between gnulib-tool's output and that of running configure.
4320         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
4321
4322 2012-01-17  Jim Meyering  <meyering@redhat.com>
4323
4324         maint: enable sc_trailing_blank
4325         * build-aux/pmccabe.css: Remove trailing blanks.
4326         * doc/acl-cygwin.txt: Likewise.
4327         * doc/gnu-oids.texi: Likewise
4328         * cfg.mk: Enable sc_trailing_blank.
4329         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
4330
4331 2012-01-17  Jim Meyering  <meyering@redhat.com>
4332
4333         maint: enable sc_prohibit_openat_without_use
4334         * cfg.mk: Enable sc_prohibit_openat_without_use.
4335         Exempt lib/selinux-at.c.
4336
4337 2012-01-17  Jim Meyering  <meyering@redhat.com>
4338
4339         maint: enable sc_prohibit_cloexec_without_use
4340         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
4341         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
4342
4343 2012-01-17  Jim Meyering  <meyering@redhat.com>
4344
4345         maint: enable sc_prohibit_intprops_without_use
4346         * cfg.mk: Enable sc_prohibit_intprops_without_use
4347         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
4348
4349 2012-01-17  Jim Meyering  <meyering@redhat.com>
4350
4351         maint: enable sc_prohibit_hash_pjw_without_use
4352         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
4353         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
4354         to match any use of \<hash_pjw\>, i.e., not necessarily with a
4355         following " (".
4356
4357 2012-01-17  Jim Meyering  <meyering@redhat.com>
4358
4359         maint: enable double-word-prohibiting rule
4360         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
4361         Exempt three files.
4362
4363 2012-01-17  Jim Meyering  <meyering@redhat.com>
4364
4365         maint: remove empty lines at EOF, but excluding modules/*
4366         Apply syntax rules at home as well as abroad.  Most changes
4367         were induced by running this:
4368           make srcdir=. _build-aux=build-aux -f top/maint.mk \
4369             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
4370             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
4371         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
4372         Exempt modules/* and two binary files.
4373         Also exempt doc/INSTALL*, per request from Bruno Haible.
4374         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
4375         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
4376         * doc/Copyright/request-assign.future: Likewise.
4377         * doc/Copyright/request-disclaim.changes: Likewise.
4378         * doc/INSTALL: Likewise.
4379         * doc/INSTALL.ISO: Likewise.
4380         * doc/INSTALL.UTF-8: Likewise.
4381         * doc/acl-cygwin.txt: Likewise.
4382         * doc/acl-resources.txt: Likewise.
4383         * doc/fdl-1.2.texi: Likewise.
4384         * doc/fdl-1.3.texi: Likewise.
4385         * doc/fdl.texi: Likewise.
4386         * lib/argp-pin.c: Likewise.
4387         * lib/round.c: Likewise.
4388         * lib/unicase/u16-totitle.c: Likewise.
4389         * lib/unictype/block_test.c: Likewise.
4390         * lib/uninorm/canonical-decomposition.c: Likewise.
4391         * m4/README: Likewise.
4392         * m4/relocatable-lib.m4: Likewise.
4393         * tests/test-isnand-nolibm.c: Likewise.
4394         * tests/test-isnand.c: Likewise.
4395         * tests/uninorm/NormalizationTest.txt: Likewise.
4396
4397 2012-01-17  Jim Meyering  <meyering@redhat.com>
4398
4399         maint: add framework to run syntax-check rules against gnulib sources
4400         * cfg.mk: New file, to disable all currently-failing tests.
4401         We'll enable them one by one, as they are made to pass.
4402         * Makefile (sc_maint): New rule.
4403
4404 2012-01-21  Bruno Haible  <bruno@clisp.org>
4405
4406         stdint: Add support for Android.
4407         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
4408         include the system's <stdint.h>.
4409         Reported by Simon Josefsson <simon@josefsson.org>.
4410
4411 2012-01-19  Jim Meyering  <meyering@redhat.com>
4412
4413         bootstrap: add bootstrap_post_import_hook
4414         Bison does still need something like the gnulib_mk_hook whose
4415         invocation I had to remove along with slurp in commit 767ccd40.
4416         Technically, we could get along without it, but doing so would
4417         have required living with a warning and a mandatory post-bootstrap
4418         automake rerun.
4419         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
4420         (bootstrap_post_import_hook): New function.
4421         Invoke it after gnulib-tool --import and before autoreconf.
4422
4423 2012-01-18  Jim Meyering  <meyering@redhat.com>
4424
4425         gitlog-to-changelog: don't use "no_"-prefixed variable name
4426         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
4427         to enable both --cluster and --no-cluster.  Change variable name,
4428         s/\$no_cluster/$cluster/, and reverse usage to match.
4429
4430         gitlog-to-changelog: use "||", not "or" in expressions
4431         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
4432         expressions.
4433
4434 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
4435
4436         gitlog-to-changelog: new option --no-cluster
4437         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
4438         clustering of adjacent commit messages.
4439
4440 2012-01-17  Jim Meyering  <meyering@redhat.com>
4441
4442         maint: spell file systems with two words, not one
4443         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
4444         two words, not one.
4445
4446 2012-01-16  Jim Meyering  <meyering@redhat.com>
4447
4448         bootstrap: add a FIXME comment to ensure we eventually remove the hack
4449         * build-aux/bootstrap (gnulib_tool_options): Add comment.
4450
4451 2012-01-16  Eric Blake  <eblake@redhat.com>
4452
4453         bootstrap: cater to autoconf 2.59
4454         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
4455         is not available.
4456
4457         bootstrap: properly check for libtool
4458         * build-aux/bootstrap (libtoolize): Also run libtool when older
4459         usage is detected.
4460
4461 2012-01-15  Bruno Haible  <bruno@clisp.org>
4462
4463         Improve support for MSVC 9.
4464         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
4465         clashes on MSVC.
4466         * lib/fcntl.in.h: Likewise.
4467         * lib/stdlib.in.h: Likewise.
4468         * lib/sys_stat.in.h: Likewise.
4469
4470 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4471
4472         gnupload: we hold the master copy of this script now
4473         For motivation and more information, see:
4474         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
4475         * build-aux/gnupload: Make it clear in the heading comments that the
4476         master copy of this file is maintained by gnulib.  Since we are at
4477         it, bump its copyright year and ...
4478         ($scriptversion): ... the date in its version.
4479         ($usage): Patches and bug reports should be sent to the gnulib list,
4480         not the automake one.
4481         * config/srclist.txt: Don't try to sync 'gnupload' from automake
4482         anymore.
4483
4484 2012-01-15  Bruno Haible  <bruno@clisp.org>
4485
4486         Fix module 'random'.
4487         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
4488         initstate, setstate are declared.
4489
4490 2012-01-14  Bruno Haible  <bruno@clisp.org>
4491
4492         Tests for module 'random'.
4493         * modules/random-tests: New file.
4494         * tests/test-random.c: New file, based on tests/test-random_r.c.
4495
4496         New module 'random'.
4497         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
4498         declarations.
4499         * lib/random.c: New file, based on glibc/stdlib/random.c.
4500         * m4/random.m4: New file.
4501         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
4502         HAVE_RANDOM.
4503         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
4504         * modules/random: New file.
4505         * config/srclist.txt: Add an entry for random.c.
4506         * doc/posix-functions/random.texi: Mention the 'random' module.
4507         * doc/posix-functions/initstate.texi: Likewise.
4508         * doc/posix-functions/setstate.texi: Likewise.
4509         * doc/posix-functions/srandom.texi: Likewise.
4510
4511 2012-01-12  Bruno Haible  <bruno@clisp.org>
4512
4513         random_r: Use common idioms.
4514         * lib/random_r.c: Include <stdlib.h> first.
4515
4516         random_r: Override incompatible API on AIX, OSF/1.
4517         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
4518         Override the system function if REPLACE_RANDOM_R is 1.
4519         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
4520         and OSF/1, set REPLACE_RANDOM_R.
4521         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
4522         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
4523         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
4524         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
4525         * doc/glibc-functions/random_r.texi: Likewise.
4526         * doc/glibc-functions/setstate_r.texi: Likewise.
4527
4528         random_r: Support for MSVC 9.
4529         * lib/random_r.c: Include stdint.h, not inttypes.h.
4530
4531 2012-01-12  Eric Blake  <eblake@redhat.com>
4532
4533         inet_ntop: guard extra work by IF_LINT
4534         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
4535         better code generation when not checking for warnings.
4536         Suggested by Paul Eggert and Jim Meyering.
4537
4538         strptime: fix regression on mingw
4539         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
4540         Fix regression.  Reported by Bruno Haible.
4541
4542 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
4543             Bruno Haible  <bruno@clisp.org>
4544
4545         copy-file: add error-code-returning variant.
4546         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
4547         (qcopy_file_preserving): New declaration.
4548         * lib/copy-file.c (qcopy_file_preserving): Renamed from
4549         copy_file_preserving. Change return type to 'int'. Don't emit an error
4550         message here.
4551         (copy_file_preserving): New function.
4552         * tests/test-copy-file.c: Include <stdlib.h>.
4553         (main): Test qcopy_file_preserving if the environment variable
4554         NO_STDERR_OUTPUT is set.
4555         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
4556         with NO_STDERR_OUTPUT
4557         * tests/test-copy-file-2.sh: Likewise.
4558
4559 2012-01-10  Bruno Haible  <bruno@clisp.org>
4560
4561         copy-file: Use 'quote' module consistently.
4562         * lib/copy-file.c (copy_file_preserving): Use quote().
4563
4564         copy-file: Refactor.
4565         * lib/copy-file.c: Include quote.h.
4566         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
4567         message here.
4568         * modules/copy-file (Depends-on): Add quote.
4569
4570         acl: Export qcopy_acl.
4571         * lib/acl.h (qcopy_acl): New declaration.
4572         * lib/copy-acl.c (qcopy_acl): Make non-static.
4573
4574         acl: Rename a local variable.
4575         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
4576
4577         acl: Align return values of copy_acl and qcopy_acl.
4578         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
4579         maybe < -1.
4580
4581 2012-01-11  Eric Blake  <eblake@redhat.com>
4582
4583         strptime: silence gcc warnings
4584         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
4585         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
4586         Reported by Daniel P. Berrange.
4587
4588         inet_ntop: silence gcc warning
4589         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
4590         Reported by Daniel P. Berrange.
4591
4592 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
4593
4594         getloadavg test: skip the test on GNU/Linux without /proc mounted
4595         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
4596         file.  When /proc is not mounted, it always fails with ENOENT.
4597         * tests/test-getloadavg.c (main): Treat ENOENT return code from
4598         getloadavg(3) the same way as ENOSYS and ENOTSUP.
4599
4600 2012-01-10  Bruno Haible  <bruno@clisp.org>
4601
4602         regex: Avoid link error on MSVC 9.
4603         * modules/regex (Depends-on): Add wctype.
4604
4605 2012-01-10  Bruno Haible  <bruno@clisp.org>
4606
4607         doc: Mention --with-tests option.
4608         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
4609         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
4610         --with-tests.
4611         Reported by Reuben Thomas.
4612
4613 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
4614
4615         users.txt: order package names lexicographically.
4616         * users.txt: Order package names lexicographically.
4617
4618 2012-01-10  Jim Meyering  <meyering@redhat.com>
4619
4620         maint.mk: fix description in comment
4621         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
4622
4623         ignore-value: remove deprecated ignore_ptr function
4624         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
4625         * NEWS: Note this.
4626
4627 2012-01-09  Jim Meyering  <meyering@redhat.com>
4628
4629         test-init.sh: avoid a subshell
4630         * tests/test-init.sh: Remove protective subshell.
4631         Suggested by Bernhard Voelker.  While a subshell is normally
4632         required to protect against older shells (Solaris, FreeBSD) that
4633         warn about a missing program before performing redirection, the
4634         shell-selection tests performed by init.sh probably exclude any
4635         offending shell.
4636
4637 2012-01-08  Bruno Haible  <bruno@clisp.org>
4638
4639         setlocale tests: Avoid test failure on Solaris 11 2011-11.
4640         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
4641         variable.
4642
4643 2012-01-08  Bruno Haible  <bruno@clisp.org>
4644
4645         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
4646         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4647         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4648         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
4649         macro.
4650         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
4651         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4652         * lib/spawn_faction_addopen.c: Add workaround implementation if
4653         HAVE_WORKING_POSIX_SPAWN.
4654         * modules/spawn (Makefile): Substitute
4655         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4656         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
4657         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
4658         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4659         (Depends-on): Update conditions.
4660         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
4661         the Solaris 11 bug.
4662
4663 2012-01-08  Bruno Haible  <bruno@clisp.org>
4664
4665         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
4666         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4667         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4668         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
4669         macro.
4670         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
4671         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4672         * lib/spawn_faction_adddup2.c: Add workaround implementation if
4673         HAVE_WORKING_POSIX_SPAWN.
4674         * modules/spawn (Makefile): Substitute
4675         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4676         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
4677         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
4678         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4679         (Depends-on): Update conditions.
4680         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
4681         the Solaris 11 bug.
4682
4683 2012-01-08  Bruno Haible  <bruno@clisp.org>
4684
4685         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
4686         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4687         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4688         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
4689         HAVE_WORKING_POSIX_SPAWN.
4690         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
4691         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
4692         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4693         * lib/spawn_faction_addclose.c: Add workaround implementation if
4694         HAVE_WORKING_POSIX_SPAWN.
4695         * modules/spawn (Makefile): Substitute
4696         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4697         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
4698         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
4699         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4700         (Depends-on): Update conditions.
4701         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
4702         the Solaris 11 bug.
4703
4704 2012-01-08  Bruno Haible  <bruno@clisp.org>
4705
4706         doc: Update for Solaris 11 2011-11.
4707         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
4708         * m4/printf.m4: Update comments.
4709
4710 2012-01-08  Bruno Haible  <bruno@clisp.org>
4711
4712         mktime: Avoid compilation error on Solaris 11.
4713         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
4714
4715 2012-01-08  Bruno Haible  <bruno@clisp.org>
4716
4717         doc: Small fix.
4718         * doc/posix-headers/nl_types.texi: Correct platforms list.
4719
4720 2012-01-08  Simon Josefsson  <simon@josefsson.org>
4721
4722         Add lgpl-3.0 module.
4723         * MODULES.html.sh (Support for building documentation): Add
4724         lgpl-3.0.
4725         * modules/lgpl-3.0: New file.
4726
4727 2012-01-08  Jim Meyering  <meyering@redhat.com>
4728
4729         select.c: indent with spaces, not TABs
4730         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
4731
4732 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4733
4734         quotearg: do not use grave accent for left quote
4735         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
4736         locale_quoting_style.
4737         (quotearg_buffer_restyled): Fix example.
4738         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
4739
4740 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4741
4742         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
4743         Most programs do not have translation catalogs for English and much
4744         less separate catalogs for British and American English.  Drop the
4745         suggestion to translators about these two, and provide it
4746         automatically for Unicode locales.  Like most programs, even those
4747         using American English, we use single quotation marks.  This conflicts
4748         with the American typographic convention, but works better when you
4749         cite the entire error message within double quotes.  It also tries not
4750         to clash with established practice and with what non-gnulib programs
4751         will usually do.
4752         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
4753         using an UTF-8 or GB-18030 locale.  The list of other locales with
4754         quotes was provided by Bruno Haible.
4755         (quotearg_buffer_restyled): Adjust instructions to translators.
4756         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
4757         text, since this would be wrong when using Unicode.
4758         * modules/quotearg: Depend on c-strcaseeq.
4759
4760 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4761
4762         quotearg: fix Wikipedia link
4763         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
4764
4765 2012-01-07  Simon Josefsson  <simon@josefsson.org>
4766
4767         Fix for mingw with MSVC9.
4768         * m4/ld-version-script.m4: Check that compiler rejects version
4769         scripts with syntax errors.  Reported by Bruno Haible
4770         <bruno@clisp.org>.
4771
4772 2012-01-06  Bruno Haible  <bruno@clisp.org>
4773
4774         Talk about "native Windows API", not "Woe32".
4775         * lib/accept4.c: Update comments to mention native Windows.
4776         * lib/execute.c: Likewise.
4777         * lib/fatal-signal.c: Likewise.
4778         * lib/localcharset.c: Likewise.
4779         * lib/nanosleep.c: Likewise.
4780         * lib/nl_langinfo.c: Likewise.
4781         * lib/pclose.c: Likewise.
4782         * lib/pipe-filter-gi.c: Likewise.
4783         * lib/pipe-filter-ii.c: Likewise.
4784         * lib/pipe.c: Likewise.
4785         * lib/pipe2.c: Likewise.
4786         * lib/popen.c: Likewise.
4787         * lib/progreloc.c: Likewise.
4788         * lib/relocatable.c: Likewise.
4789         * lib/sigaction.c: Likewise.
4790         * lib/sigprocmask.c: Likewise.
4791         * lib/spawn-pipe.h: Likewise.
4792         * lib/spawn-pipe.c: Likewise.
4793         * lib/spawni.c: Likewise.
4794         * lib/stat-time.h: Likewise.
4795         * lib/w32spawn.h: Likewise.
4796         * tests/test-isatty.c: Likewise.
4797         * lib/config.charset: More comments.
4798         * doc/gnulib-intro.texi: Mention native Windows.
4799         * doc/posix-functions/_Exit_C99.texi: Likewise.
4800         * doc/posix-headers/fcntl.texi: Likewise.
4801
4802 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
4803
4804         argp: Avoid crash if translator uses % characters in a translation.
4805         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
4806         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4807
4808 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4809
4810         doc: C11 and C++11 are now official
4811         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
4812         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
4813         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
4814         * modules/stdalign:
4815         Replace references to draft C1X to C11, and to draft C++0X to C++11.
4816
4817 2012-01-06  Bruno Haible  <bruno@clisp.org>
4818
4819         uc-is-grapheme-break tests: Tweak.
4820         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
4821         message.
4822
4823 2012-01-06  Bruno Haible  <bruno@clisp.org>
4824
4825         test-init.sh: correct the test for diff -u
4826         * tests/test-init.sh: Also redirect stdout to /dev/null.
4827
4828 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4829
4830         Use ', not `, for quoting output.
4831         * build-aux/announce-gen (usage, sizes, print_news_deltas)
4832         (print_changelog_deltas, get_tool_versions, main program):
4833         * build-aux/git-version-gen:
4834         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
4835         * build-aux/move-if-change (help):
4836         * build-aux/useless-if-before-free (usage, main program):
4837         * check-module (parse_module_file, usage)
4838         (find_included_lib_files, check_module):
4839         * lib/argmatch.c (main) [TEST]:
4840         * lib/argp-help.c (_help):
4841         * lib/getopt1.c (main) [TEST]:
4842         * lib/git-merge-changelog.c (usage):
4843         * lib/xstrtol-error.c (xstrtol_error):
4844         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4845         * m4/argz.m4 (gl_FUNC_ARGZ):
4846         * m4/bison.m4 (gl_BISON):
4847         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
4848         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
4849         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4850         * m4/fpending.m4 (gl_PREREQ_FPENDING):
4851         * m4/gc-random.m4 (gl_GC_RANDOM):
4852         * m4/intl.m4 (gt_CHECK_DECL):
4853         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
4854         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
4855         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
4856         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
4857         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
4858         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
4859         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
4860         * tests/test-dirname.c (main):
4861         * tests/test-getpass.c (main):
4862         * tests/test-iconvme.c (main):
4863         * tests/test-parse-datetime.c (LOG):
4864         * tests/test-xstrtoimax.sh:
4865         * tests/test-xstrtol.sh:
4866         * tests/test-xstrtoll.sh:
4867         * tests/test-xstrtoumax.sh:
4868         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
4869         * top/GNUmakefile (abort-due-to-no-makefile):
4870         Quote 'like this', not `like this', as per the recent change to
4871         the GNU coding standards.
4872
4873 2012-01-05  Bruno Haible  <bruno@clisp.org>
4874
4875         strtoimax: Don't force a replacement on systems where intmax_t is int.
4876         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
4877         'intmax_t' is not larger than 'int'.
4878         Reported by Pádraig Brady <P@draigBrady.com>.
4879
4880 2012-01-05  Bruno Haible  <bruno@clisp.org>
4881
4882         doc: Mention NetBSD bugs.
4883         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
4884         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
4885
4886 2012-01-05  Bruno Haible  <bruno@clisp.org>
4887
4888         strtoumax tests: Enhance tests.
4889         * tests/test-strtoumax.c (main): Add tests for large values.
4890
4891 2012-01-05  Bruno Haible  <bruno@clisp.org>
4892
4893         strtoimax: Work around AIX 5.1 bug.
4894         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
4895         definition.
4896         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
4897         Set HAVE_STRTOIMAX.
4898         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
4899         REPLACE_STRTOIMAX.
4900         * modules/inttypes-incomplete (Makefile.am): Substitute
4901         REPLACE_STRTOIMAX.
4902         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
4903         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
4904         (Depends-on): Update conditions.
4905         * tests/test-strtoimax.c (main): Add tests for large values.
4906         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
4907
4908 2012-01-05  Bruno Haible  <bruno@clisp.org>
4909
4910         inttypes: Modernize.
4911         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
4912         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
4913         (Makefile.am): Update inttypes.h rule.
4914
4915 2012-01-05  Jim Meyering  <meyering@redhat.com>
4916
4917         init.sh: don't waste a subshell just to redirect stderr
4918         * tests/init.sh: In testing for diff -u and diff -c, use a
4919         stderr-redirecting exec inside `...` rather than a subshell.
4920
4921         test-init.sh: avoid failure on HP-UX 11.00
4922         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
4923         resolves to diff -c or cmp.  Reported by Bruno Haible.
4924
4925 2012-01-05  Bruno Haible  <bruno@clisp.org>
4926
4927         Tests for module 'strtoull'.
4928         * modules/strtoull-tests: New file.
4929         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
4930
4931 2012-01-05  Bruno Haible  <bruno@clisp.org>
4932
4933         Tests for module 'strtoll'.
4934         * modules/strtoll-tests: New file.
4935         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
4936
4937 2012-01-05  Bruno Haible  <bruno@clisp.org>
4938
4939         Tests for module 'strtoul'.
4940         * modules/strtoul-tests: New file.
4941         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
4942
4943 2012-01-05  Bruno Haible  <bruno@clisp.org>
4944
4945         Tests for module 'strtol'.
4946         * modules/strtol-tests: New file.
4947         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
4948
4949 2012-01-04  Jim Meyering  <meyering@redhat.com>
4950
4951         test-init.sh: accommodate Solaris 5.10's different diff -u output
4952         * tests/test-init.sh: Also exempt @@ lines from the comparison
4953         of diff output, since Solaris 5.10 and GNU diff formats differ.
4954         Reported by Stefano Lattarini.
4955
4956 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4957
4958         test-posixtm: don't assume signed integer wraparound
4959         * tests/test-posixtm.c (main): Don't assume wraparound semantics
4960         after signed integer overflow.  Inspired by (though it may not
4961         fix) Bruno Haible's bug report in
4962         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
4963
4964         Spell out "Windows 9x" and "Windows XP".
4965         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
4966         "Windows 9x" and "WinXP" with "Windows XP".
4967
4968 2012-01-04  Jim Meyering  <meyering@redhat.com>
4969
4970         test-vc-list-files-cvs.sh: remove obsolete comment
4971         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
4972         double exit.  Now that's all encapsulated via skip_ and Exit.
4973
4974 2012-01-04  Bruno Haible  <bruno@clisp.org>
4975
4976         Talk about "native Windows API", not "Win32".
4977         * lib/classpath.c: Update comments to mention native Windows.
4978         * lib/csharpexec.c: Likewise.
4979         * lib/dup2.c: Likewise.
4980         * lib/error.c: Likewise.
4981         * lib/fcntl.c: Likewise.
4982         * lib/filename.h: Likewise.
4983         * lib/findprog.c: Likewise.
4984         * lib/get-rusage-as.c: Likewise.
4985         * lib/get-rusage-data.c: Likewise.
4986         * lib/getpagesize.c: Likewise.
4987         * lib/javaexec.c: Likewise.
4988         * lib/msvc-inval.c: Likewise.
4989         * lib/msvc-nothrow.c: Likewise.
4990         * lib/nanosleep.c: Likewise.
4991         * lib/nonblocking.c: Likewise.
4992         * lib/printf-parse.c: Likewise.
4993         * lib/setlocale.c: Likewise.
4994         * lib/sigaction.c: Likewise.
4995         * lib/strerror_r.c: Likewise.
4996         * lib/tmpdir.c: Likewise.
4997         * lib/vasnprintf.c: Likewise.
4998         * lib/w32spawn.h: Likewise.
4999         * lib/waitpid.c: Likewise.
5000         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5001         * m4/locale-ar.m4: Likewise.
5002         * m4/locale-fr.m4: Likewise.
5003         * m4/locale-ja.m4: Likewise.
5004         * m4/locale-tr.m4: Likewise.
5005         * m4/locale-zh.m4: Likewise.
5006         * m4/printf.m4: Likewise.
5007         * tests/test-cloexec.c: Likewise.
5008         * tests/test-copy-acl.sh: Likewise.
5009         * tests/test-copy-file.sh: Likewise.
5010         * tests/test-file-has-acl.sh: Likewise.
5011         * tests/test-set-mode-acl.sh: Likewise.
5012         * tests/test-dup-safer.c: Likewise.
5013         * tests/test-dup2.c: Likewise.
5014         * tests/test-dup3.c: Likewise.
5015         * tests/test-fcntl.c: Likewise.
5016         * tests/test-nonblocking-pipe.h: Likewise.
5017         * tests/test-nonblocking-socket.h: Likewise.
5018         * tests/test-pipe.c: Likewise.
5019         * tests/test-pipe2.c: Likewise.
5020         * tests/test-spawn-pipe-child.c: Likewise.
5021         * doc/acl-resources.txt: Likewise.
5022         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5023         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5024         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5025         * lib/localcharset.c: Update comments to mention native Windows.
5026         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5027         * lib/localename.c: Likewise.
5028         * lib/progreloc.c: Likewise.
5029         * lib/relocatable.c: Likewise.
5030         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5031         (windows_compute_revents): Renamed from win32_compute_revents.
5032         (windows_compute_revents_socket): Renamed from
5033         win32_compute_revents_socket.
5034         * lib/select.c: Update comments to mention native Windows.
5035         (windows_poll_handle): Renamed from win32_poll_handle.
5036         * m4/threadlib.m4: Update comments to mention native Windows.
5037         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5038         --enable-threads=windows instead of --enable-threads=win32. Set
5039         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5040         * lib/glthread/lock.h: Update comments to mention native Windows.
5041         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5042         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5043         USE_WIN32_THREADS.
5044         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5045         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5046         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5047         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5048         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5049         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5050         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5051         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5052         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5053         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5054         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5055         * tests/test-tls.c: Likewise.
5056         Rationale:
5057         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5058         on both 32-bit and 64-bit Windows systems.
5059         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5060         line of distinction is between "native Windows" on one side and Unix/
5061         POSIX systems on the other side. More details in
5062         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5063         Suggested by Paul Eggert.
5064
5065 2012-01-03  Bruno Haible  <bruno@clisp.org>
5066
5067         isatty: Support for MSVC 9.
5068         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5069         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5070         (_isatty_nothrow): New function.
5071         (isatty): Use it instead of _isatty.
5072         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5073         * lib/poll.c (IsConsoleHandle): Likewise.
5074         * lib/select.c (IsConsoleHandle): Likewise.
5075         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5076         (gl_PREREQ_ISATTY): New macro.
5077         * modules/isatty (Depends-on): Add msvc-inval.
5078         (configure.ac): Invoke gl_PREREQ_ISATTY.
5079
5080 2012-01-03  Jim Meyering  <meyering@redhat.com>
5081
5082         maint.mk: remove temporary transition aid from over 1.5 years ago
5083         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5084         purpose was to aid in the transition (avoiding silent malfunction)
5085         from that old name to the new _sc_search_regexp.  This shim was
5086         added by commit 219c504b.
5087
5088         init.sh: do not try to accommodate compare arguments starting with "-"
5089         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5090         compare arguments that start with "-".  Besides, we do not worry
5091         about this when invoking diff or cmp; why start now with sed?
5092         Using "--" to separate options from argument would trigger sed
5093         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
5094         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
5095
5096 2012-01-02  Bruno Haible  <bruno@clisp.org>
5097
5098         Enhance tests for module 'isatty'.
5099         * modules/isatty-tests (Depends-on): Add pipe-posix.
5100         * tests/test-isatty.c: Include <fcntl.h>.
5101         (DEV_NULL): New macro.
5102         (main): Test the resut of isatty() also on regular files, pipes, and
5103         /dev/null.
5104
5105         New module 'isatty'.
5106         * lib/unistd.in.h (isatty): New declaration.
5107         * lib/isatty.c: New file, based on an idea of
5108         Bastien Roucariès <roucaries.bastien@gmail.com>.
5109         * m4/isatty.m4: New file.
5110         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
5111         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
5112         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
5113         REPLACE_ISATTY.
5114         * modules/isatty: New file.
5115         * doc/posix-functions/isatty.texi: Mention the new module.
5116         Suggested by Paolo Bonzini.
5117
5118 2012-01-02  Bruno Haible  <bruno@clisp.org>
5119
5120         canonicalize: Tweak 2011-12-29 commit.
5121         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
5122         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
5123
5124 2012-01-02  Jim Meyering  <meyering@redhat.com>
5125
5126         gitlog-to-changelog: describe input syntax in --help output
5127         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
5128
5129         gitlog-to-changelog: fix typo in --help: show backslash before email @
5130         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
5131         in sources, but not in actual output.
5132
5133 2011-12-30  Jim Meyering  <meyering@redhat.com>
5134
5135         gitlog-to-changelog: don't malfunction when name contains %-directive
5136         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
5137         in a name string cause trouble.  E.g., with a user name of "%s",
5138         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
5139
5140 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
5141
5142         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
5143         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
5144         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
5145         the "  (tiny change)" notation that is appended to the standard
5146         ChangeLog "date  name  email" header line.
5147
5148 2012-01-01  Jim Meyering  <meyering@redhat.com>
5149
5150         test-framework-sh: init.sh: fix "make dist" failure
5151         When using gnulib-tool's --with-tests option and any module that
5152         depends on test-framework-sh, "make dist" would fail due to the
5153         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
5154         in the gltests directory, and not in the gllib/ directory.
5155         One way to work around that is to move the EXTRA_DIST += init.sh
5156         from the primary module to the -tests one:
5157         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
5158         * modules/test-framework-sh (Makefile.am): ...not here.
5159         Reported by Tom G. Christensen in
5160         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
5161
5162         version-etc: update copyright year reported by --version
5163         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
5164
5165 2011-12-31  Pádraig Brady  <P@draigBrady.com>
5166
5167         canonicalize: only stat() if required
5168         * lib/canonicalize.c (canonicalize_filename_mode):
5169         Avoid calling l?stat() when both CAN_MISSING,
5170         and CAN_NOLINKS are set, as we neither need
5171         to resolve symlinks or test component existence.
5172
5173 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
5174
5175         doc: cover st_ino issues once; add OpenVMS etc.
5176         * doc/posix-functions/stat.texi (stat):
5177         * doc/posix-functions/lstat.texi (lstat):
5178         * doc/posix-functions/fstatat.texi (fstatat):
5179         * doc/posix-functions/fstat.texi (fstat):
5180         Move general 'struct stat' stuff to sys_stat.texi,
5181         leaving behind a pointer.
5182         * doc/posix-headers/sys_stat.texi (sys/stat.h):
5183         Merge duplicate info about 'struct stat' problems into here.
5184         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
5185         and suggest partial workarounds.
5186
5187         same-inode: port to OpenVMS
5188         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
5189         three st_ino values.
5190
5191 2011-12-30  Pádraig Brady  <P@draigBrady.com>
5192
5193         canonicalize: fix references to stat() and lstat()
5194         * lib/canonicalize.c (canonicalize_filename_mode):
5195         Ensure references always resolve to a replacement
5196         function if required (even via a macro).
5197
5198 2011-12-30  Jim Meyering  <meyering@redhat.com>
5199
5200         gitlog-to-changelog: remove a little duplication
5201         * build-aux/gitlog-to-changelog (main): Grep @lines once,
5202         rather than twice.
5203
5204 2011-12-29  Pádraig Brady  <P@draigBrady.com>
5205
5206         canonicalize: add support for not resolving symlinks
5207         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
5208         indicate we don't want to follow symlinks.  Also
5209         provide CAN_MODE_MASK to aid setting these existing
5210         mutually exclusive values.
5211         * lib/canonicalize.c (canonicalize_filename_mode):
5212         Extract the flags from can_mode parameter, which
5213         are currently just used to select between stat()
5214         and lstat().  Also ensure that mutually exclusive
5215         values are flagged immediately as invalid.
5216         * tests/test-canonicalize.c: Verify symlinks are
5217         not followed, and that invalid flag combinations
5218         are diagnosed.
5219
5220 2011-12-25  Jim Meyering  <meyering@redhat.com>
5221
5222         gitlog-to-changelog: do not clump multi-paragraph entries
5223         Identical header lines (date,name,email+coauthors) are suppressed,
5224         thus putting all entries with those same characteristics under
5225         a single header.  However, when a log entry consists of two or
5226         more paragraphs, it may not be clear where it starts and ends.
5227         This change makes it so that such an entry is always separated
5228         from others by a header line, even when that header would
5229         otherwise be suppressed.
5230         * build-aux/gitlog-to-changelog: Implement the above.
5231         Inspired by a related request from Stefano Lattarini in
5232         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
5233
5234 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5235
5236         announce-gen: fix `cmd' typo in diagnostic
5237         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
5238         diagnostic: a missing '$' meant that the command was not output.
5239
5240 2011-12-23  Jim Meyering  <meyering@redhat.com>
5241
5242         test-framework-sh: distribute init.sh
5243         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
5244         Otherwise, "make -C gnulib-tests check" (at least in grep) would
5245         fail due to the lack of init.sh.
5246
5247         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
5248         * modules/atexit-tests: Rather than listing tests/init.sh,
5249         now that there's a module for it, simply depend on that new module.
5250         * modules/closein-tests: Likewise.
5251         * modules/exclude-tests: Likewise.
5252         * modules/getcwd-tests: Likewise.
5253         * modules/perror-tests: Likewise.
5254         * modules/pread-tests: Likewise.
5255         * modules/pwrite-tests: Likewise.
5256         * modules/vc-list-files-tests: Likewise.
5257         * modules/verify-tests: Likewise.
5258         * modules/xalloc-die-tests: Likewise.
5259         * modules/xstrtoimax-tests: Likewise.
5260         * modules/xstrtol-tests: Likewise.
5261         * modules/xstrtoll-tests: Likewise.
5262         * modules/xstrtoumax-tests: Likewise.
5263         * modules/yesno-tests: Likewise.
5264
5265 2011-12-22  Jim Meyering  <meyering@redhat.com>
5266
5267         test-framework-sh: add minimal tests of init.sh's compare function
5268         * modules/test-framework-sh-tests: New file.
5269         * tests/test-init.sh: New file.
5270
5271         test-framework-sh: new module
5272         * modules/test-framework-sh: New file.
5273         * MODULES.html.sh (Support for maintaining and releasing projects):
5274         List it.
5275
5276         init.sh: do not emit simulated diff output to stderr
5277         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
5278
5279 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5280
5281         .gitignore: ignore gnulib.dvi and regex.info
5282         * doc/.gitignore:add gnulib.dvi and regex.info
5283
5284 2011-12-22  Jim Meyering  <meyering@redhat.com>
5285
5286         init.sh: correct previous change
5287         * tests/init.sh (compare): My previous change was wrong.
5288         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
5289
5290         init.sh: avoid unwarranted test failure when using "set -e"
5291         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
5292         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
5293         a use like "compare exp out" would get evoke an unconditional failure.
5294
5295 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
5296
5297         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
5298         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
5299         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
5300         autoreconf that did not.
5301         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
5302         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5303
5304 2011-12-17  Jim Meyering  <meyering@redhat.com>
5305
5306         bootstrap: remove some now-unneeded code
5307         This script arose back when gnulib-tool was young.
5308         Since then, it has seen improvements that render much of this
5309         script unnecessary.  In particular, it can now make symlinks
5310         to the files it uses.  Also, I no longer see as much value in
5311         marking files as read-only via comments.
5312         If you relied on the symlink-creation feature of the preceding
5313         version of this script, you can get most of that functionality
5314         by adding the --symlink option to the definition of
5315         gnulib_tool_option_extras in your bootstrap.conf file.
5316         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
5317         Run autopoint and libtoolize *before* gnulib-tool.
5318         After it, run an abbreviated autoreconf, rather than a loop around
5319         all tools.
5320         (slirp, bt_mark_as_generated): Remove functions.
5321
5322 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5323
5324         ftoastr: fix typo
5325         * lib/ftoastr.h: Fix misspelling in comment.
5326
5327 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
5328
5329         * top/README-release: fix punctuation.
5330
5331 2011-12-17  Jim Meyering  <meyering@redhat.com>
5332
5333         bootstrap: correct the recent buildreq change
5334         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
5335         had no effect.
5336         * build-aux/bootstrap (buildreq): Bracket each search term with
5337         "*...*", so that the shell "case" statement works as intended.
5338         Add comments.
5339
5340 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
5341
5342         build: let bootstrap resort to wget when downloading .po files
5343         * build-aux/bootstrap (download_po_files): Fallback to wget when
5344         downloading the .po files via rsync fails.  This is necessary to
5345         bootstrap from behind a strict firewall.
5346
5347 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5348
5349         stdint: don't assume C++11 when compiling with g++
5350         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
5351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
5352         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
5353         work also in C++ before C++11, as that improperly inhibits
5354         generating a substitute stdint.h for that case.
5355
5356 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5357
5358         alloca: protect comment from gnulib-tool
5359         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
5360         that gnulib-tool doesn't think it's a license, and munge it to
5361         say "GCC version 3".
5362
5363 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
5364
5365         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
5366         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
5367         $(abs_top_builddir) instead of $(top_builddir).
5368
5369 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
5370
5371         strftime-tests: also test nanoseconds
5372         * tests/test-strftime.c (T): Add a test of %N.
5373
5374 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
5375
5376         inttypes, stdint: add C++11 support
5377         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
5378         when including inttypes.h and stdint.h.  Support this change to
5379         the standard.
5380         * doc/posix-headers/inttypes.texi (inttypes.h):
5381         * doc/posix-headers/stdint.texi (stdint.h): Document this.
5382         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
5383         Define if not defined already, for the benefit of pre-C++11 hosts.
5384         Define the standard format macros (e.g., PRId8) always.
5385         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
5386         Likewise, if __cpluspus.  Define the standard constant and limit
5387         macros (e.g., INT8_C, INT8_MAX) always.
5388         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
5389         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
5390         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
5391         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
5392         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
5393         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
5394         Likewise.
5395
5396 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
5397
5398         nonblocking tests: Fix test failure on Linux/PPC.
5399         Suggested by Prerna Saxena in
5400         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
5401         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
5402         Set to 1100000.
5403
5404 2011-12-12  Jim Meyering  <meyering@redhat.com>
5405
5406         argmatch: don't hard-code `' when listing valid option arguments
5407         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
5408         use the quote function to add quotes.  Use fputs rather than
5409         fprintf for the format string with no format directive.
5410
5411 2011-12-07  Eric Blake  <eblake@redhat.com>
5412
5413         bootstrap: detect tools required by gnulib-tool
5414         * build-aux/bootstrap (buildreq): Provide minimum implicit
5415         dependencies.
5416         * DEPENDENCIES: Mention patch as a prereq.
5417
5418 2011-12-04  Bruno Haible  <bruno@clisp.org>
5419
5420         sethostname: Port to Windows platforms.
5421         * lib/sethostname.c: Provide an alternate implementation for Windows
5422         platforms.
5423         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
5424         (main): Skip the test if sethostname() fails with EPERM. On Windows
5425         platforms, don't check the result of gethostname().
5426
5427 2011-12-04  Bruno Haible  <bruno@clisp.org>
5428             Jim Meyering  <meyering@redhat.com>
5429
5430         tests: Avoid spurious error message on platforms without mktemp program.
5431         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
5432
5433 2011-12-04  Bruno Haible  <bruno@clisp.org>
5434
5435         sethostname: Fix documentation.
5436         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
5437         "not fixed" section.
5438
5439 2011-12-03  Bruno Haible  <bruno@clisp.org>
5440
5441         gnulib-tool: Verify that the License field is present and non-empty.
5442         * gnulib-tool (func_get_license_raw): New function, extracted from
5443         func_get_license.
5444         (func_get_license): Use it. Warn if the module is not a test module and
5445         has no license.
5446         Suggested by Jim Meyering.
5447
5448 2011-12-03  Bruno Haible  <bruno@clisp.org>
5449
5450         sethostname tests: Fix link error on mingw.
5451         * tests/test-sethostname1.c: New file, extracted from
5452         tests/test-sethostname.c.
5453         * tests/test-sethostname2.c: New file, extracted from
5454         tests/test-sethostname.c.
5455         * tests/test-sethostname.c: Remove file.
5456         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
5457         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
5458         (Depends-on): Add gethostname.
5459         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
5460         Link the latter with $(GETHOSTNAME_LIB).
5461
5462         sethostname tests: Fix compilation error on mingw.
5463         * tests/test-sethostname.c: Don't include <sys/types.h>.
5464         (geteuid): Use a dummy value without uid_t.
5465         * modules/sethostname-tests (Depends-on): Remove sys_types.
5466
5467         sethostname tests: Avoid a gcc warning.
5468         * tests/test-sethostname.c (main): Remove an unused variable.
5469
5470         Tweak last commit.
5471         * modules/sethostname-tests (Files): Sort by decreasing importance.
5472         (configure.ac): Check for geteuid.
5473         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
5474         the test when there's nothing to test. Drop an unnecessary cast.
5475         Improve an error message. Verify that the final sethostname() call
5476         succeeds.
5477
5478 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5479
5480         Add a test suite for the sethostname module.
5481         * modules/sethostname-tests: New file.  A test program
5482         for the sethostname module.
5483         * tests/test-sethostname.c: Likewise.
5484
5485 2011-12-03  Bruno Haible  <bruno@clisp.org>
5486
5487         Tweak last commit.
5488         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
5489         Fix preprocessor directives indentation. Fix typos.
5490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
5491         * modules/unistd (Makefile): Likewise.
5492
5493 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5494
5495         Integrate the sethostname module into unistd.
5496         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
5497         into the unistd.h header.
5498         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
5499         preprocessor directives.
5500         * modules/unistd: Setup the Makefile substitutions of the
5501         SETHOSTNAME preprocessor directives.
5502
5503 2011-12-03  Bruno Haible  <bruno@clisp.org>
5504
5505         Tweak last commit.
5506         * lib/sethostname.c: Don't include <string.h>.
5507         (sethostname): No need to copy the argument string to the stack. Don't
5508         call clearerr. Preserve errno when fprintf failed.
5509         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
5510         Don't invoke AC_REPLACE_FUNCS.
5511         * modules/sethostname (Link): Remove empty section.
5512         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
5513         failure problem.
5514
5515 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5516
5517         New module 'sethostname'.
5518         * lib/sethostname.c (sethostname): New file.  Provide sethostname
5519         for systems that lack it.
5520         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
5521         sethostname declaration and function.
5522         * modules/sethostname: New file.  Define the sethostname module.
5523
5524 2011-12-03  Bruno Haible  <bruno@clisp.org>
5525
5526         Tweak last commit.
5527         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
5528
5529 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5530
5531         Split the HOST_NAME_MAX detection into a separate m4 macro.
5532         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
5533         macro so it can be used by the pending sethostname module.
5534
5535 2011-12-03  Bruno Haible  <bruno@clisp.org>
5536
5537         Fix module descriptions syntax.
5538         * modules/argv-iter (License): Fix syntax.
5539         * modules/di-set (License): Likewise.
5540         * modules/ino-map (License): Likewise.
5541         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
5542
5543 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
5544
5545         stdalign: port to Clang 3.0
5546         Problem reported by Simon Josefsson in
5547         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
5548         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
5549         which has <stdalign.h> but which does not define alignof.
5550         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
5551
5552 2011-12-01  Eric Blake  <eblake@redhat.com>
5553
5554         mktempd: silence dd usage
5555         * build-aux/mktempd (rand_bytes): Silence dd.
5556
5557 2011-11-30  Simon Josefsson  <simon@josefsson.org>
5558
5559         manywarnings: Don't mention gcc version in docstring.
5560         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
5561         Jim Meyering <meyering@redhat.com>.
5562
5563 2011-11-30  Jim Meyering  <meyering@redhat.com>
5564
5565         hash: mark a few floating point constants with "f" suffix
5566         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
5567         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
5568         floating point constants with "f", since they're destined to be
5569         saved/used as "float"s.
5570
5571 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
5572
5573         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
5574         * tests/test-float.c (test_long_double): Correct and re-enable the
5575         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
5576
5577 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
5578
5579         Avoid subtracting two pointers that don't point into the same block.
5580         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
5581         only pointers into the same memory block are subtracted. We cannot
5582         assume that sizeof (ptrdiff_t) == sizeof (void *).
5583
5584 2011-11-29  Eric Blake  <eblake@redhat.com>
5585
5586         maint.mk: add syntax check for use of compare from init.sh
5587         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
5588         moved here from coreutils.
5589
5590         manywarnings: drop -Wunsuffixed-float-constants
5591         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
5592         '1.0D', which is the only way to silence this warning for 'double'.
5593
5594 2011-11-29  Jim Meyering  <meyering@redhat.com>
5595
5596         hash: mark compute_bucket_size with the pure attribute
5597         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
5598
5599         quotearg, propername: correct pragma guard expression
5600         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
5601         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
5602
5603 2011-11-28  Jim Meyering  <meyering@redhat.com>
5604
5605         propername: do not mark proper_name with the const attribute
5606         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
5607         since it examines data pointed to by its parameter.
5608         * lib/propername.c (proper_name): Instead, add a pragma to suppress
5609         the suggestion from -Wsuggest-attribute=const.
5610
5611         propername: mark one more function as const
5612         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
5613
5614 2011-11-27  Jim Meyering  <meyering@redhat.com>
5615
5616         mark functions with const and pure attributes
5617
5618         Mark functions per suggestions from gcc-4.6 when using these options:
5619         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
5620         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
5621         Follow these guidelines: when possible, apply the attribute to
5622         an extern declaration, not to its definition.  Apply it to the
5623         definition only when the definition is static.
5624         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
5625         * lib/argv-iter.h (argv_iter_n_args): Likewise.
5626         * lib/base64.h (isbase64): Likewise.
5627         * lib/basename-lgpl.c (last_component, base_len): Likewise.
5628         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
5629         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
5630         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
5631         (c_tolower, c_toupper): Likewise.
5632         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
5633         * lib/chdir-long.c (find_non_slash): Likewise.
5634         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
5635         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
5636         * lib/file-type.h (file_type): Likewise.
5637         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
5638         * lib/filevercmp.c (verrevcmp): Likewise.
5639         * lib/freadahead.h (freadahead): Likewise.
5640         * lib/fts.c (fts_maxarglen): Likewise.
5641         * lib/hash-pjw.h (hash_pjw): Likewise.
5642         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
5643         * lib/hash.c (is_prime, next_prime): Likewise.
5644         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
5645         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
5646         (hash_table_ok, hash_get_first, hash_string): Likewise.
5647         (compute_bucket_size): Likewise.
5648         * lib/i-ring.h (i_ring_empty): Likewise.
5649         * lib/isnan.c (isnanl): Likewise.
5650         * lib/math.h (isnanl, rpl_isnanl): Likewise.
5651         * lib/memcasecmp.h (memcasecmp): Likewise.
5652         * lib/memchr2.h (memchr2): Likewise.
5653         * lib/memcmp2.h (memcmp2): Likewise.
5654         * lib/parse-datetime.y (lookup_zone): Likewise.
5655         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
5656         [!WINDOWS_SOCKETS]: Likewise.
5657         * lib/strnlen1.h (strnlen1): Likewise.
5658         * lib/uniwidth.in.h (uc_width): Likewise.
5659         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
5660         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
5661         (quoting_options_from_style): Add a comment.
5662         * lib/propername.h (proper_name): Add a comment.
5663
5664 2011-11-27  Bruno Haible  <bruno@clisp.org>
5665
5666         Remove unused macros from !_LIBC code in glibc-borrowed files.
5667         * lib/fnmatch.c (STRCOLL): Remove macro.
5668         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
5669         * lib/glob.c (__stat, __readdir64): Remove macros.
5670         * lib/tempname.c (__open64, __xstat64): Remove macros.
5671         Suggested by Paul Eggert.
5672
5673 2011-11-27  Bruno Haible  <bruno@clisp.org>
5674
5675         getcwd: Fix link error on MSVC 9.
5676         * modules/getcwd (Depends-on): Add readdir, rewinddir.
5677
5678 2011-11-27  Bruno Haible  <bruno@clisp.org>
5679
5680         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
5681         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
5682         HAVE_OPENDIR is 0.
5683         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
5684         HAVE_CLOSEDIR is 0.
5685         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
5686         is 0.
5687         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
5688
5689 2011-11-27  Bruno Haible  <bruno@clisp.org>
5690
5691         getcwd: Fix bug from 2011-08-17.
5692         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
5693         platforms that need it.
5694         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
5695         code of 4 to be a failure, not a success. This ensures that
5696         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
5697
5698 2011-11-27  Bruno Haible  <bruno@clisp.org>
5699
5700         binary-io tests: Avoid test failure on mingw when libtool is used.
5701         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
5702         Don't verify the size of t-bin-out1.tmp here.
5703         * tests/test-binary-io.sh: Verify it here.
5704         Reported by Simon Josefsson.
5705
5706 2011-11-26  Bruno Haible  <bruno@clisp.org>
5707
5708         Fix conflict between two instantiations of module 'unistd'.
5709         * gnulib-tool (func_emit_autoconf_snippet): Substitute
5710         ${include_guard_prefix} also in the autoconf snippet.
5711         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
5712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
5713         GNULIB_UNISTD_H_GETOPT.
5714         * modules/getopt-posix (configure.ac): Set the
5715         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
5716         * modules/getopt-gnu (configure.ac): Likewise.
5717         * modules/unistd (Makefile.am): Change the substitution value of
5718         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
5719         Reported by Simon Josefsson.
5720
5721 2011-11-25  Bruno Haible  <bruno@clisp.org>
5722
5723         pagealign_alloc: Doc and comments.
5724         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
5725         module.
5726         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
5727
5728 2011-11-25  Jim Meyering  <meyering@redhat.com>
5729
5730         test-update-copyright.sh: avoid false-positive failure
5731         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
5732         around false positive failure on Cygwin/Windows.  The latter was
5733         matching erroneously-created files with names like
5734         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
5735
5736 2011-11-25  Simon Josefsson  <simon@josefsson.org>
5737
5738         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
5739         * m4/valgrind-tests.m4: Check that the parameters that will be
5740         used works, not just a subset of them.  Reported by Bruno Haible
5741         <bruno@clisp.org>.
5742
5743 2011-11-24  Jim Meyering  <meyering@redhat.com>
5744
5745         test-stdalign.c: comment out long double tests
5746         * tests/test-stdalign.c: Don't try to reduce alignment of long double
5747         variables.  That provokes errors like this from gcc-4.7.0 20111124:
5748         error: '_Alignas' specifiers cannot reduce alignment of \
5749         'static_longdouble_alignas'.
5750
5751 2011-11-22  Jim Meyering  <meyering@redhat.com>
5752
5753         init.sh: make "compare /dev/null FILE" output more readable
5754         * tests/init.sh (compare_): Document the preferred order of arguments.
5755         (emit_diff_u_header_): New function.
5756         (compare_dev_null_): Emit a simulated diff, rather than just the
5757         contents of the unexpected file.  Suggestion from Bruno Haible.
5758
5759 2011-11-21  Jim Meyering  <meyering@redhat.com>
5760             Eric Blake  <eblake@redhat.com>
5761
5762         init.sh: work around OSF/1 5.1's mishandling of /dev/null
5763         * tests/init.sh: Make our compare function slightly more portable.
5764         Reported by Bruno Haible in
5765         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
5766
5767 2011-11-21  Simon Josefsson  <simon@josefsson.org>
5768
5769         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
5770         before using it, in code that ends up in config.h.
5771
5772 2011-11-20  Bruno Haible  <bruno@clisp.org>
5773
5774         getcwd: Work around getcwd bug on AIX 5..7.
5775         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
5776         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
5777         Use a different value for gl_cv_func_getcwd_path_max. Move the
5778         definition of HAVE_PARTLY_WORKING_GETCWD from here...
5779         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
5780         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
5781         Define HAVE_MINIMALLY_WORKING_GETCWD.
5782         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
5783         where it is not even minimally working, that is, on AIX.
5784         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
5785         m4/getcwd-path-max.m4.
5786         (main): Update exit code computation.
5787         * doc/posix-functions/getcwd.texi: Mention list of platforms where
5788         getcwd does not handle long file names.
5789
5790 2011-11-20  Bruno Haible  <bruno@clisp.org>
5791
5792         getcwd: Fix bug from 2009-09-10.
5793         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
5794         like "no".
5795
5796 2011-11-20  Simon Josefsson  <simon@josefsson.org>
5797
5798         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
5799
5800 2011-11-20  Bruno Haible  <bruno@clisp.org>
5801
5802         fma tests: Avoid shadowing local variables.
5803         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
5804         expected.
5805
5806 2011-11-20  Bruno Haible  <bruno@clisp.org>
5807
5808         copysignf tests: Fix.
5809         * tests/test-copysignf.c: Fix signature check.
5810
5811 2011-11-20  Bruno Haible  <bruno@clisp.org>
5812
5813         fma: Remove unused code.
5814         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
5815         unused macros.
5816
5817 2011-11-20  Bruno Haible  <bruno@clisp.org>
5818
5819         sethostname: Fix doc about AIX.
5820         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
5821         sethostname; it has it.
5822
5823         sethostname: Mention more portability problems.
5824         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
5825         problem.
5826         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5827
5828 2011-11-19  Bruno Haible  <bruno@clisp.org>
5829
5830         Depend on module fcntl-h when AT_FDCWD is used.
5831         * modules/utimens (Depends-on): Add fcntl-h.
5832         * modules/areadlinkat (Depends-on): Likewise.
5833         * modules/areadlinkat-with-size (Depends-on): Likewise.
5834         * modules/faccessat (Depends-on): Likewise.
5835         * modules/fchmodat (Depends-on): Likewise.
5836         * modules/fchownat (Depends-on): Likewise.
5837         * modules/getcwd (Depends-on): Likewise.
5838         * modules/mkdirat (Depends-on): Likewise.
5839         * modules/mkfifoat (Depends-on): Likewise.
5840         * modules/readlinkat (Depends-on): Likewise.
5841         * modules/symlinkat (Depends-on): Likewise.
5842         * modules/dup2-tests (Depends-on): Likewise.
5843         * modules/fdutimensat-tests (Depends-on): Likewise.
5844         * modules/futimens-tests (Depends-on): Likewise.
5845
5846 2011-11-19  Bruno Haible  <bruno@clisp.org>
5847
5848         euidaccess: Update a comment.
5849         * lib/euidaccess.c: Update comment about platforms with faccessat.
5850
5851 2011-11-19  Bruno Haible  <bruno@clisp.org>
5852
5853         openat: Fix file list.
5854         * modules/openat (Files): Remove lib/at-func.c.
5855
5856 2011-11-19  Bruno Haible  <bruno@clisp.org>
5857
5858         fstatat: Simplify.
5859         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
5860         gnulib should define rpl_fstatat, there is a
5861         "#define fstatat rpl_fstatat" in <sys/stat.h>.
5862
5863 2011-11-19  Bruno Haible  <bruno@clisp.org>
5864
5865         Ensure 'inline' can be used in tests/test-utimens-common.h.
5866         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
5867         * modules/futimens-tests (configure.ac): Likewise.
5868         * modules/utimens-tests (configure.ac): Likewise.
5869         * modules/utimensat-tests (configure.ac): Likewise.
5870
5871 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5872
5873         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
5874         not hash_insert0.
5875         (hash_insert_if_absent): Doc fix.
5876
5877 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5878
5879         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
5880
5881 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
5882
5883         test-getcwd: disambiguate exit status
5884         * tests/test-getcwd.c (test_long_name): Return 0..7.
5885         (main): Exit with an unambiguous exit status.  The old
5886         code yielded a mysterious mixture of two failure codes.
5887
5888         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
5889         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
5890         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
5891         rpl_fstatat or fstatat.  This should fix the other problem
5892         reported by Kai Habel in
5893         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5894         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
5895         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
5896         and I reproduced it on a Solaris 8 host we still have in production.
5897
5898 2011-11-18  Jim Meyering  <meyering@redhat.com>
5899
5900         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
5901         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
5902         Add a sentence to the comment.
5903         (hash_insert0): New function that simply calls hash_insert_if_absent.
5904         * lib/hash.h (hash_insert_if_absent): Declare it.
5905         (hash_insert0): Add deprecation attribute.
5906         (_GL_ATTRIBUTE_DEPRECATED): Define.
5907         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
5908         not hash_insert0.
5909         * NEWS: Mention it, even though it's not really an incompatible change.
5910
5911 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
5912
5913         openat: avoid compilation failure due to lack of <errno.h> inclusion
5914         * lib/openat.c: Include <errno.h>.
5915
5916 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5917
5918         * modules/getcwd (Depends-on): Add fdopendir.
5919         This fixes one of the two problems reported by Kai Habel in
5920         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5921
5922         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
5923         stdalign problem reported by Ian Beckwith in
5924         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
5925         * modules/crypto/gc-arcfour (Depends-on):
5926         Depend conditionally on crypto/arcfour.
5927         * modules/crypto/gc-arctwo (Depends-on):
5928         Depend conditionally on crypto/arctwo.
5929         * modules/crypto/gc-des (Depends-on):
5930         Depend conditionally on crypto/des.
5931         * modules/crypto/gc-hmac-md5 (Depends-on):
5932         Depend conditionally on crypto/hmac-md5.
5933         * modules/crypto/gc-hmac-sha1 (Depends-on):
5934         Depend conditionally on crypto/hmac-sha1.
5935         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
5936         * modules/crypto/gc-md4 (Depends-on):
5937         Depend conditionally on crypto/md4.
5938         * modules/crypto/gc-md5 (Depends-on):
5939         Depend conditionally on crypto/md5.
5940         * modules/crypto/gc-rijndael (Depends-on):
5941         Depend conditionally on crypto/rijndael.
5942         * modules/crypto/gc-sha1 (Depends-on):
5943         Depend conditionally on crypto/sha1.
5944         * modules/crypto/gc-arcfour:
5945         * modules/crypto/gc-arctwo:
5946         * modules/crypto/gc-des:
5947         * modules/crypto/gc-hmac-md5:
5948         * modules/crypto/gc-hmac-sha1:
5949         * modules/crypto/gc-md2:
5950         * modules/crypto/gc-md4:
5951         * modules/crypto/gc-md5:
5952         * modules/crypto/gc-rijndael:
5953         * modules/crypto/gc-sha1:
5954         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
5955         now that the conditional dependencies do the work for us.
5956
5957 2011-11-17  Jim Meyering  <meyering@redhat.com>
5958
5959         tests: factor st_ctime-comparison out of two headers
5960         * tests/test-utimens-common.h (ctime_compare): Define.
5961         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
5962         * tests/test-lutimens.h (test_lutimens): Likewise.
5963         * tests/test-utimens.h (test_utimens): Likewise.
5964
5965         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
5966         Invoke the test program via an init.sh-using wrapper.
5967         * tests/test-getcwd.sh: New file.
5968         * modules/getcwd-tests (Files): Add it.
5969         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
5970
5971 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
5972
5973         gitlog-to-changelog: support multi-author commits.
5974         The FSF cares about keeping track of all authors of patches to its
5975         projects, but Git doesn't provide obvious support for multi-author
5976         changesets. Consensus seems to be forming around the use of extra
5977         Signed-off-by inspired lines in the log message formatted as
5978         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
5979         multi-author commits between version control systems.
5980         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
5981         log message and output in standard ChangeLog multi-author format.
5982         Reported by Peter Rosin <peda@lysator.liu.se>
5983
5984 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
5985             Bruno Haible  <bruno@clisp.org>
5986
5987         Fix some modules' file list.
5988         * modules/fstatat (Files): Add m4/lstat.m4.
5989         * modules/openat (Files): Likewise.
5990         * modules/unlinkat (Files): Likewise.
5991
5992 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
5993
5994         maint.mk: fix tight-scope.mk generation in VPATH builds.
5995         * top/maint.mk (tight-scope.mk): Make sure to prefix file
5996         reference with $(srcdir) so that the file is found correctly even
5997         when running `make syntax-check' in a VPATH build.
5998
5999 2011-11-13  Bruno Haible  <bruno@clisp.org>
6000             Jim Meyering  <meyering@redhat.com>
6001
6002         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6003         * tests/init.sh (compare): Remove "No differences encountered" or
6004         synonymous output from the 'diff' program.
6005
6006 2011-11-13  Bruno Haible  <bruno@clisp.org>
6007
6008         Makefile: Tweak indentation.
6009         * Makefile: Use tab as first character in every line that contains rule
6010         commands.
6011
6012 2011-11-13  Bruno Haible  <bruno@clisp.org>
6013
6014         Syntax check for copyright statements.
6015         * check-copyright: New file.
6016         * Makefile (sc_check_copyright): New rule.
6017
6018 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6019
6020         * build-aux/git-version-gen: Add --prefix to configure the tag
6021         match string.
6022
6023 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6024
6025         * build-aux/git-version-gen: Add --help and --version.
6026
6027 2011-11-12  Jim Meyering  <meyering@redhat.com>
6028
6029         revamp the other test-exclude?.sh scripts to use init.sh, too
6030         * tests/test-exclude1.sh: Use init.sh.
6031         * tests/test-exclude2.sh: Likewise.
6032         * tests/test-exclude3.sh: Likewise.
6033         * tests/test-exclude4.sh: Likewise.
6034         * tests/test-exclude5.sh: Likewise.
6035         * tests/test-exclude6.sh: Likewise.
6036         * tests/test-exclude7.sh: Likewise.
6037         * tests/test-exclude8.sh: Likewise.
6038         * modules/exclude-tests (Files): List init.sh.
6039
6040         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6041         These shell scripts ignored failure of the binary test-exclude,
6042         so making the latter return 77 didn't cause them to be skipped.
6043         * tests/test-exclude5.sh: Exit with test-exclude's error status
6044         when that program fails.  Revamp to use init.sh.
6045         * tests/test-exclude2.sh: Likewise.
6046
6047         test-exclude: fix a typo
6048         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6049
6050 2011-11-11  Bruno Haible  <bruno@clisp.org>
6051
6052         obstack: Fix compilation error on MSVC 9.
6053         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6054
6055 2011-11-11  Jim Meyering  <meyering@redhat.com>
6056
6057         test-exclude: skip tests rather than failing on deficient systems
6058         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6059         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6060         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6061         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6062
6063 2011-11-10  Bruno Haible  <bruno@clisp.org>
6064
6065         ptsname_r test: Avoid gcc warning on glibc systems.
6066         * tests/test-ptsname_r.c (null_ptr): New function.
6067         (test_errors): Use it.
6068
6069 2011-11-10  Bruno Haible  <bruno@clisp.org>
6070
6071         ptsname_r: Avoid compilation error on OSF/1 5.1.
6072         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6073         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6074         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6075         function is not declared or incompatibly declared.
6076         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6077         * modules/ptsname_r (Depends-on, configure.ac): Update.
6078         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6079
6080 2011-11-10  Bruno Haible  <bruno@clisp.org>
6081
6082         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6083         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6084         When cross-compiling, guess yes on all platforms except AIX.
6085         Reported by Ludovic Courtès <ludo@gnu.org>.
6086
6087 2011-11-09  Bruno Haible  <bruno@clisp.org>
6088
6089         ptsname_r tests: Fix bugs.
6090         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6091         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6092
6093 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6094
6095         fstatat: work with cross-compilation
6096         Problem reported by Ludovic Courtès in
6097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
6098         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
6099         "cross-compiling" and assume the bug is present.  Replace
6100         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
6101         an inverted sense, to be more conservative about our assumptions.
6102         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
6103
6104 2011-11-09  Bruno Haible  <bruno@clisp.org>
6105
6106         Improve MODULES.html output.
6107         * modules/mkfifoat (Description): Use the word "function".
6108         * modules/readlinkat (Description): Likewise.
6109         * modules/symlinkat (Description): Likewise.
6110
6111 2011-11-09  Eric Blake  <eblake@redhat.com>
6112
6113         ptsname_r-tests: new test module
6114         * modules/ptsname_r-tests: New module.
6115         * tests/test-ptsname_r.c: New file.
6116
6117         ptsname_r: new module
6118         * modules/ptsname_r: New module.
6119         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
6120         * lib/ptsname.c (__ptsname_r): Split...
6121         * lib/ptsname_r.c: ...into new file.
6122         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6123         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
6124         * modules/stdlib (Makefile.am): Substitute witnesses.
6125         * lib/stdlib.in.h (ptsname_r): Declare it.
6126         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
6127         * MODULES.html.sh (Misc): Likewise.
6128         * modules/ptsname (Depends-on): Alter dependency.
6129         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
6130
6131 2011-11-09  Jim Meyering  <meyering@redhat.com>
6132
6133         announce-gen: be more concise when there's only one URL+tarball
6134         * build-aux/announce-gen (get_tool_versions): When you distribute
6135         only one type of tarball, combine the first two "Here are..."
6136         sections and make the key-checking grammar independent of
6137         how many tarballs there are.
6138
6139 2011-11-09  Eric Blake  <eblake@redhat.com>
6140
6141         openpty: provide a stub on mingw
6142         * lib/pty.in.h (includes): Provide forward declarations.
6143         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
6144
6145         raise: fix mingw handling of SIGPIPE
6146         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
6147
6148 2011-11-08  Bruno Haible  <bruno@clisp.org>
6149
6150         More conditional dependencies.
6151         * modules/faccessat (Depends-on): Add conditions.
6152         * modules/fchmodat (Depends-on): Likewise.
6153         * modules/fchownat (Depends-on): Likewise.
6154         * modules/fstatat (Depends-on): Likewise.
6155         * modules/mkfifoat (Depends-on): Likewise.
6156         * modules/readlinkat (Depends-on): Likewise.
6157         * modules/symlinkat (Depends-on): Likewise.
6158         * modules/unlinkat (Depends-on): Likewise.
6159         * modules/utimensat (Depends-on): Likewise.
6160         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
6161         * modules/linkat (Depends-on): Refine the conditions.
6162         * modules/renameat (Depends-on): Likewise.
6163
6164 2011-11-08  Bruno Haible  <bruno@clisp.org>
6165
6166         faccessat: Move AC_LIBOBJ invocation to module description.
6167         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
6168         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
6169         invocation from here...
6170         * modules/faccessat (configure.ac): ... to here. Invoke
6171         gl_PREREQ_FACCESSAT.
6172
6173 2011-11-08  Bruno Haible  <bruno@clisp.org>
6174
6175         faccessat: Simplify autoconf macro.
6176         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
6177         gl_FUNC_EUIDACCESS.
6178
6179 2011-11-08  Bruno Haible  <bruno@clisp.org>
6180
6181         renameat: Fix dependencies.
6182         * modules/renameat (Depends-on): Add stdbool.
6183
6184 2011-11-08  Bruno Haible  <bruno@clisp.org>
6185
6186         mkfifoat: Fix module description.
6187         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
6188         not gl_UNISTD_MODULE_INDICATOR.
6189
6190 2011-11-08  Bruno Haible  <bruno@clisp.org>
6191
6192         fstatat: Remove unused dependency.
6193         * modules/fstatat (Depends-on): Remove fstat.
6194
6195 2011-11-08  Simon Josefsson  <simon@josefsson.org>
6196
6197         GNUmakefile: behave when Makefile is missing.
6198         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
6199
6200 2011-11-08  Bruno Haible  <bruno@clisp.org>
6201
6202         openat: Conditionalize dependencies.
6203         * lib/openat.c: Reduce the scope of some #includes.
6204         * modules/openat (Depends-on): Add conditions.
6205
6206 2011-11-07  Jim Meyering  <meyering@redhat.com>
6207
6208         maint.mk: extract GPG key ID without using a temporary file
6209         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
6210         without using a temporary file.  Based on a suggestion from Werner Koch
6211         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
6212
6213 2011-11-07  Eric Blake  <eblake@redhat.com>
6214
6215         grantpt: fix typo
6216         * lib/stdlib.in.h (grantpt): Check correct function.
6217
6218         maint.mk: silence new syntax check
6219         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
6220
6221 2011-11-06  Bruno Haible  <bruno@clisp.org>
6222
6223         Doc about floating-point and math API.
6224         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
6225         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
6226
6227 2011-11-06  Bruno Haible  <bruno@clisp.org>
6228
6229         stdalign tests: Skip the test when compiled by Sun C.
6230         * tests/test-stdalign.c (main): Skip the test on Sun C.
6231
6232 2011-11-06  Bruno Haible  <bruno@clisp.org>
6233
6234         ansi-c++-opt: Complete the 2011-06-05 change.
6235         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
6236         does not support namespaces, set the variable to "no", not to ":".
6237
6238 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
6239
6240         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
6241
6242 2011-11-06  Bruno Haible  <bruno@clisp.org>
6243
6244         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
6245         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
6246         (minus_zerol) [HP-UX]: New macro.
6247         (unary_minus) [HP-UX]: New function.
6248         (copysignl) [HP-UX]: Use unary_minus function.
6249
6250 2011-11-06  Bruno Haible  <bruno@clisp.org>
6251
6252         ldexp, ldexpf, ldexpl: Enhance tests.
6253         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
6254         and tests/test-ldexpl.c.
6255         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
6256         LDEXP, MIN_EXP, MAX_EXP): New macros.
6257         Include test-ldexp.h.
6258         (main): Just call test_function.
6259         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
6260         infinity.h, nan.h.
6261         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6262         MAX_EXP): New macros.
6263         Include test-ldexp.h.
6264         (x, y): Remove variables.
6265         (main): Just call test_function.
6266         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
6267         infinity.h, nan.h.
6268         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6269         MAX_EXP): New macros.
6270         Include test-ldexp.h.
6271         (x, y): Remove variables.
6272         (main): Just call test_function.
6273         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
6274         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
6275         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6276         (Depends-on): Add isnand-nolibm, signbit, float.
6277         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
6278         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6279         (Depends-on): Add isnanf-nolibm, signbit, float.
6280
6281 2011-11-06  Bruno Haible  <bruno@clisp.org>
6282
6283         math tests: Cosmetics.
6284         * tests/test-math-c++.cc: Reorder declarations.
6285
6286 2011-11-05  Bruno Haible  <bruno@clisp.org>
6287
6288         fma*: Simplify test.
6289         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
6290         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
6291
6292         Tests for module 'fmal'.
6293         * modules/fmal-tests: New file.
6294         * tests/test-fmal1.c: New file.
6295         * tests/test-fmal2.c: New file.
6296
6297         New module 'fmal'.
6298         * lib/math.in.h (fmal): New declaration.
6299         * lib/fmal.c: New file.
6300         * m4/fmal.m4: New file.
6301         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
6302         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
6303         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
6304         REPLACE_FMAL.
6305         * modules/fmal: New file.
6306         * doc/posix-functions/fmal.texi: Mention the new module and the various
6307         bugs.
6308
6309         Tests for module 'fmaf'.
6310         * modules/fmaf-tests: New file.
6311         * tests/test-fmaf1.c: New file.
6312         * tests/test-fmaf2.c: New file.
6313
6314         New module 'fmaf'.
6315         * lib/math.in.h (fmaf): New declaration.
6316         * lib/fmaf.c: New file.
6317         * m4/fmaf.m4: New file.
6318         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
6319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
6320         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
6321         REPLACE_FMAF.
6322         * modules/fmaf: New file.
6323         * doc/posix-functions/fmaf.texi: Mention the new module and the various
6324         bugs.
6325
6326         Tests for module 'fma'.
6327         * modules/fma-tests: New file.
6328         * tests/test-fma1.c: New file.
6329         * tests/test-fma1.h: New file.
6330         * tests/test-fma2.c: New file.
6331         * tests/test-fma2.h: New file.
6332
6333         New module 'fma'.
6334         * lib/math.in.h (fma): New declaration.
6335         * lib/fma.c: New file.
6336         * m4/fma.m4: New file.
6337         * m4/fegetround.m4: New file.
6338         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
6339         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
6340         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
6341         REPLACE_FMA.
6342         * modules/fma: New file.
6343         * doc/posix-functions/fma.texi: Mention the new module and the various
6344         bugs.
6345
6346         Extend gl_MATHFUNC.
6347         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
6348         Support 'void' as argument type.
6349         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
6350
6351 2011-11-05  Jim Meyering  <meyering@redhat.com>
6352
6353         maint.mk: also prohibit inclusion of dirent.h without use
6354         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
6355
6356 2011-11-05  Bruno Haible  <bruno@clisp.org>
6357
6358         ldexpl tests: Avoid test failure on MSVC 9.
6359         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
6360         value. Needed in order to enforce the conversion from a value greater
6361         than LDBL_MAX to Infinity.
6362
6363 2011-11-05  Bruno Haible  <bruno@clisp.org>
6364
6365         New modules 'at-internal', 'openat-h', split off from module 'openat'.
6366         * modules/at-internal: New file, extracted from modules/openat.
6367         * modules/openat-h: New file.
6368         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
6369         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
6370         * modules/openat (Description): Add reference to POSIX function.
6371         (Files): Remove lib/openat.h, lib/openat-proc.c.
6372         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
6373         intprops, unistd.
6374         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
6375         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
6376         gl_FCNTL_MODULE_INDICATOR.
6377         (Include): Remove unistd.h, openat.h.
6378         * modules/areadlinkat (Files): Add lib/at-func.c.
6379         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6380         openat-die, openat-h, save-cwd.
6381         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
6382         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6383         openat-die, openat-h, save-cwd, unistd.
6384         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
6385         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6386         openat-h, save-cwd. Remove fcntl-h, openat.
6387         * modules/fchmodat (Files): Remove lib/openat.h.
6388         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6389         openat, stdbool, unistd.
6390         * modules/fchownat (Files): Remove lib/openat.h.
6391         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6392         openat, stdbool, sys_stat.
6393         * modules/fdopendir (Files): Remove lib/openat-priv.h,
6394         lib/openat-proc.c.
6395         (Depends-on): Add at-internal.
6396         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
6397         * modules/fstatat (Files): Remove lib/openat.h.
6398         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6399         stdbool, unistd.
6400         * modules/fts (Depends-on): Add openat-h.
6401         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
6402         openat.
6403         * modules/mkdirat (Files): Remove lib/openat.h.
6404         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6405         openat, stdbool, sys_stat.
6406         * modules/mkfifoat (Files): Add lib/at-func.c.
6407         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6408         openat-h, save-cwd. Remove fcntl-h, openat.
6409         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
6410         * modules/readlinkat (Files): Add lib/at-func.c.
6411         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6412         openat-h, save-cwd. Remove fcntl-h, openat.
6413         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
6414         openat.
6415         * modules/selinux-at (Files): Add lib/at-func.c.
6416         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6417         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
6418         * modules/symlinkat (Files): Add lib/at-func.c.
6419         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6420         openat-h, save-cwd. Remove fcntl-h, openat.
6421         * modules/unlinkat (Files): Remove lib/openat.h.
6422         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6423         stdbool.
6424         * modules/utimensat (Files): Add lib/at-func.c.
6425         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
6426         openat-die, openat-h, save-cwd.
6427         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
6428         * modules/fdutimensat-tests (Depends-on): Add openat.
6429         * modules/fstatat-tests (Depends-on): Add openat-h.
6430         * modules/readlinkat-tests (Depends-on): Add openat.
6431         * modules/symlinkat-tests (Depends-on): Add openat.
6432
6433 2011-11-05  Bruno Haible  <bruno@clisp.org>
6434
6435         openat: Include <stdbool.h>.
6436         * lib/openat.c: Include <stdbool.h>.
6437
6438 2011-11-04  Bruno Haible  <bruno@clisp.org>
6439
6440         fchownat, renameat, unlinkat: Fix dependencies.
6441         * modules/fchownat (Depends-on): Add fstatat.
6442         * modules/renameat (Depends-on): Likewise.
6443         * modules/unlinkat (Depends-on): Likewise.
6444
6445 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
6446
6447         openat: remove direct dependency on dirent
6448         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
6449         and hasn't been needed ever since fdopendir was split into its own
6450         module on 2009-08-31.
6451         * modules/openat (Depends-on): Remove dirent.
6452
6453 2011-11-04  Bruno Haible  <bruno@clisp.org>
6454
6455         renameat: Optimize code size.
6456         * modules/renameat (configure.ac): Don't compile at-func2.c if
6457         REPLACE_RENAMEAT is 1.
6458
6459 2011-11-04  Bruno Haible  <bruno@clisp.org>
6460
6461         openat tests: Fix file list.
6462         * modules/openat-tests (Files): Add tests/test-open.h.
6463
6464 2011-11-04  Bruno Haible  <bruno@clisp.org>
6465
6466         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
6467         * modules/fchmodat (Depends-on): Add openat-die.
6468         * modules/fchownat (Depends-on): Likewise.
6469         * modules/linkat (Depends-on): Likewise.
6470         * modules/renameat (Depends-on): Likewise.
6471         * modules/openat (Depends-on): Add dirent.
6472
6473 2011-11-04  Jim Meyering  <meyering@redhat.com>
6474
6475         at-func*.c: fix comments
6476         * lib/at-func2.c: Correct/improve first-line comment.
6477         * lib/at-func.c: Correct grammar in first-line comment.
6478
6479 2011-11-04  Bruno Haible  <bruno@clisp.org>
6480
6481         New module 'mkdirat', split off from module 'openat'.
6482         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
6483         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
6484         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
6485         * modules/mkdirat: New file, extracted from modules/openat.
6486         * modules/openat (Files): Remove lib/mkdirat.c.
6487         (Depends-on): Remove mkdir.
6488         (configure.ac): Remove AC_LIBOBJ of mkdirat.
6489         (Include): Remove <sys/stat.h>.
6490         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
6491         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
6492         tests/test-mkdir.h.
6493         (Depends-on): Remove ignore-value.
6494         (Makefile.am): Remove rules for test-mkdirat.
6495         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
6496         of module 'openat'.
6497         * NEWS: Mention the change.
6498
6499 2011-11-04  Bruno Haible  <bruno@clisp.org>
6500
6501         closedir: Avoid warning on mingw.
6502         * lib/closedir.c: Include <unistd.h>.
6503
6504 2011-11-04  Bruno Haible  <bruno@clisp.org>
6505
6506         New module 'fstatat', split off from module 'openat'.
6507         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
6508         defined.
6509         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
6510         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
6511         gl_FUNC_FSTATAT.
6512         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
6513         * modules/fstatat: New file, extracted from modules/openat.
6514         * modules/openat (Files): Remove lib/fstatat.c.
6515         (Depends-on): Remove lstat.
6516         (configure.ac): Remove AC_LIBOBJ of fstatat.
6517         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
6518         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
6519         tests/test-lstat.h, tests/test-stat.h.
6520         (Depends-on): Remove getcwd-lgpl.
6521         (Makefile.am): Remove rules for test-fstatat.
6522         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
6523         of module 'openat'.
6524         * NEWS: Mention the change.
6525         * modules/getcwd (Depends-on): Add fstatat.
6526         * modules/linkat (Depends-on): Likewise.
6527         * modules/mkfifoat-tests (Depends-on): Likewise.
6528         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
6529
6530 2011-11-03  Bruno Haible  <bruno@clisp.org>
6531
6532         New module 'unlinkat', split off from module 'openat'.
6533         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
6534         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
6535         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
6536         * modules/unlinkat: New file, extracted from modules/openat. Correct
6537         the dependency conditions.
6538         * modules/openat (Files): Remove lib/unlinkat.c.
6539         (Depends-on): Remove rmdir, unlink.
6540         (configure.ac): Remove AC_LIBOBJ of unlinkat.
6541         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
6542         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
6543         tests/test-rmdir.h, tests/test-unlink.h.
6544         (Depends-on): Remove unlinkdir.
6545         (Makefile.am): Remove rules for test-unlinkat.
6546         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
6547         of module 'openat'.
6548         * NEWS: Mention the change.
6549         * modules/linkat-tests (Depends-on): Add unlinkat.
6550         * modules/mkfifoat-tests (Depends-on): Likewise.
6551         * modules/readlinkat-tests (Depends-on): Likewise.
6552
6553 2011-11-02  Bruno Haible  <bruno@clisp.org>
6554
6555         New module 'fchmodat', split off from module 'openat'.
6556         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
6557         defined.
6558         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
6559         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
6560         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
6561         * modules/fchmodat: New file, extracted from modules/openat.
6562         * modules/openat (Files): Remove lib/fchmodat.c.
6563         (configure.ac): Remove AC_LIBOBJ of fchmodat.
6564         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
6565         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
6566         (Makefile.am): Remove rules for test-fchmodat.
6567         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
6568         of module 'openat'.
6569         * NEWS: Mention the change.
6570
6571 2011-11-02  Jim Meyering  <meyering@redhat.com>
6572
6573         putenv: indent #definition of "environ" to placate cppi
6574         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
6575
6576         gitlog-to-changelog: provide a ChangeLog-repair mechanism
6577         Git logs are often treated as immutable, because editing them
6578         changes the SHA1 checksums of all descendants.  Thus, errors in
6579         git logs tend to stay there forever.  However, when we generate
6580         a ChangeLog file -- typically for distribution -- from that git log,
6581         we can actually make corrections in the generated file.  The key
6582         lies in recording in machine-readable/applicable form the desired
6583         corrections.  See --help for description and an example.
6584         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
6585         (usage): Describe it; alphabetize option descriptions.
6586         (main): Honor the new option, carefully.
6587
6588 2011-11-01  Jim Meyering  <meyering@redhat.com>
6589
6590         gitlog-to-changelog: avoid an infloop
6591         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
6592         that ends up being empty.
6593
6594 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6595
6596         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
6597         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
6598         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
6599         contains (possibly-quoted) backslashes.  This should avoid
6600         all-too-common shell bugs if COMPLICATED contains backslashes in
6601         the "wrong" places.  Reported by David Evans in
6602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
6603         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
6604         because we want ASCII ranges.  Is there some reason we don't use
6605         the C locale everywhere in this script?
6606         (func_module, top level): Avoid unwanted pathname expansion when
6607         $repo_url_prefix or $repo_url_suffix_repl contain shell
6608         metacharacters like '?' and '*'.
6609
6610 2011-11-01  Bruno Haible  <bruno@clisp.org>
6611
6612         fchownat: Improve description.
6613         * modules/fchownat (Description): Add link to function.
6614
6615 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6616
6617         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
6618         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
6619         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
6620         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
6621
6622 2011-11-01  Bruno Haible  <bruno@clisp.org>
6623
6624         alignof: Avoid collision with stdalign module.
6625         * lib/alignof.h (alignof): Remove macro.
6626         * NEWS: Mention the change.
6627         Reported by Paul Eggert.
6628
6629 2011-11-01  Bruno Haible  <bruno@clisp.org>
6630
6631         New module 'fchownat', split off from module 'openat'.
6632         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
6633         defined.
6634         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
6635         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
6636         invoke gl_FUNC_FCHOWNAT.
6637         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
6638         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
6639         * modules/fchownat: New file, extracted from modules/openat.
6640         * modules/openat (Files): Remove lib/fchownat.c.
6641         (Depends-on): Remove lchown.
6642         (configure.ac): Remove AC_LIBOBJ of fchownat.
6643         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
6644         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
6645         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
6646         (Depends-on): Remove mgetgroups, usleep, stat-time.
6647         (configure.ac): Remove test for getegid.
6648         (Makefile.am): Remove rules for test-fchownat.
6649         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
6650         of module 'openat'.
6651         * NEWS: Mention the change.
6652
6653 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6654
6655         stdalign: port better to MSVC and to Sun C 5.11
6656         This fixes some of the problems reported by Bruno Haible in
6657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
6658         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
6659         shortcomings of MSVC and of Sun C 5.11.
6660         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
6661         around __declspec arg.
6662         * modules/stdalign-tests (Files): Add tests/macros.h.
6663         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
6664         Include macros.h, for ASSERT.
6665         (DECLARE_ALIGNED): Remove.
6666         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
6667         to catch bug), and to 1 if not (simplifies the rest of the code).
6668         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
6669         (CHECK_AUTO): Remove.
6670         (CHECK_ALIGNED): Check only the alignment of the static vars,
6671         since auto var alignment isn't supported by Sun C 5.11.
6672         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
6673         ASSERT failures are easier to diagnose.
6674
6675 2011-10-31  Bruno Haible  <bruno@clisp.org>
6676
6677         doc about some IRIX 5.3 problems.
6678         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
6679         on IRIX 5.3.
6680         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
6681         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
6682         5.3.
6683         * doc/posix-functions/grantpt.texi: Likewise.
6684         * doc/posix-functions/unlockpt.texi: Likewise.
6685         * doc/posix-functions/lgamma.texi: Likewise.
6686         * doc/posix-functions/nextafter.texi: Likewise.
6687         * doc/posix-functions/remainder.texi: Likewise.
6688         * doc/posix-functions/select.texi: Mention misplaced declaration on
6689         IRIX 5.3.
6690         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6691
6692 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
6693
6694         gitlog-to-changelog: fix git-log invocation.
6695         git-log mishandles date strings before 1970-01-01 UTC, and there is
6696         no use to specify --since=1970-01-01 by default anyway.
6697         * build-aux/gitlog-to-changelog: By default, when no --since option
6698         was given, do not specify explicit --since option to git-log.
6699
6700 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
6701
6702         gitlog-to-changelog: new option --append-dot.
6703         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
6704         first non-blank line of each commit message terminated with a dot.
6705
6706 2011-10-30  Bruno Haible  <bruno@clisp.org>
6707
6708         ffsl, ffsll: Avoid compilation error due to 'restrict'.
6709         * lib/ffsl.h: Include <config.h>.
6710         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
6711
6712 2011-10-30  Jim Meyering  <meyering@redhat.com>
6713
6714         GNUmakefile: reenable "make syntax-check" for most projects
6715         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
6716         build-aux variable", "syntax-check" would do nothing but succeed with
6717         the "No version control files detected..." diagnostic (unless you
6718         happened to override _build-aux via cfg.mk).
6719         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
6720         to precede inclusion of maint.mk.  Otherwise, these variables would
6721         be used undefined in any project that does not override the default.
6722
6723 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
6724
6725         gitlog-to-changelog: treat a message with only blank lines as empty.
6726         * build-aux/gitlog-to-changelog: Move the code that removes leading and
6727         trailing blank lines before the code that issues a warning about an
6728         empty commit message.
6729
6730 2011-10-30  Jim Meyering  <meyering@redhat.com>
6731
6732         test-parse-datetime.c: avoid new DST-related false positive test failure
6733         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
6734         based on the time/date we'll convert, not the current time.
6735         Otherwise, the moment we cross a DST boundary like today's in
6736         Europe, (CEST to CET), that offset ends up being one hour off.
6737
6738 2011-10-27  Bruno Haible  <bruno@clisp.org>
6739
6740         fstat: Tweak documentation.
6741         * modules/fstat (Description): More precise description.
6742
6743 2011-10-27  Bruno Haible  <bruno@clisp.org>
6744
6745         Update documentation regarding 'largefile' module.
6746         * doc/posix-functions/fstat.texi: Tweak wording.
6747         * doc/posix-functions/opendir.texi: Mention that the module fixes the
6748         problems with huge directories and/or small ino_t types.
6749         * doc/posix-functions/readdir.texi: Likewise.
6750         * doc/posix-functions/rewinddir.texi: Likewise.
6751
6752 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
6753
6754         maint.mk: don't maintain a second build-aux variable.
6755         * maint.mk (build_aux): Removed.  The maintainer-makefile module
6756         depends on GNUmakefile, which already maintains a cfg.mk
6757         overridable $(_build-aux) for projects with a non-standard
6758         build-aux directory location, although without the $(srcdir)
6759         prefix.  Use that variable consistently instead of introducing a
6760         second one.  Adjust all call sites.
6761
6762 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6763
6764         Add stdalign module and use it in other modules.
6765         This is based on a previous proposal by Bruno Haible
6766         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
6767
6768         stdalign: new module
6769         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
6770         * modules/stdalign: New files.
6771         * MODULES.html.sh (c1x_core_properties): Add stdalign.
6772         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
6773
6774         stdalign-tests: new module
6775         * modules/stdalign-tests, tests/test-stdalign.c: New files.
6776
6777         argp: use stdalign
6778         * lib/argp-parse.c: Include <stdalign.h>.
6779         (alignof): Remove.
6780         * modules/argp (Depends-on): Add stdalign.
6781
6782         crypto libraries: use stdalign
6783         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
6784         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
6785         Do not include <stdlib.h> twice, in md4.c.
6786         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
6787         because we are accessing a pointer's bit-pattern, not a size.
6788         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
6789         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
6790         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
6791         * modules/crypto/sha512: Likewise.
6792
6793         sys_socket: use stdalign, not alignof
6794         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
6795         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
6796
6797 2011-10-27  Bruno Haible  <bruno@clisp.org>
6798
6799         raise test: Avoid a test failure on Linux/MIPS.
6800         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
6801         because 99 is a valid signal on Linux/MIPS.
6802
6803 2011-10-27  Bruno Haible  <bruno@clisp.org>
6804
6805         nonblocking tests: Fix test failure on Linux/MIPS.
6806         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
6807         Set to 270000.
6808
6809 2011-10-27  Bruno Haible  <bruno@clisp.org>
6810
6811         utimensat: Work around problem on Linux/hppa.
6812         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
6813         values.
6814         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
6815
6816 2011-10-25  Jim Meyering  <meyering@redhat.com>
6817
6818         maint.mk: fix a bug in sc_prohibit_stddef_without_use
6819         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
6820         after symbols like NULL, size_t, etc.
6821         Reported by Alfred M. Szmidt.
6822
6823         maint.mk: exempt ENODATA from a syntax-check rule
6824         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
6825         from the sc_prohibit_always-defined_macros syntax-check rule.
6826         Add a comment.  See this for more details:
6827         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
6828
6829 2011-10-23  Jim Meyering  <meyering@redhat.com>
6830
6831         fts: close parent dir FD before returning from post-traversal fts_read
6832         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
6833         unlink A, even though an FD open on A remained.  This is suboptimal
6834         (holding a file descriptor open longer than needed), but otherwise not
6835         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
6836         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
6837         that represents a real problem: it causes the removal of A to fail
6838         with e.g., "rm: cannot remove `A': Device or resource busy"
6839
6840         fts visits each directory twice and keeps a cache (fts_fd_ring) of
6841         directory file descriptors.  After completing the final, FTS_DP,
6842         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
6843         cache, but then proceeded to add a new FD to it via the subsequent
6844         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
6845         final file descriptor would be closed only via fts_close's call to
6846         fd_ring_clear.  Now, it is usually closed earlier, via the final
6847         FTS_DP-returning fts_read call.
6848         * lib/fts.c (restore_initial_cwd): New function, converted from
6849         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
6850         Update callers.
6851         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
6852         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
6853
6854 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
6855             Bruno Haible  <bruno@clisp.org>
6856             Jim Meyering  <jim@meyering.net>
6857
6858         readme-release: improve safety of release prep instructions.
6859         * README-release: Don't git pull all branches when only master
6860         is needed for the release process.
6861         Run make maintainer-clean before changing trees and merging.
6862         Don't try to run ./configure right after git pull in case files
6863         that influence the bootstrap process have changed, move the
6864         ./configure step to after running ./bootstrap.
6865         Don't bootstrap "one last time"... it's the first time!
6866
6867 2011-10-22  Bruno Haible  <bruno@clisp.org>
6868
6869         errno, strerror-override: Support for MSVC 10.
6870         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
6871         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
6872         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
6873         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
6874         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
6875         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
6876         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
6877         Assign values compatible with MSVC 10.
6878         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
6879         New macros.
6880         (GNULIB_defined_EWINSOCK): New macro.
6881         * lib/strerror-override.c (strerror_override): Update accordingly.
6882         * lib/strerror-override.h: Likewise.
6883         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
6884         longer equal to the corresponding errno value.
6885         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6886
6887 2011-10-22  Bruno Haible  <bruno@clisp.org>
6888
6889         perror: Recognize when test program crashes.
6890         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
6891         strerror, set gl_cv_func_perror_works to no.
6892         Reported by Daniel Richard G. <skunk@iskunk.org>.
6893
6894         perror: Fix indentation.
6895         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
6896
6897 2011-10-22  Bruno Haible  <bruno@clisp.org>
6898
6899         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
6900         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
6901         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
6902         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
6903         functions, not as a macro.
6904         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
6905         macros.
6906         (isfinite, isinf, isnan, signbit): Check overloaded functions and
6907         absence of macro.
6908         Suggested by Eric Blake.
6909         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6910
6911 2011-10-21  Bruno Haible  <bruno@clisp.org>
6912
6913         relocatable-prog-wrapper: Don't leave object files behind.
6914         * build-aux/install-reloc: Re-synchronize list of .o files to be
6915         removed with list of compilation units.
6916
6917 2011-10-20  Bruno Haible  <bruno@clisp.org>
6918
6919         openpty, posix_openpt: Remove code duplication.
6920         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
6921         * lib/openpty.c: Include <stdlib.h>.
6922         (openpty): Use posix_openpt on all platforms except IRIX.
6923         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
6924
6925 2011-10-20  Bruno Haible  <bruno@clisp.org>
6926
6927         unlockpt: Detect invalid argument.
6928         * lib/unlockpt.c: Include <fcntl.h>.
6929         (unlockpt): Check whether fd is valid, using fcntl().
6930         * modules/unlockpt (Depends-on): Add fcntl-h.
6931
6932 2011-10-20  Bruno Haible  <bruno@clisp.org>
6933
6934         openpty: Avoid compilation error on AIX 6.1.
6935         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
6936
6937 2011-10-20  Bruno Haible  <bruno@clisp.org>
6938
6939         posix_openpt: Support for OpenBSD.
6940         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
6941         (posix_openpt) [OpenBSD]: New code.
6942         * lib/grantpt.c: Include <fcntl.h>.
6943         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
6944         * modules/grantpt (Depends-on): Add fcntl-h.
6945
6946 2011-10-20  Bruno Haible  <bruno@clisp.org>
6947
6948         posix_openpt test: Coding style.
6949         * tests/test-posix_openpt.c: Use GNU coding style.
6950
6951 2011-10-20  Bruno Haible  <bruno@clisp.org>
6952
6953         grantpt: Support --avoid=pt_chown.
6954         * modules/grantpt (Files): Add lib/pty-private.h.
6955
6956 2011-10-20  Bruno Haible  <bruno@clisp.org>
6957
6958         posix_openpt: Fix autoconf macro.
6959         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
6960         unneeded check for _getpty.
6961
6962 2011-10-20  Bruno Haible  <bruno@clisp.org>
6963
6964         openpty: Update comments.
6965         * lib/openpty.c: Add comments about Minix.
6966
6967 2011-10-19  Eric Blake  <eblake@redhat.com>
6968
6969         openpty: relax license
6970         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
6971
6972         pt_chown: use configmake to simplify build
6973         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
6974
6975         ptsname and others: relax license
6976         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
6977         * modules/unlockpt (License): Likewise.
6978         * modules/pt_chown (License): Likewise.
6979         * modules/ptsname (License): Likewise.
6980         * modules/ttyname_r (License): Likewise.
6981
6982 2011-10-19  Jim Meyering  <meyering@redhat.com>
6983
6984         posix_openpt: remove spurious #endif
6985         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
6986
6987 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
6988
6989         maint.mk: Respect $(build_aux) in web-manual rule.
6990         * top/maint.mk (web-manual): Find gen-announce script in user's
6991         $(build_aux) directory instead of hard-coding 'build-aux'.
6992
6993 2011-10-19  Bruno Haible  <bruno@clisp.org>
6994
6995         posix_openpt: Fix compilation error.
6996         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
6997         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
6998         Mention the openpty module as an alternative.
6999
7000 2011-10-19  Bruno Haible  <bruno@clisp.org>
7001
7002         Support for old NeXTstep 3.3 frexp().
7003         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7004         execution time of the test to 5 seconds.
7005         Reported by Daniel Richard G. <skunk@iskunk.org>.
7006
7007 2011-10-19  Bruno Haible  <bruno@clisp.org>
7008
7009         Support for old NeXTstep 3.3 sed.
7010         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7011         part, use /.../, not \|...|. Escape periods in the header file name.
7012         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7013         Reported by Daniel Richard G. <skunk@iskunk.org>.
7014
7015 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7016
7017         Support for old NeXTstep 3.3 gcc.
7018         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7019         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7020         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7021         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7022         * lib/regex.h (_Restrict_arr_): Likewise.
7023         * lib/regex_internal.h (re_token_t): Likewise.
7024         * lib/regexec.c (check_node_accept_bytes): Likewise.
7025         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7026
7027 2011-10-18  Eric Blake  <eblake@redhat.com>
7028
7029         posix_openpt: new module
7030         * modules/posix_openpt: New module.
7031         * m4/posix_openpt.m4: New file.
7032         * lib/posix_openpt.c: Likewise.
7033         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7034         (gl_STDLIB_H_DEFAULTS): Set defaults.
7035         * modules/stdlib (Makefile.am): Substitute macros.
7036         * lib/stdlib.in.h (posix_openpt): Declare.
7037         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7038         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7039         * modules/posix_openpt-tests: New test module.
7040         * tests/test-posix_openpt.c: New test.
7041
7042 2011-10-15  Bruno Haible  <bruno@clisp.org>
7043
7044         xstrtoll: Fix compilation failure.
7045         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7046         from lib/strtol.c.
7047         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7048         some platforms.
7049         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7050
7051 2011-10-15  Bruno Haible  <bruno@clisp.org>
7052
7053         vasnprintf: Optimize bit search operation.
7054         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7056         gl_DOUBLE_EXPONENT_LOCATION.
7057         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7058         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7059         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7060         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7061         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7062         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7063         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7064         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7065         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7066
7067 2011-10-15  Bruno Haible  <bruno@clisp.org>
7068
7069         vasnprintf: Fix comments.
7070         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7071
7072 2011-10-14  Bruno Haible  <bruno@clisp.org>
7073
7074         Tests for module 'integer_length_ll'.
7075         * modules/integer_length_ll-tests: New file.
7076         * tests/test-integer_length_ll.c: New file.
7077
7078         New module 'integer_length_ll'.
7079         * lib/integer_length_ll.c: New file.
7080         * modules/integer_length_ll: New file.
7081
7082 2011-10-14  Bruno Haible  <bruno@clisp.org>
7083
7084         Tests for module 'integer_length_l'.
7085         * modules/integer_length_l-tests: New file.
7086         * tests/test-integer_length_l.c: New file.
7087
7088         New module 'integer_length_l'.
7089         * lib/integer_length_l.c: New file.
7090         * modules/integer_length_l: New file.
7091
7092 2011-10-14  Bruno Haible  <bruno@clisp.org>
7093
7094         Tests for module 'integer_length'.
7095         * modules/integer_length-tests: New file.
7096         * tests/test-integer_length.c: New file.
7097
7098         New module 'integer_length'.
7099         * lib/integer_length.h: New file.
7100         * lib/integer_length.c: New file.
7101         * modules/integer_length: New file.
7102
7103 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7104
7105         popen: Fix dependency conditions.
7106         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
7107
7108 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7109
7110         perror: Fix autoconf test.
7111         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
7112         <stdlib.h> and <string.h>.
7113
7114 2011-10-14  Bruno Haible  <bruno@clisp.org>
7115
7116         ffsl: Optimize on 64-bit platforms.
7117         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
7118         unrolling.
7119
7120 2011-10-13  Bruno Haible  <bruno@clisp.org>
7121
7122         ffsl: Optimize on 32-bit platforms.
7123         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
7124         use ffs() without a loop.
7125
7126         ffsl, ffsll: Optimize for GCC.
7127         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
7128         * lib/ffsl.c (GCC_BUILTIN): New macro.
7129         * lib/ffsll.c (GCC_BUILTIN): Likewise.
7130
7131 2011-10-13  Bruno Haible  <bruno@clisp.org>
7132
7133         ffs, bcopy, memset: Support symbol renaming via config.h.
7134         * lib/ffs.c: Include <config.h>.
7135         * lib/bcopy.c: Likewise.
7136         * lib/memset.c: Likewise.
7137
7138 2011-10-10  Bruno Haible  <bruno@clisp.org>
7139
7140         atanl: Simplify for platforms where 'long double' == 'double'.
7141         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7142         alternative implementation.
7143         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7144         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7145         * modules/atanl (Depends-on): Add atan. Update conditions.
7146
7147 2011-10-10  Bruno Haible  <bruno@clisp.org>
7148
7149         acosl: Simplify for platforms where 'long double' == 'double'.
7150         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7151         alternative implementation.
7152         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7153         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7154         * modules/acosl (Depends-on): Add acos. Update conditions.
7155
7156 2011-10-10  Bruno Haible  <bruno@clisp.org>
7157
7158         asinl: Simplify for platforms where 'long double' == 'double'.
7159         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7160         alternative implementation.
7161         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7162         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7163         * modules/asinl (Depends-on): Add asin. Update conditions.
7164
7165 2011-10-10  Bruno Haible  <bruno@clisp.org>
7166
7167         tanl: Simplify for platforms where 'long double' == 'double'.
7168         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7169         implementation.
7170         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7171         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7172         * modules/tanl (Depends-on): Add tan. Update conditions.
7173         (configure.ac): Don't compile trigl.c if
7174         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7175
7176 2011-10-10  Bruno Haible  <bruno@clisp.org>
7177
7178         cosl: Simplify for platforms where 'long double' == 'double'.
7179         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7180         implementation.
7181         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7182         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7183         * modules/cosl (Depends-on): Add cos. Update conditions.
7184         (configure.ac): Don't compile sincosl.c and trigl.c if
7185         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7186
7187 2011-10-10  Bruno Haible  <bruno@clisp.org>
7188
7189         sinl: Simplify for platforms where 'long double' == 'double'.
7190         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7191         implementation.
7192         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7193         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7194         * modules/sinl (Depends-on): Add sin. Update conditions.
7195         (configure.ac): Don't compile sincosl.c and trigl.c if
7196         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7197
7198 2011-10-10  Bruno Haible  <bruno@clisp.org>
7199
7200         logl: Simplify for platforms where 'long double' == 'double'.
7201         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7202         implementation.
7203         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7204         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7205         * modules/logl (Depends-on): Add log. Update conditions.
7206
7207 2011-10-10  Bruno Haible  <bruno@clisp.org>
7208
7209         expl: Simplify for platforms where 'long double' == 'double'.
7210         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7211         implementation.
7212         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7213         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7214         * modules/expl (Depends-on): Add exp. Update conditions.
7215
7216 2011-10-10  Bruno Haible  <bruno@clisp.org>
7217
7218         sqrtl: Simplify for platforms where 'long double' == 'double'.
7219         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7220         alternative implementation.
7221         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7222         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7223         * modules/sqrtl (Depends-on): Update conditions.
7224
7225 2011-10-10  Bruno Haible  <bruno@clisp.org>
7226
7227         ldexpl: Simplify for platforms where 'long double' == 'double'.
7228         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7229         alternative implementation.
7230         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7231         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7232         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
7233
7234 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
7235
7236         ffsll: set correct witness
7237         * modules/ffsll (configure.ac): Fix typo.
7238
7239 2011-10-10  Bruno Haible  <bruno@clisp.org>
7240
7241         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
7242         * lib/printf-frexpl.c: Include <config.h>.
7243         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7244         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
7245         second time.
7246         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
7247         gl_LONG_DOUBLE_VS_DOUBLE.
7248         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
7249         conditions.
7250
7251 2011-10-10  Bruno Haible  <bruno@clisp.org>
7252
7253         frexpl: Simplify for platforms where 'long double' == 'double'.
7254         * lib/frexpl.c: Include <config.h>.
7255         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7256         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7257         time.
7258         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7259         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7260         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
7261         * modules/frexpl (Depends-on): Add frexp. Update conditions.
7262         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
7263         conditions.
7264
7265 2011-10-10  Jim Meyering  <meyering@redhat.com>
7266
7267         test-renameat: don't leave behind a temporary file
7268         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
7269           ERROR: files left in build directory after distclean:
7270           ./gltests/test-renameat.too
7271           make[1]: *** [distcleancheck] Error 1
7272         Reported by Tom G. Christensen.
7273
7274 2011-10-09  Bruno Haible  <bruno@clisp.org>
7275
7276         rint: Determine RINT_LIBM correctly on AIX 7.
7277         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
7278         directly, not only through a function pointer. Also accept an optional
7279         4th argument with extra code.
7280         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
7281         rintf() call by gcc when optimizing.
7282
7283         mathfunc.m4: Refactor.
7284         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
7285         m4 variable.
7286
7287 2011-10-09  Bruno Haible  <bruno@clisp.org>
7288
7289         rintl: Simplify for platforms where 'long double' == 'double'.
7290         * lib/rintl.c: Include <config.h>.
7291         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7292         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7293         time.
7294         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7295         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7296         * modules/rintl (Depends-on): Add rint. Update conditions.
7297
7298 2011-10-09  Bruno Haible  <bruno@clisp.org>
7299
7300         roundl: Simplify for platforms where 'long double' == 'double'.
7301         * lib/roundl.c: Include <config.h>.
7302         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7303         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7304         time.
7305         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7306         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7307         * modules/roundl (Depends-on): Add round. Update conditions.
7308
7309 2011-10-09  Bruno Haible  <bruno@clisp.org>
7310
7311         truncl: Simplify for platforms where 'long double' == 'double'.
7312         * lib/truncl.c: Include <config.h>.
7313         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7314         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7315         time.
7316         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7317         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7318         * modules/truncl (Depends-on): Add trunc. Update conditions.
7319
7320 2011-10-09  Bruno Haible  <bruno@clisp.org>
7321
7322         ceill: Simplify for platforms where 'long double' == 'double'.
7323         * lib/ceill.c: Include <config.h>.
7324         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7325         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7326         time.
7327         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7328         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7329         * modules/ceill (Depends-on): Add ceil. Update conditions.
7330
7331 2011-10-09  Bruno Haible  <bruno@clisp.org>
7332
7333         floorl: Simplify for platforms where 'long double' == 'double'.
7334         * lib/floorl.c: Include <config.h>.
7335         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7336         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7337         time.
7338         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7339         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7340         * modules/floorl (Depends-on): Add floor. Update conditions.
7341
7342 2011-10-09  Bruno Haible  <bruno@clisp.org>
7343
7344         rint: Fix ordering constraints.
7345         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
7346         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
7347         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
7348
7349 2011-10-09  Bruno Haible  <bruno@clisp.org>
7350
7351         copysignl: Simplify for platforms where 'long double' == 'double'.
7352         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7353         alternative.
7354         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7355         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7356         * modules/copysignl (Depends-on): Add copysign. Update conditions.
7357
7358 2011-10-09  Bruno Haible  <bruno@clisp.org>
7359
7360         Tests for module 'rintl'.
7361         * modules/rintl-tests: New file.
7362         * tests/test-rintl.c: New file.
7363
7364         New module 'rintl'.
7365         * lib/math.in.h (rintl): New declaration.
7366         * lib/rintl.c: New file.
7367         * m4/rintl.m4: New file.
7368         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
7369         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
7370         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
7371         * modules/rintl: New file.
7372         * tests/test-math-c++.cc: Check the declaration of rintl.
7373         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7374         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
7375         * doc/posix-functions/rintl.texi: Mention the new module.
7376
7377 2011-10-09  Bruno Haible  <bruno@clisp.org>
7378
7379         Tests for module 'rintf'.
7380         * modules/rintf-tests: New file.
7381         * tests/test-rintf.c: New file.
7382
7383         New module 'rintf'.
7384         * lib/math.in.h (rintf): New declaration.
7385         * lib/rintf.c: New file.
7386         * m4/rintf.m4: New file.
7387         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
7388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
7389         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
7390         * modules/rintf: New file.
7391         * tests/test-math-c++.cc: Check the declaration of rintf.
7392         * doc/posix-functions/rintf.texi: Mention the new module.
7393
7394 2011-10-09  Bruno Haible  <bruno@clisp.org>
7395
7396         rint: Support for MSVC.
7397         * lib/math.in.h (rint): New declaration.
7398         * lib/rint.c: New file.
7399         * m4/rint.m4: New file.
7400         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
7401         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
7402         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
7403         * modules/rint (Description): Fix.
7404         (Files): Add lib/rint.c, m4/rint.m4.
7405         (Depends-on): Add math.
7406         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
7407         gl_MATH_MODULE_INDICATOR.
7408         * tests/test-math-c++.cc: Check the declaration of rint.
7409         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7410         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
7411         * doc/posix-functions/rint.texi: Mention the replacement provided by
7412         the module.
7413
7414         rint tests: More tests.
7415         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
7416         minus-zero.h, infinity.h, nan.h.
7417         (main): Skip the test if the current rounding mode is not standard. Add
7418         tests for negative numbers, minus zero, infinity, NaN.
7419         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
7420         tests/nan.h.
7421         (Depends-on): Add isnand-nolibm.
7422
7423 2011-10-09  Bruno Haible  <bruno@clisp.org>
7424
7425         Tests for module 'copysignl'.
7426         * modules/copysignl-tests: New file.
7427         * tests/test-copysignl.c: New file.
7428
7429         New module 'copysignl'.
7430         * lib/math.in.h (copysignl): New declaration.
7431         * lib/copysignl.c: New file.
7432         * m4/copysignl.m4: New file.
7433         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
7434         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
7435         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
7436         HAVE_COPYSIGNL.
7437         * modules/copysignl: New file.
7438         * tests/test-math-c++.cc: Check the declaration of copysignl.
7439         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7440         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
7441         * doc/posix-functions/copysignl.texi: Mention the new module.
7442
7443 2011-10-09  Bruno Haible  <bruno@clisp.org>
7444
7445         Tests for module 'copysignf'.
7446         * modules/copysignf-tests: New file.
7447         * tests/test-copysignf.c: New file.
7448
7449         New module 'copysignf'.
7450         * lib/math.in.h (copysignf): New declaration.
7451         * lib/copysignf.c: New file.
7452         * m4/copysignf.m4: New file.
7453         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
7454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
7455         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
7456         HAVE_COPYSIGNF.
7457         * modules/copysignf: New file.
7458         * tests/test-math-c++.cc: Check the declaration of copysignf.
7459         * doc/posix-functions/copysignf.texi: Mention the new module.
7460
7461 2011-10-09  Bruno Haible  <bruno@clisp.org>
7462
7463         Ensure that HAVE_* variables are set to 1 before they are set to 0.
7464         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
7465         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
7466         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7467         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
7468         gl_SIGNAL_H_DEFAULTS.
7469
7470 2011-10-09  Bruno Haible  <bruno@clisp.org>
7471
7472         poll: Make macro safer.
7473         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
7474         ac_cv_header_poll_h is not set.
7475
7476 2011-10-09  Bruno Haible  <bruno@clisp.org>
7477
7478         copysign: Provide replacement.
7479         * lib/math.in.h (copysign): New declaration.
7480         * lib/copysign.c: New file.
7481         * m4/copysign.m4: New file.
7482         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
7483         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
7484         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
7485         HAVE_COPYSIGN.
7486         * modules/copysign (Description): Clarify.
7487         (Files): Add lib/copysign.c, m4/copysign.m4.
7488         (Depends-on): Add math, signbit.
7489         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
7490         gl_MATH_MODULE_INDICATOR.
7491         * tests/test-math-c++.cc: Check the declaration of copysign.
7492         * doc/posix-functions/copysign.texi: Mention the effects of the module
7493         on Minix and MSVC.
7494
7495 2011-10-09  Bruno Haible  <bruno@clisp.org>
7496
7497         isinf: Ensure macro on AIX 5.1.
7498         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
7499         macro.
7500         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
7501
7502 2011-10-09  Bruno Haible  <bruno@clisp.org>
7503
7504         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
7505         * modules/snprintf-posix-tests (configure.ac): Require
7506         gl_LONG_DOUBLE_VS_DOUBLE.
7507         * modules/sprintf-posix-tests (configure.ac): Likewise.
7508         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
7509         * modules/vasprintf-posix-tests (configure.ac): Likewise.
7510         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
7511         * modules/vsprintf-posix-tests (configure.ac): Likewise.
7512         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
7513         tests on platforms where 'long double' is the same as 'double'.
7514         * tests/test-sprintf-posix.h (test_function): Likewise.
7515         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7516         * tests/test-vasprintf-posix.c (test_function): Likewise.
7517
7518         *printf: Fix for platforms where 'long double' == 'double'.
7519         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
7520         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
7521         * modules/dprintf-posix (Files): Add m4/math_h.m4.
7522         * modules/fprintf-posix (Files): Likewise.
7523         * modules/obstack-printf-posix (Files): Likewise.
7524         * modules/snprintf-posix (Files): Likewise.
7525         * modules/sprintf-posix (Files): Likewise.
7526         * modules/vasnprintf (Files): Likewise.
7527         * modules/vasnprintf-posix (Files): Likewise.
7528         * modules/vasprintf-posix (Files): Likewise.
7529         * modules/vdprintf-posix (Files): Likewise.
7530         * modules/vfprintf-posix (Files): Likewise.
7531         * modules/vsnprintf-posix (Files): Likewise.
7532         * modules/vsprintf-posix (Files): Likewise.
7533         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7534         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7535         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7536         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7537         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7538         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7539         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7540
7541         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
7542         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
7543         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7544         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
7545         'long double'.
7546         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
7547
7548         isinf: Fix for platforms where 'long double' == 'double'.
7549         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7550         Don't blindly assume 80-bit 'long double'.
7551
7552         isfinite: Fix for platforms where 'long double' == 'double'.
7553         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7554         Don't blindly assume 80-bit 'long double'.
7555
7556         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
7557         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
7558         * modules/isfinite-tests (configure.ac): Require
7559         gl_LONG_DOUBLE_VS_DOUBLE.
7560         * modules/isinf-tests (configure.ac): Likewise.
7561         * modules/isnan-tests (configure.ac): Likewise.
7562         * modules/isnanl-tests (configure.ac): Likewise.
7563         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
7564         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
7565         tests on platforms where 'long double' is the same as 'double'.
7566         * tests/test-isinf.c (test_isinfl): Likewise.
7567         * tests/test-isnan.c (test_long_double): Likewise.
7568         * tests/test-isnanl.h (main): Likewise.
7569
7570 2011-10-08  Bruno Haible  <bruno@clisp.org>
7571
7572         Tests for module 'tanhf'.
7573         * modules/tanhf-tests: New file.
7574         * tests/test-tanhf.c: New file.
7575
7576         New module 'tanhf'.
7577         * lib/math.in.h (tanhf): New declaration.
7578         * lib/tanhf.c: New file.
7579         * m4/tanhf.m4: New file.
7580         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
7581         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
7582         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
7583         * modules/tanhf: New file.
7584         * tests/test-math-c++.cc: Check the declaration of tanhf.
7585         * doc/posix-functions/tanhf.texi: Mention the new module.
7586
7587         tanh: Use a .m4 file.
7588         * m4/tanh.m4: New file.
7589         * modules/tanh (Files): Add it.
7590         (configure.ac): Just invoke gl_FUNC_TANH.
7591
7592 2011-10-08  Bruno Haible  <bruno@clisp.org>
7593
7594         Tests for module 'coshf'.
7595         * modules/coshf-tests: New file.
7596         * tests/test-coshf.c: New file.
7597
7598         New module 'coshf'.
7599         * lib/math.in.h (coshf): New declaration.
7600         * lib/coshf.c: New file.
7601         * m4/coshf.m4: New file.
7602         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
7603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
7604         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
7605         * modules/coshf: New file.
7606         * tests/test-math-c++.cc: Check the declaration of coshf.
7607         * doc/posix-functions/coshf.texi: Mention the new module.
7608
7609         cosh: Use a .m4 file.
7610         * m4/cosh.m4: New file.
7611         * modules/cosh (Files): Add it.
7612         (configure.ac): Just invoke gl_FUNC_COSH.
7613
7614 2011-10-08  Bruno Haible  <bruno@clisp.org>
7615
7616         Tests for module 'sinhf'.
7617         * modules/sinhf-tests: New file.
7618         * tests/test-sinhf.c: New file.
7619
7620         New module 'sinhf'.
7621         * lib/math.in.h (sinhf): New declaration.
7622         * lib/sinhf.c: New file.
7623         * m4/sinhf.m4: New file.
7624         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
7625         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
7626         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
7627         * modules/sinhf: New file.
7628         * tests/test-math-c++.cc: Check the declaration of sinhf.
7629         * doc/posix-functions/sinhf.texi: Mention the new module.
7630
7631         sinh: Use a .m4 file.
7632         * m4/sinh.m4: New file.
7633         * modules/sinh (Files): Add it.
7634         (configure.ac): Just invoke gl_FUNC_SINH.
7635
7636 2011-10-08  Bruno Haible  <bruno@clisp.org>
7637
7638         Tests for module 'atan2f'.
7639         * modules/atan2f-tests: New file.
7640         * tests/test-atan2f.c: New file.
7641
7642         New module 'atan2f'.
7643         * lib/math.in.h (atan2f): New declaration.
7644         * lib/atan2f.c: New file.
7645         * m4/atan2f.m4: New file.
7646         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
7647         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
7648         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
7649         * modules/atan2f: New file.
7650         * tests/test-math-c++.cc: Check the declaration of atan2f.
7651         * doc/posix-functions/atan2f.texi: Mention the new module.
7652
7653         atan2: Use a .m4 file.
7654         * m4/atan2.m4: New file.
7655         * modules/atan2 (Files): Add it.
7656         (configure.ac): Just invoke gl_FUNC_ATAN2.
7657
7658 2011-10-08  Bruno Haible  <bruno@clisp.org>
7659
7660         Tests for module 'atanf'.
7661         * modules/atanf-tests: New file.
7662         * tests/test-atanf.c: New file.
7663
7664         New module 'atanf'.
7665         * lib/math.in.h (atanf): New declaration.
7666         * lib/atanf.c: New file.
7667         * m4/atanf.m4: New file.
7668         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
7669         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
7670         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
7671         * modules/atanf: New file.
7672         * tests/test-math-c++.cc: Check the declaration of atanf.
7673         * doc/posix-functions/atanf.texi: Mention the new module.
7674
7675         atan: Use a .m4 file.
7676         * m4/atan.m4: New file.
7677         * modules/atan (Files): Add it.
7678         (configure.ac): Just invoke gl_FUNC_ATAN.
7679
7680 2011-10-08  Bruno Haible  <bruno@clisp.org>
7681
7682         Tests for module 'acosf'.
7683         * modules/acosf-tests: New file.
7684         * tests/test-acosf.c: New file.
7685
7686         New module 'acosf'.
7687         * lib/math.in.h (acosf): New declaration.
7688         * lib/acosf.c: New file.
7689         * m4/acosf.m4: New file.
7690         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
7691         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
7692         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
7693         * modules/acosf: New file.
7694         * tests/test-math-c++.cc: Check the declaration of acosf.
7695         * doc/posix-functions/acosf.texi: Mention the new module.
7696
7697         acos: Use a .m4 file.
7698         * m4/acos.m4: New file.
7699         * modules/acos (Files): Add it.
7700         (configure.ac): Just invoke gl_FUNC_ACOS.
7701
7702 2011-10-08  Bruno Haible  <bruno@clisp.org>
7703
7704         Tests for module 'asinf'.
7705         * modules/asinf-tests: New file.
7706         * tests/test-asinf.c: New file.
7707
7708         New module 'asinf'.
7709         * lib/math.in.h (asinf): New declaration.
7710         * lib/asinf.c: New file.
7711         * m4/asinf.m4: New file.
7712         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
7713         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
7714         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
7715         * modules/asinf: New file.
7716         * tests/test-math-c++.cc: Check the declaration of asinf.
7717         * doc/posix-functions/asinf.texi: Mention the new module.
7718
7719         asin: Use a .m4 file.
7720         * m4/asin.m4: New file.
7721         * modules/asin (Files): Add it.
7722         (configure.ac): Just invoke gl_FUNC_ASIN.
7723
7724 2011-10-08  Bruno Haible  <bruno@clisp.org>
7725
7726         Tests for module 'tanf'.
7727         * modules/tanf-tests: New file.
7728         * tests/test-tanf.c: New file.
7729
7730         New module 'tanf'.
7731         * lib/math.in.h (tanf): New declaration.
7732         * lib/tanf.c: New file.
7733         * m4/tanf.m4: New file.
7734         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
7735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
7736         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
7737         * modules/tanf: New file.
7738         * tests/test-math-c++.cc: Check the declaration of tanf.
7739         * doc/posix-functions/tanf.texi: Mention the new module.
7740
7741         tan: Use a .m4 file.
7742         * m4/tan.m4: New file.
7743         * modules/tan (Files): Add it.
7744         (configure.ac): Just invoke gl_FUNC_TAN.
7745
7746 2011-10-08  Bruno Haible  <bruno@clisp.org>
7747
7748         Tests for module 'cosf'.
7749         * modules/cosf-tests: New file.
7750         * tests/test-cosf.c: New file.
7751
7752         New module 'cosf'.
7753         * lib/math.in.h (cosf): New declaration.
7754         * lib/cosf.c: New file.
7755         * m4/cosf.m4: New file.
7756         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
7757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
7758         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
7759         * modules/cosf: New file.
7760         * tests/test-math-c++.cc: Check the declaration of cosf.
7761         * doc/posix-functions/cosf.texi: Mention the new module.
7762
7763         cos: Use a .m4 file.
7764         * m4/cos.m4: New file.
7765         * modules/cos (Files): Add it.
7766         (configure.ac): Just invoke gl_FUNC_COS.
7767
7768 2011-10-08  Bruno Haible  <bruno@clisp.org>
7769
7770         Tests for module 'sinf'.
7771         * modules/sinf-tests: New file.
7772         * tests/test-sinf.c: New file.
7773
7774         New module 'sinf'.
7775         * lib/math.in.h (sinf): New declaration.
7776         * lib/sinf.c: New file.
7777         * m4/sinf.m4: New file.
7778         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
7779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
7780         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
7781         * modules/sinf: New file.
7782         * tests/test-math-c++.cc: Check the declaration of sinf.
7783         * doc/posix-functions/sinf.texi: Mention the new module.
7784
7785         sin: Use a .m4 file.
7786         * m4/sin.m4: New file.
7787         * modules/sin (Files): Add it.
7788         (configure.ac): Just invoke gl_FUNC_SIN.
7789
7790 2011-10-08  Bruno Haible  <bruno@clisp.org>
7791
7792         Tests for module 'powf'.
7793         * modules/powf-tests: New file.
7794         * tests/test-powf.c: New file.
7795
7796         New module 'powf'.
7797         * lib/math.in.h (powf): New declaration.
7798         * lib/powf.c: New file.
7799         * m4/powf.m4: New file.
7800         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
7801         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
7802         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
7803         * modules/powf: New file.
7804         * tests/test-math-c++.cc: Check the declaration of powf.
7805         * doc/posix-functions/powf.texi: Mention the new module.
7806
7807         pow: Use a .m4 file.
7808         * m4/pow.m4: New file.
7809         * modules/pow (Files): Add it.
7810         (configure.ac): Just invoke gl_FUNC_POW.
7811
7812 2011-10-08  Bruno Haible  <bruno@clisp.org>
7813
7814         Tests for module 'log10f'.
7815         * modules/log10f-tests: New file.
7816         * tests/test-log10f.c: New file.
7817
7818         New module 'log10f'.
7819         * lib/math.in.h (log10f): New declaration.
7820         * lib/log10f.c: New file.
7821         * m4/log10f.m4: New file.
7822         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
7823         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
7824         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
7825         * modules/log10f: New file.
7826         * tests/test-math-c++.cc: Check the declaration of log10f.
7827         * doc/posix-functions/log10f.texi: Mention the new module.
7828
7829         log10: Use a .m4 file.
7830         * m4/log10.m4: New file.
7831         * modules/log10 (Files): Add it.
7832         (configure.ac): Just invoke gl_FUNC_LOG10.
7833
7834 2011-10-08  Bruno Haible  <bruno@clisp.org>
7835
7836         Tests for module 'logf'.
7837         * modules/logf-tests: New file.
7838         * tests/test-logf.c: New file.
7839
7840         New module 'logf'.
7841         * lib/math.in.h (logf): New declaration.
7842         * lib/logf.c: New file.
7843         * m4/logf.m4: New file.
7844         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
7845         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
7846         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
7847         * modules/logf: New file.
7848         * tests/test-math-c++.cc: Check the declaration of logf.
7849         * doc/posix-functions/logf.texi: Mention the new module.
7850
7851         log: Use a .m4 file.
7852         * m4/log.m4: New file.
7853         * modules/log (Files): Add it.
7854         (configure.ac): Just invoke gl_FUNC_LOG.
7855
7856 2011-10-08  Bruno Haible  <bruno@clisp.org>
7857
7858         Tests for module 'expf'.
7859         * modules/expf-tests: New file.
7860         * tests/test-expf.c: New file.
7861
7862         New module 'expf'.
7863         * lib/math.in.h (expf): New declaration.
7864         * lib/expf.c: New file.
7865         * m4/expf.m4: New file.
7866         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
7867         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
7868         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
7869         * modules/expf: New file.
7870         * tests/test-math-c++.cc: Check the declaration of expf.
7871         * doc/posix-functions/expf.texi: Mention the new module.
7872
7873         exp: Use a .m4 file.
7874         * m4/exp.m4: New file.
7875         * modules/exp (Files): Add it.
7876         (configure.ac): Just invoke gl_FUNC_EXP.
7877
7878 2011-10-08  Bruno Haible  <bruno@clisp.org>
7879
7880         Tests for module 'sqrtf'.
7881         * modules/sqrtf-tests: New file.
7882         * tests/test-sqrtf.c: New file.
7883
7884         New module 'sqrtf'.
7885         * lib/math.in.h (sqrtf): New declaration.
7886         * lib/sqrtf.c: New file.
7887         * m4/sqrtf.m4: New file.
7888         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
7889         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
7890         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
7891         * modules/sqrtf: New file.
7892         * tests/test-math-c++.cc: Check the declaration of sqrtf.
7893         * doc/posix-functions/sqrtf.texi: Mention the new module.
7894
7895 2011-10-08  Bruno Haible  <bruno@clisp.org>
7896
7897         Tests: Avoid link failures w.r.t. libintl.
7898         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
7899         $(LIBINTL).
7900         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
7901         $(LIBINTL).
7902         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
7903         against $(LIBINTL).
7904         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
7905         $(LIBINTL).
7906         * modules/openat-tests (Makefile.am): Link test-fchmodat against
7907         $(LIBINTL).
7908         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
7909
7910 2011-10-08  Bruno Haible  <bruno@clisp.org>
7911
7912         pow tests: Defeat compiler optimizations.
7913         * tests/test-pow.c (main): Assign arguments to x and y before use.
7914
7915 2011-10-08  Bruno Haible  <bruno@clisp.org>
7916
7917         gnulib-tool: Improve last commit.
7918         * gnulib-tool (func_modules_transitive_closure): Simplify code.
7919         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
7920         ignore dependencies that are not among the modules list.
7921
7922 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
7923
7924         gnulib-tool: don't follow dependencies to avoided modules
7925         This fixes a bug that is related to the previous one.
7926         * gnulib-tool (func_modules_transitive_closure)
7927         (func_emit_autoconf_snippets):
7928         Check whether a dependency is acceptable before using it.
7929         (--extract-dependencies): Report an error if --avoid is also used,
7930         since this combination of options is not yet supported.
7931
7932         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
7933         Problem reported by Peter Dyballa in
7934         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
7935         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
7936         when echoing "$condition".
7937
7938 2011-10-07  Bruno Haible  <bruno@clisp.org>
7939
7940         Fix documentation about math functions on MacOS X.
7941         * doc/posix-functions/exp2.texi: Don't say the function is missing on
7942         MacOS X 10.5.
7943         * doc/posix-functions/fdim.texi: Likewise.
7944         * doc/posix-functions/feclearexcept.texi: Likewise.
7945         * doc/posix-functions/fegetenv.texi: Likewise.
7946         * doc/posix-functions/fegetround.texi: Likewise.
7947         * doc/posix-functions/feholdexcept.texi: Likewise.
7948         * doc/posix-functions/feraiseexcept.texi: Likewise.
7949         * doc/posix-functions/fesetenv.texi: Likewise.
7950         * doc/posix-functions/fesetround.texi: Likewise.
7951         * doc/posix-functions/fetestexcept.texi: Likewise.
7952         * doc/posix-functions/feupdateenv.texi: Likewise.
7953         * doc/posix-functions/fmax.texi: Likewise.
7954         * doc/posix-functions/fmin.texi: Likewise.
7955         * doc/posix-functions/log2.texi: Likewise.
7956         * doc/posix-functions/modff.texi: Likewise.
7957         * doc/posix-functions/nan.texi: Likewise.
7958         * doc/posix-functions/nanf.texi: Likewise.
7959         * doc/posix-functions/nextafterf.texi: Likewise.
7960         * doc/posix-functions/remquo.texi: Likewise.
7961
7962 2011-10-07  Bruno Haible  <bruno@clisp.org>
7963
7964         modff: Drop assumption about library that defines modff.
7965         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
7966         AC_CHECK_FUNCS.
7967         * modules/modff (Files): Add m4/mathfunc.m4.
7968
7969 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
7970
7971         raise tests: Avoid a GCC warning.
7972         * tests/test-raise.c (handler): Use _Noreturn.
7973
7974 2011-10-07  Bruno Haible  <bruno@clisp.org>
7975
7976         Tests for module 'ldexpf'.
7977         * modules/ldexpf-tests: New file.
7978         * tests/test-ldexpf.c: New file.
7979
7980         New module 'ldexpf'.
7981         * lib/math.in.h (ldexpf): New declaration.
7982         * lib/ldexpf.c: New file.
7983         * m4/ldexpf.m4: New file.
7984         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
7985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
7986         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
7987         * modules/ldexpf: New file.
7988         * tests/test-math-c++.cc: Check the declaration of ldexpf.
7989         * doc/posix-functions/ldexpf.texi: Mention the new module.
7990
7991 2011-10-06  Bruno Haible  <bruno@clisp.org>
7992
7993         frexpf: Work around problems on IRIX and mingw.
7994         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
7995         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
7996         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
7997         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
7998         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
7999         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8000         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8001
8002 2011-10-06  Bruno Haible  <bruno@clisp.org>
8003
8004         fabsf: Drop assumption about library that defines fabsf.
8005         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8006         AC_CHECK_FUNCS.
8007         * modules/fabsf (Files): Add m4/mathfunc.m4.
8008
8009 2011-10-06  Bruno Haible  <bruno@clisp.org>
8010
8011         frexpf: Drop assumption about library that defines frexpf.
8012         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8013         'int *', 'float *', 'long double *', 'float', 'long double'.
8014         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8015         AC_CHECK_FUNCS.
8016         * modules/frexpf (Files): Add m4/mathfunc.m4.
8017
8018         Tests for module 'frexpf'.
8019         * modules/frexpf-tests: New file.
8020         * tests/test-frexpf.c: New file.
8021
8022         New module 'frexpf'.
8023         * lib/math.in.h (frexpf): New declaration.
8024         * lib/frexpf.c: New file.
8025         * m4/frexpf.m4: New file.
8026         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8027         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8028         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8029         * modules/frexpf: New file.
8030         * tests/test-math-c++.cc: Check the declaration of frexpf.
8031         * doc/posix-functions/frexpf.texi: Mention the new module.
8032
8033 2011-10-06  Bruno Haible  <bruno@clisp.org>
8034
8035         math: Sort function declarations of math.in.h.
8036         * lib/math.in.h (frexp, logb): Move declarations.
8037
8038 2011-10-05  Bruno Haible  <bruno@clisp.org>
8039
8040         Tests for module 'modff'.
8041         * modules/modff-tests: New file.
8042         * tests/test-modff.c: New file.
8043
8044         New module 'modff'.
8045         * lib/math.in.h (modff): New declaration.
8046         * lib/modff.c: New file.
8047         * m4/modff.m4: New file.
8048         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8049         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8050         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8051         * modules/modff: New file.
8052         * tests/test-math-c++.cc: Check the declaration of modff.
8053         * doc/posix-functions/modff.texi: Mention the new module.
8054
8055         modf tests: Make test sharper.
8056         * tests/test-modf.c (main): Strengthen upper bound.
8057
8058         modf: Use a .m4 file.
8059         * m4/modf.m4: New file.
8060         * modules/modf (Files): Add it.
8061         (configure.ac): Just invoke gl_FUNC_MODF.
8062
8063 2011-10-05  Bruno Haible  <bruno@clisp.org>
8064
8065         Tests for module 'fmodf'.
8066         * modules/fmodf-tests: New file.
8067         * tests/test-fmodf.c: New file.
8068
8069         New module 'fmodf'.
8070         * lib/math.in.h (fmodf): New declaration.
8071         * lib/fmodf.c: New file.
8072         * m4/fmodf.m4: New file.
8073         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8074         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8075         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8076         * modules/fmodf: New file.
8077         * tests/test-math-c++.cc: Check the declaration of fmodf.
8078         * doc/posix-functions/fmodf.texi: Mention the new module.
8079
8080         fmod: Use a .m4 file.
8081         * m4/fmod.m4: New file.
8082         * modules/fmod (Files): Add it.
8083         (configure.ac): Just invoke gl_FUNC_FMOD.
8084
8085 2011-10-05  Bruno Haible  <bruno@clisp.org>
8086
8087         Tests for module 'fabsf'.
8088         * modules/fabsf-tests: New file.
8089         * tests/test-fabsf.c: New file.
8090
8091         New module 'fabsf'.
8092         * lib/math.in.h (fabsf): New declaration.
8093         * lib/fabsf.c: New file.
8094         * m4/fabsf.m4: New file.
8095         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
8096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
8097         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
8098         * modules/fabsf: New file.
8099         * tests/test-math-c++.cc: Check the declaration of fabsf.
8100         * doc/posix-functions/fabsf.texi: Mention the new module.
8101
8102         fabs: Use a .m4 file.
8103         * m4/fabs.m4: New file.
8104         * modules/fabs (Files): Add it.
8105         (configure.ac): Just invoke gl_FUNC_FABS.
8106
8107 2011-10-05  Jim Meyering  <meyering@redhat.com>
8108
8109         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
8110         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
8111         ls -lL regression introduced in coreutils-8.12, it does so at the
8112         cost of an additional stat call in the common case.  Besides, now
8113         that the kernel change that prompted commit 95f7c57f has been reverted
8114         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
8115         we have no use for commit 95f7c57f, "file-has-acl: use
8116         acl_extended_file_nofollow if available".
8117
8118 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
8119
8120         file-has-acl: revert unintended change in behavior of ls -L
8121         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
8122         derived from...
8123         (file_has_acl): ...code here.  Call it.
8124         This problem was introduced with 2011-07-22 commit 95f7c57f,
8125         "file-has-acl: use acl_extended_file_nofollow if available".
8126         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
8127
8128 2011-10-03  Bruno Haible  <bruno@clisp.org>
8129
8130         poll: Avoid link errors on MSVC.
8131         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
8132         * modules/poll (Depends-on): Add sockets.
8133         (Link): New section.
8134         * NEWS: Mention the change.
8135         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
8136         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
8137         $(LIB_POLL) instead of $(LIBSOCKET).
8138
8139 2011-10-03  Bruno Haible  <bruno@clisp.org>
8140
8141         sys_select tests: Fix link error on MSVC 9.
8142         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
8143         with $(LIB_SELECT) instead of $(LIBSOCKET).
8144
8145 2011-10-03  Bruno Haible  <bruno@clisp.org>
8146
8147         sys_select: Fix compilation error on mingw.
8148         * lib/sys_select.in.h: On native Windows, include <io.h>.
8149
8150 2011-10-03  Bruno Haible  <bruno@clisp.org>
8151
8152         wmemset: Support for MSVC.
8153         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
8154         whether wmemset() exists.
8155
8156 2011-10-03  Bruno Haible  <bruno@clisp.org>
8157
8158         wmemmove: Support for MSVC.
8159         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
8160         whether wmemmove() exists.
8161
8162 2011-10-03  Bruno Haible  <bruno@clisp.org>
8163
8164         wmemcpy: Support for MSVC.
8165         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
8166         whether wmemcpy() exists.
8167
8168 2011-10-03  Bruno Haible  <bruno@clisp.org>
8169
8170         wmemcmp: Support for MSVC.
8171         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
8172         whether wmemcmp() exists.
8173
8174 2011-10-03  Bruno Haible  <bruno@clisp.org>
8175
8176         wmemchr: Support for MSVC.
8177         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
8178         whether wmemchr() exists.
8179
8180 2011-10-03  Bruno Haible  <bruno@clisp.org>
8181
8182         glthread/*, strsignal: Support for MSVC.
8183         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
8184         including <winsock.h> on MSVC 9.
8185         * lib/glthread/lock.h: Likewise.
8186         * lib/glthread/thread.h: Likewise.
8187         * lib/glthread/tls.h: Likewise.
8188         * lib/glthread/yield.h: Likewise.
8189         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
8190         if HAVE_UNISTD_H is false.
8191         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
8192
8193 2011-10-03  Bruno Haible  <bruno@clisp.org>
8194
8195         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
8196         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
8197         Set to 100000.
8198
8199 2011-10-03  Bruno Haible  <bruno@clisp.org>
8200
8201         acl: Fix specification.
8202         * lib/file-has-acl.c (file_has_acl): Fix specification.
8203
8204 2011-10-03  Bruno Haible  <bruno@clisp.org>
8205
8206         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
8207         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
8208         (compute_curr_prefix, shared_library_fullname,
8209         find_shared_library_fullname, get_shared_library_fullname, relocate):
8210         Use it together with PIC && INSTALLDIR.
8211         Reported by <jojelino@gmail.com>
8212         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
8213
8214 2011-10-01  Jim Meyering  <meyering@redhat.com>
8215
8216         maint.mk: adjust a release-related rule not to require use of gzip
8217         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
8218         Instead, check each file in $(DIST_ARCHIVES).  This is better for
8219         projects that build only .tar.xz files.  Also fix an erroneous test.
8220
8221         test-linkat: don't leave behind a temporary file
8222         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
8223         Otherwise, coreutils' "make distcheck" would fail with this:
8224           Only in /c/cu/tests/torture/coreutils/test/\
8225             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
8226           make[2]: *** [my-distcheck] Error 1
8227
8228         float, math: add omitted file
8229         * lib/itold.c: Add file, required for yesterday's float change.
8230
8231 2011-10-01  Bruno Haible  <bruno@clisp.org>
8232
8233         isinf: Fix for OpenBSD/x86.
8234         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
8235         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
8236         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
8237
8238 2011-10-01  Bruno Haible  <bruno@clisp.org>
8239
8240         isfinite: Fix syntax error in configure test.
8241         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
8242
8243         isfinite: Fix typo.
8244         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
8245         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
8246
8247 2011-10-01  Bruno Haible  <bruno@clisp.org>
8248
8249         nonblocking tests: Fix test failure on Linux/IA-64.
8250         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
8251         Set to 270000.
8252
8253 2011-10-01  Bruno Haible  <bruno@clisp.org>
8254
8255         mkfifoat tests: Fix a test failure on mingw.
8256         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
8257         with error ENOSYS.
8258
8259 2011-09-30  Bruno Haible  <bruno@clisp.org>
8260
8261         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
8262         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
8263         'long double'. Set REPLACE_ITOLD.
8264         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
8265         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
8266         * lib/itold.c: New file.
8267         * modules/float (Files): Add lib/itold.c.
8268         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
8269         (Makefile.am): Substitute REPLACE_ITOLD.
8270         * modules/math (Depends-on): Add float.
8271         (Makefile.am): Substitute REPLACE_ITOLD.
8272         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
8273         * doc/posix-headers/math.texi: Likewise.
8274         * doc/posix-functions/logl.texi: Likewise.
8275
8276 2011-09-30  Bruno Haible  <bruno@clisp.org>
8277
8278         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
8279         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
8280         Set to 140000.
8281
8282 2011-09-30  Bruno Haible  <bruno@clisp.org>
8283
8284         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
8285         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
8286         invocation, say "right after AC_PROG_CC_STDC", not "right after
8287         AC_PROG_CC".
8288         Reported by Gary V. Vaughan <gary@gnu.org>.
8289
8290 2011-09-30  Bruno Haible  <bruno@clisp.org>
8291
8292         Centralize C99 requirement.
8293         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
8294         * modules/stdarg (configure.ac-early): Invoke it instead of
8295         AC_PROG_CC_STDC.
8296         Reported by Gary V. Vaughan and Paul Eggert.
8297
8298 2011-09-29  Bruno Haible  <bruno@clisp.org>
8299
8300         float: Fix LDBL_MAX value on Linux/PowerPC.
8301         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
8302         on Linux/PowerPC.
8303         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
8304         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
8305         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
8306         platform.
8307         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
8308
8309 2011-09-29  Bruno Haible  <bruno@clisp.org>
8310
8311         doc: Improve doc about gl_EARLY.
8312         * doc/gnulib-tool.texi (Initial import): Mention where to place an
8313         AC_PROG_CC_STDC invocation.
8314         Reported by Gary V. Vaughan <gary@gnu.org>.
8315
8316 2011-09-28  Bruno Haible  <bruno@clisp.org>
8317
8318         fgetc, fputc, fread, fwrite tests: Fix link error.
8319         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
8320         on non-MSVC platforms.
8321         * tests/test-fputc.c (main): Likewise.
8322         * tests/test-fread.c (main): Likewise.
8323         * tests/test-fwrite.c (main): Likewise.
8324         Reported by Jim Meyering.
8325
8326 2011-09-27  Bruno Haible  <bruno@clisp.org>
8327
8328         fputc, fwrite tests: Avoid test failure on MSVC.
8329         * tests/test-fgetc.c: Include msvc-inval.h.
8330         (main): Invoke gl_msvc_inval_ensure_handler.
8331         * tests/test-fputc.c: Include msvc-inval.h.
8332         (main): Invoke gl_msvc_inval_ensure_handler.
8333         * tests/test-fread.c: Include msvc-inval.h.
8334         (main): Invoke gl_msvc_inval_ensure_handler.
8335         * tests/test-fwrite.c: Include msvc-inval.h.
8336         (main): Invoke gl_msvc_inval_ensure_handler.
8337         * modules/fgetc-tests (Depends-on): Add msvc-inval.
8338         * modules/fputc-tests (Depends-on): Likewise.
8339         * modules/fread-tests (Depends-on): Likewise.
8340         * modules/fwrite-tests (Depends-on): Likewise.
8341
8342 2011-09-27  Bruno Haible  <bruno@clisp.org>
8343
8344         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
8345         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
8346         (raise): Remove older, duplicated declaration.
8347         (_gl_raise_SIGPIPE): New declaration.
8348         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
8349         (rpl_raise): Remove function.
8350         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
8351         a gnulib-defined SIGPIPE here.
8352         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
8353         'sigprocmask' has detected missing signal-blocking and the module
8354         'sigpipe' is enabled.
8355         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8356
8357 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
8358
8359         base64-tests: avoid memory leak
8360         * tests/test-base64.c (main): Plug memory leak.
8361
8362         base32: new module
8363         * modules/base32: New module.
8364         * lib/base32.c: New file.
8365         * lib/base32.h: Likewise.
8366         * m4/base32.m4: Likewise.
8367         * modules/base32-tests: New test.
8368         * tests/test-base32.c: Likewise.
8369         * MODULES.html.sh (Misc): Mention it.
8370
8371 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8372
8373         gnulib: use more-standard license notice wording
8374         * gnulib-tool (func_emit_copyright_notice): When emitting a
8375         license notice into a file, use the standard wording as suggested
8376         by the current information for GNU maintainers, except say "file"
8377         rather than "program".  The new wording gives a license version
8378         number, which addresses an issue raised by Glenn Morris in
8379         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
8380         * m4/onceonly.m4: Use that same wording here, too.
8381
8382         dup2: minor simplification
8383         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
8384         as lib/dup2.c no longer uses 'inline'.
8385
8386 2011-09-25  Bruno Haible  <bruno@clisp.org>
8387
8388         strings: Fix compilation error on MSVC.
8389         * lib/strings.in.h: Include <stddef.h> for size_t.
8390
8391 2011-09-25  Bruno Haible  <bruno@clisp.org>
8392
8393         fflush et al.: Document limitation on MSVC.
8394         * doc/posix-functions/fflush.texi: Document possible crash in handling
8395         mode other than DEFAULT_HANDLING.
8396         * doc/posix-functions/fgetc.texi: Likewise.
8397         * doc/posix-functions/fputc.texi: Likewise.
8398         * doc/posix-functions/fread.texi: Likewise.
8399         * doc/posix-functions/fwrite.texi: Likewise.
8400
8401 2011-09-25  Bruno Haible  <bruno@clisp.org>
8402
8403         msvc-inval: Allow three invalid parameter handling modes.
8404         * lib/msvc-inval.h: Don't include <stdlib.h> here.
8405         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
8406         macros.
8407         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
8408         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
8409         SANE_LIBRARY_HANDLING as a no-op.
8410         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
8411         <stdlib.h>.
8412         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
8413
8414 2011-09-25  Bruno Haible  <bruno@clisp.org>
8415
8416         msvc-inval: Make handler multithread-safe.
8417         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
8418         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
8419         declarations.
8420         (gl_msvc_inval_current): New declaration.
8421         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8422         Operate on the structure returned by gl_msvc_inval_current().
8423         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
8424         Remove varaiables.
8425         (tls_index, tls_initialized): New variables.
8426         (not_per_thread): New variable.
8427         (gl_msvc_inval_current): New function.
8428         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
8429         returned by gl_msvc_inval_current().
8430
8431 2011-09-25  Bruno Haible  <bruno@clisp.org>
8432
8433         msvc-inval: Install handler globally.
8434         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
8435         !_MSC_VER.
8436         (gl_msvc_invalid_parameter_handler): Remove declaration.
8437         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
8438         declarations.
8439         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8440         Install the handler globally, don't uninstall it.
8441         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
8442         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
8443         currently valid, call RaiseException instead.
8444         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
8445         for !_MSC_VER.
8446
8447 2011-09-25  Bruno Haible  <bruno@clisp.org>
8448
8449         strerror_r-posix: Fix for MSVC 9.
8450         * lib/strerror_r.c (local_snprintf): New function.
8451         (snprintf): Define to local_snprintf, not to _snprintf.
8452
8453 2011-09-25  Bruno Haible  <bruno@clisp.org>
8454
8455         ftruncate: Support for MSVC 9.
8456         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
8457         (chsize_nothrow): New function.
8458         (chsize): Redefine as a macro.
8459         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
8460         * modules/ftruncate (Depends-on): Add msvc-inval.
8461
8462 2011-09-25  Bruno Haible  <bruno@clisp.org>
8463
8464         New module 'fstat'.
8465         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
8466         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
8467         * lib/fchdir.c (rpl_fstat): Remove function.
8468         * m4/fstat.m4: New file.
8469         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
8470         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
8471         declared.
8472         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
8473         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
8474         * modules/fstat: New file.
8475         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
8476         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
8477         is set.
8478         * doc/posix-functions/fstat.texi: Mention the new module and the
8479         problem on MSVC.
8480         * NEWS: Mention the change.
8481         * modules/acl (Depends-on): Add fstat.
8482         * modules/chdir-safer (Depends-on): Likewise.
8483         * modules/chown (Depends-on): Likewise.
8484         * modules/copy-file (Depends-on): Likewise.
8485         * modules/fchdir (Depends-on): Likewise.
8486         * modules/fdopendir (Depends-on): Likewise.
8487         * modules/fopen (Depends-on): Likewise.
8488         * modules/fts (Depends-on): Likewise.
8489         * modules/getcwd (Depends-on): Likewise.
8490         * modules/isapipe (Depends-on): Likewise.
8491         * modules/linkat (Depends-on): Likewise.
8492         * modules/lseek (Depends-on): Likewise.
8493         * modules/mkdir-p (Depends-on): Likewise.
8494         * modules/open (Depends-on): Likewise.
8495         * modules/openat (Depends-on): Likewise.
8496         * modules/read-file (Depends-on): Likewise.
8497         * modules/renameat (Depends-on): Likewise.
8498         * modules/utimens (Depends-on): Likewise.
8499
8500 2011-09-25  Bruno Haible  <bruno@clisp.org>
8501
8502         linkat: Fix compilation on MSVC 9.
8503         * lib/linkat.c: Don't include <stdint.h>.
8504
8505 2011-09-25  Bruno Haible  <bruno@clisp.org>
8506
8507         fclose: Support for MSVC 9.
8508         * lib/fclose.c: Include msvc-inval.h.
8509         (fclose_nothrow): New function.
8510         (rpl_fclose): Use it.
8511         * modules/fclose (Depends-on): Add msvc-inval.
8512         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
8513
8514 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8515
8516         dup2: minor simplifications
8517         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
8518         that it's a performance win.
8519         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
8520         ! defined __CYGWIN__)" to "ifdef F_GETFL".
8521
8522 2011-09-24  Jim Meyering  <meyering@redhat.com>
8523
8524         test-futimens: avoid a warning from gcc -Wshadow
8525         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
8526         to avoid a shadowing warning.
8527
8528 2011-09-24  Bruno Haible  <bruno@clisp.org>
8529
8530         fdopen: Support for MSVC 9.
8531         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
8532         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
8533         * lib/fdopen.c: Include msvc-inval.h.
8534         (fdopen_nothrow): New function.
8535         (rpl_fdopen): Use it.
8536         * modules/fdopen (Depends-on): Add msvc-inval.
8537         * modules/fclose-tests (Depends-on): Add fdopen.
8538         * modules/fflush-tests (Depends-on): Likewise.
8539         * modules/fgetc-tests (Depends-on): Likewise.
8540         * modules/fputc-tests (Depends-on): Likewise.
8541         * modules/fread-tests (Depends-on): Likewise.
8542         * modules/freopen-tests (Depends-on): Likewise.
8543         * modules/fseeko-tests (Depends-on): Likewise.
8544         * modules/ftello-tests (Depends-on): Likewise.
8545         * modules/fwrite-tests  (Depends-on): Likewise.
8546         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
8547
8548 2011-09-24  Bruno Haible  <bruno@clisp.org>
8549
8550         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
8551         * modules/fgetc-tests (Depends-on): Add unistd.
8552         * modules/fputc-tests (Depends-on): Likewise.
8553         * modules/fread-tests (Depends-on): Likewise.
8554         * modules/fwrite-tests (Depends-on): Likewise.
8555
8556 2011-09-24  Bruno Haible  <bruno@clisp.org>
8557
8558         dup: Simplify autoconf test.
8559         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
8560         on gl_MSVC_INVAL's result.
8561
8562 2011-09-24  Bruno Haible  <bruno@clisp.org>
8563
8564         Tests for function fwrite().
8565         * modules/fwrite-tests: New file.
8566         * tests/test-fwrite.c: New file.
8567         * modules/stdio-tests (Depends-on): Add fwrite-tests.
8568
8569         Tests for function fread().
8570         * modules/fread-tests: New file.
8571         * tests/test-fread.c: New file.
8572         * modules/stdio-tests (Depends-on): Add fread-tests.
8573
8574         Activate fputc tests.
8575         * modules/stdio-tests (Depends-on): Add fputc-tests.
8576
8577         Enhance fgetc, fputc tests.
8578         * tests/test-fgetc.c (main): Also test the stream's error indicator.
8579         * tests/test-fputc.c (main): Likewise.
8580
8581 2011-09-24  Bruno Haible  <bruno@clisp.org>
8582
8583         write: Support for MSVC 9.
8584         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8585         is not 1.
8586         * lib/write.c (write_nothrow): New function.
8587         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
8588         not 1. Use write_nothrow.
8589         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
8590         invalid parameter handler.
8591         (gl_PREREQ_WRITE): New macro.
8592         * modules/write (Depends-on): Add msvc-inval.
8593         (configure.ac): Invoke gl_PREREQ_WRITE.
8594         * doc/posix-functions/write.texi: Mention the problem on MSVC.
8595
8596 2011-09-24  Bruno Haible  <bruno@clisp.org>
8597
8598         read: Fix last commit.
8599         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
8600
8601 2011-09-24  Bruno Haible  <bruno@clisp.org>
8602
8603         dup2: Fix last commit.
8604         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
8605         (rpl_dup2): Disable fcntl workaround on native Windows.
8606
8607         sigprocmask: Make code safer.
8608         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
8609         section that changes macro definitions for this compilation unit.
8610
8611 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8612
8613         dup2: clarify by coalescing Windows-specific material
8614         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
8615         "msvc-nothrow.h"' to the Windows-specific section, so that the
8616         Emacs source need not contain these include files.
8617         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
8618         Windows-specific fixes into this function rather than just the
8619         nothrow fix, as this shortens and clarifies the code.  Always
8620         define as a function, as that's a bit cleaner than having it be
8621         sometimes a function and sometimes a macro.
8622         (rpl_dup2): Move the Windows-specific stuff out of here and into
8623         ms_windows_dup2.  Don't protect the Haiku-related fix with
8624         "#if !defined __linux__", as the same code also works around
8625         a Linux kernel bug, and it doesn't add any system calls on any
8626         platform.  Add comment about FreeBSD 6.1.
8627
8628         sigprocmask: move #include directive
8629         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
8630         Windows-specific section, so that the Emacs source need not
8631         contain msvc-inval.h.
8632
8633 2011-09-23  Bruno Haible  <bruno@clisp.org>
8634
8635         read: Support for MSVC 9.
8636         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8637         is not 1.
8638         * lib/read.c (read_nothrow): New function.
8639         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
8640         read_nothrow.
8641         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
8642         invalid parameter handler.
8643         (gl_PREREQ_READ): New macro.
8644         * modules/read (Depends-on): Add msvc-inval.
8645         (configure.ac): Invoke gl_PREREQ_READ.
8646         * doc/posix-functions/read.texi: Mention the problem on MSVC.
8647
8648 2011-09-23  Bruno Haible  <bruno@clisp.org>
8649
8650         close: Support for MSVC 9.
8651         * lib/close.c: Include <errno.h>, msvc-inval.h.
8652         (close_nothrow): New function.
8653         (rpl_close): Use it.
8654         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
8655         invalid parameter handler.
8656         * modules/close (Depends-on): Add msvc-inval.
8657         * modules/dup2-tests (Depends-on): Add close.
8658         * modules/dup3-tests (Depends-on): Likewise.
8659         * modules/fcntl-tests (Depends-on): Likewise.
8660         * modules/spawn-pipe-tests (Depends-on): Likewise.
8661         * modules/unistd-safer-tests (Depends-on): Likewise.
8662         * doc/posix-functions/close.texi: Mention the problem on MSVC.
8663
8664 2011-09-23  Bruno Haible  <bruno@clisp.org>
8665
8666         New module 'dup'.
8667         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
8668         Allow replacement.
8669         * lib/dup.c: New file.
8670         * lib/fchdir.c (rpl_dup): Remove function.
8671         * m4/dup.m4: New file.
8672         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
8673         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
8674         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
8675         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
8676         * modules/dup: New file.
8677         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
8678         'dup' module is in use.
8679         * modules/fdopendir (Depends-on): Add dup.
8680         * modules/fdutimensat-tests (Depends-on): Likewise.
8681         * modules/fts (Depends-on): Likewise.
8682         * modules/futimens-tests (Depends-on): Likewise.
8683         * modules/posix_spawnp-tests (Depends-on): Likewise.
8684         * modules/unistd-safer-tests (Depends-on): Likewise.
8685         * modules/utimens-tests (Depends-on): Likewise.
8686         * doc/posix-functions/dup.texi: Mention the new module and the problem
8687         on MSVC.
8688
8689 2011-09-23  Bruno Haible  <bruno@clisp.org>
8690
8691         getdtablesize: Support for MSVC 9.
8692         * lib/getdtablesize.c: Include msvc-inval.h.
8693         (_setmaxstdio_nothrow): New function.
8694         (_setmaxstdio): Redefine it.
8695         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
8696         * modules/getdtablesize (Depends-on): Add msvc-inval.
8697         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
8698
8699 2011-09-23  Bruno Haible  <bruno@clisp.org>
8700
8701         signal-h: Rename from signal.
8702         * modules/signal-h: Renamed from modules/signal.
8703         * modules/pthread_sigmask (Depends-on): Update.
8704         * modules/raise (Depends-on): Likewise.
8705         * modules/sigaction (Depends-on): Likewise.
8706         * modules/sigpipe (Depends-on): Likewise.
8707         * modules/sigprocmask (Depends-on): Likewise.
8708         * modules/sys_select (Depends-on): Likewise.
8709         * modules/signal-h-tests: Renamed from modules/signal-tests.
8710         (Files, Depends-on, Makefile.am): Update.
8711         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
8712         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
8713         (Files, Makefile.am): Update.
8714         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
8715         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
8716         * modules/signal: New placeholder file.
8717         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
8718         * doc/posix-headers/signal.texi: Update.
8719         * NEWS: Mention the change.
8720
8721 2011-09-23  Bruno Haible  <bruno@clisp.org>
8722
8723         sigprocmask: Avoid crashes through signal() on MSVC 9.
8724         * lib/sigprocmask.c: Include msvc-inval.h.
8725         (signal_nothrow): New function.
8726         (signal): Redefine it.
8727         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
8728         * modules/sigprocmask (Depends-on): Add msvc-inval.
8729         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
8730
8731 2011-09-23  Bruno Haible  <bruno@clisp.org>
8732
8733         Tests for module 'raise'.
8734         * modules/raise-tests: New file.
8735         * tests/test-raise.c: New file.
8736
8737         raise: Support for MSVC.
8738         * lib/signal.in.h (raise): New declaration.
8739         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
8740         for native Windows platforms.
8741         * m4/raise.m4: New file.
8742         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
8743         HAVE_RAISE, REPLACE_RAISE.
8744         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
8745         REPLACE_RAISE.
8746         * modules/raise (Status, Notice): Remove fields.
8747         (Files): Add m4/raise.m4.
8748         (Depends-on): Add signal, msvc-inval.
8749         (configure.ac): Use the common idioms.
8750         (Maintainer): Add me.
8751         * tests/test-signal-c++.cc: Check the signature of raise.
8752         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
8753
8754 2011-09-23  Bruno Haible  <bruno@clisp.org>
8755
8756         pipe2: Fix compilation on pre-C99 compilers.
8757         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
8758
8759 2011-09-23  Bruno Haible  <bruno@clisp.org>
8760
8761         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
8762         * lib/msvc-nothrow.h: New file.
8763         * lib/msvc-nothrow.c: New file.
8764         * m4/msvc-nothrow.m4: New file.
8765         * modules/msvc-nothrow: New file.
8766         * lib/dup2.c: Include msvc-nothrow.h.
8767         (rpl_dup2): No need to protect _get_osfhandle call here.
8768         * lib/accept4.c: Include msvc-nothrow.h.
8769         * lib/error.c: Likewise.
8770         * lib/fcntl.c: Likewise.
8771         * lib/lseek.c: Likewise.
8772         * lib/nonblocking.c: Likewise.
8773         * lib/poll.c: Likewise.
8774         * lib/read.c: Likewise.
8775         * lib/select.c: Likewise.
8776         * lib/sockets.h: Likewise.
8777         * lib/sockets.c: Likewise.
8778         * lib/stdio-read.c: Likewise.
8779         * lib/stdio-write.c: Likewise.
8780         * lib/write.c: Likewise.
8781         * lib/w32sock.h: Likewise.
8782         * lib/w32spawn.h: Likewise.
8783         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
8784         * lib/fsync.c: Likewise.
8785         * lib/isapipe.c: Likewise.
8786         * modules/dup2 (Depends-on): Add msvc-nothrow.
8787         * modules/accept4 (Depends-on): Likewise.
8788         * modules/error (Depends-on): Likewise.
8789         * modules/fcntl (Depends-on): Likewise.
8790         * modules/lseek (Depends-on): Likewise.
8791         * modules/nonblocking (Depends-on): Likewise.
8792         * modules/poll (Depends-on): Likewise.
8793         * modules/read (Depends-on): Likewise.
8794         * modules/select (Depends-on): Likewise.
8795         * modules/sockets (Depends-on): Likewise.
8796         * modules/sigpipe (Depends-on): Likewise.
8797         * modules/write (Depends-on): Likewise.
8798         * modules/accept (Depends-on): Likewise.
8799         * modules/bind (Depends-on): Likewise.
8800         * modules/connect (Depends-on): Likewise.
8801         * modules/gethostname (Depends-on): Likewise.
8802         * modules/getpeername (Depends-on): Likewise.
8803         * modules/getsockname (Depends-on): Likewise.
8804         * modules/getsockopt (Depends-on): Likewise.
8805         * modules/ioctl (Depends-on): Likewise.
8806         * modules/listen (Depends-on): Likewise.
8807         * modules/recv (Depends-on): Likewise.
8808         * modules/recvfrom (Depends-on): Likewise.
8809         * modules/send (Depends-on): Likewise.
8810         * modules/sendto (Depends-on): Likewise.
8811         * modules/setsockopt (Depends-on): Likewise.
8812         * modules/shutdown (Depends-on): Likewise.
8813         * modules/socket (Depends-on): Likewise.
8814         * modules/execute (Depends-on): Likewise.
8815         * modules/spawn-pipe (Depends-on): Likewise.
8816         * modules/flock (Depends-on): Likewise.
8817         * modules/fsync (Depends-on): Likewise.
8818         * modules/isapipe (Depends-on): Likewise.
8819         * tests/test-cloexec.c: Include msvc-nothrow.h.
8820         * tests/test-dup-safer.c: Likewise.
8821         * tests/test-dup2.c: Likewise.
8822         * tests/test-dup3.c: Likewise.
8823         * tests/test-fcntl.c: Likewise.
8824         * tests/test-pipe.c: Likewise.
8825         * tests/test-pipe2.c: Likewise.
8826         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
8827         * modules/unistd-safer-tests (Depends-on): Likewise.
8828         * modules/dup2-tests (Depends-on): Likewise.
8829         * modules/dup3-tests (Depends-on): Likewise.
8830         * modules/fcntl-tests (Depends-on): Likewise.
8831         * modules/pipe-posix-tests (Depends-on): Likewise.
8832         * modules/pipe2-tests (Depends-on): Likewise.
8833
8834 2011-09-23  Bruno Haible  <bruno@clisp.org>
8835
8836         dup2: Make code more maintainable.
8837         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
8838         (rpl_dup2): Use it.
8839         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
8840         * modules/dup2 (configure.ac): Invoke it.
8841         Reported by Paul Eggert.
8842
8843 2011-09-23  Bruno Haible  <bruno@clisp.org>
8844
8845         msvc-inval: Fix compilation error.
8846         * lib/msvc-inval.h: Include <excpt.h>.
8847
8848 2011-09-23  Bruno Haible  <bruno@clisp.org>
8849
8850         mkdir: Tweak for MSVC 9.
8851         * lib/sys_stat.in.h: Update comments.
8852         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
8853
8854         Tests for module 'chdir'.
8855         * modules/chdir-tests: New file.
8856         * tests/test-chdir.c: New file.
8857
8858         New module 'chdir'.
8859         * modules/chdir: New file.
8860         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
8861         (chdir): New declaration.
8862         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
8863         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
8864         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
8865         * tests/test-unistd-c++.cc: Check signature of chdir.
8866         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
8867         * modules/chdir-long (Depends-on): Add chdir.
8868         * modules/fchdir (Depends-on): Likewise.
8869         * modules/rename (Depends-on): Likewise.
8870         * modules/savewd (Depends-on): Likewise.
8871
8872         rmdir: Support for mingw, MSVC 9.
8873         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
8874         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
8875
8876         getcwd: Tweak for MSVC 9.
8877         * lib/unistd.in.h: Update comments.
8878         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
8879
8880 2011-09-22  Bruno Haible  <bruno@clisp.org>
8881
8882         strerror_r-posix: Avoid a link error on MSVC.
8883         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
8884         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
8885
8886 2011-09-22  Bruno Haible  <bruno@clisp.org>
8887
8888         select: Avoid link errors on MSVC.
8889         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
8890         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
8891         * modules/pselect (Link): Likewise.
8892         * NEWS: Mention the change.
8893         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
8894         test-select-stdin against $(LIB_SELECT).
8895         * modules/pselect-tests (Makefile.am): Link test-pselect against
8896         $(LIB_SELECT).
8897
8898 2011-09-22  Bruno Haible  <bruno@clisp.org>
8899
8900         select: Avoid compilation error on MSVC.
8901         * lib/select.c: Don't include <stdbool.h>.
8902
8903 2011-09-21  Bruno Haible  <bruno@clisp.org>
8904
8905         Consolidate all uses of PATH_MAX in *.m4 files.
8906         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
8907         macros.
8908         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
8909         and gl_PATHMAX_SNIPPET.
8910         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8911         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8912         * modules/chdir-long (Files): Add m4/pathmax.m4.
8913         * modules/getcwd (Files): Likewise.
8914
8915 2011-09-21  Bruno Haible  <bruno@clisp.org>
8916
8917         ftruncate: Un-deprecate, concentrate on Win32 support.
8918         * modules/ftruncate (Status, Notice): Remove sections.
8919         (Depends-on): Add largefile.
8920         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
8921         non-mingw platforms.
8922         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
8923         include <io.h>.
8924         * modules/perror-tests (Depends-on): Add ftruncate.
8925         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
8926         'ftruncate' module.
8927
8928 2011-09-21  Bruno Haible  <bruno@clisp.org>
8929
8930         Add dependencies to new dirent related modules.
8931         * modules/opendir (Depends-on): Add closedir.
8932         * modules/getcwd (Depends-on): Add opendir, closedir.
8933         * modules/dirent-safer-tests (Depends-on): Likewise.
8934         * modules/fdopendir-tests (Depends-on): Likewise.
8935         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
8936         * modules/renameat-tests (Depends-on): Likewise.
8937
8938 2011-09-21  Bruno Haible  <bruno@clisp.org>
8939
8940         opendir: Avoid compilation error on mingw.
8941         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
8942         * modules/opendir (Depends-on): Add unistd.
8943
8944 2011-09-21  Bruno Haible  <bruno@clisp.org>
8945
8946         ftruncate tests: Avoid a test failure on mingw.
8947         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
8948
8949 2011-09-21  Bruno Haible  <bruno@clisp.org>
8950
8951         select tests: Avoid test failures on OSF/1 5.1 and mingw.
8952         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
8953         native Windows.
8954
8955 2011-09-21  Bruno Haible  <bruno@clisp.org>
8956
8957         New module 'fdopen'.
8958         * lib/stdio.in.h (fdopen): New declaration.
8959         * lib/fdopen.c: New file.
8960         * m4/fdopen.m4: New file.
8961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
8962         REPLACE_FDOPEN.
8963         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
8964         REPLACE_FDOPEN.
8965         * modules/fdopen: New file.
8966         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
8967         * tests/test-stdio-c++.cc: Check signature of fdopen.
8968         * doc/posix-functions/fdopen.texi: Mention the new module.
8969
8970 2011-09-21  Bruno Haible  <bruno@clisp.org>
8971
8972         unlockpt tests: Avoid test failure on NetBSD 5.1.
8973         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
8974         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
8975
8976 2011-09-21  Bruno Haible  <bruno@clisp.org>
8977
8978         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
8979         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
8980         * tests/test-getlogin_r.c (main): Likewise.
8981
8982 2011-09-20  Bruno Haible  <bruno@clisp.org>
8983
8984         time tests: Don't require pid_t.
8985         * doc/posix-headers/time.texi: Revert last change.
8986         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
8987         * tests/test-time.c: Comment out the check for pid_t.
8988
8989 2011-09-20  Bruno Haible  <bruno@clisp.org>
8990
8991         fsync tests: Avoid a test failure on mingw.
8992         * tests/test-fsync.c (main): Allow a failure with EIO.
8993
8994 2011-09-20  Bruno Haible  <bruno@clisp.org>
8995
8996         euidaccess: Update comments.
8997         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
8998
8999 2011-09-20  Bruno Haible  <bruno@clisp.org>
9000
9001         Ensure EBADF returns for socket functions on mingw.
9002         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9003         descriptor is invalid.
9004         * lib/bind.c (rpl_bind): Likewise.
9005         * lib/connect.c (rpl_connect): Likewise.
9006         * lib/getpeername.c (rpl_getpeername): Likewise.
9007         * lib/getsockname.c (rpl_getsockname): Likewise.
9008         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9009         * lib/listen.c (rpl_listen): Likewise.
9010         * lib/recv.c (rpl_recv): Likewise.
9011         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9012         * lib/send.c (rpl_send): Likewise.
9013         * lib/sendto.c (rpl_sendto): Likewise.
9014         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9015         * lib/shutdown.c (rpl_shutdown): Likewise.
9016
9017 2011-09-20  Bruno Haible  <bruno@clisp.org>
9018
9019         select tests: EBADF tests.
9020         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9021         test_bad_fd): New functions.
9022         (test_function): Invoke also test_bad_fd.
9023
9024 2011-09-20  Bruno Haible  <bruno@clisp.org>
9025
9026         Tests for module 'posix_spawn_file_actions_addopen.
9027         * modules/posix_spawn_file_actions_addopen-tests: New file.
9028         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9029
9030         Tests for module 'posix_spawn_file_actions_adddup2'.
9031         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9032         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9033
9034         Tests for module 'posix_spawn_file_actions_addclose'.
9035         * modules/posix_spawn_file_actions_addclose-tests: New file.
9036         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9037
9038 2011-09-20  Bruno Haible  <bruno@clisp.org>
9039
9040         Tests for module 'unlockpt'.
9041         * modules/unlockpt-tests: New file.
9042         * tests/test-unlockpt.c: New file.
9043         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9044
9045         Tests for module 'grantpt'.
9046         * modules/grantpt-tests: New file.
9047         * tests/test-grantpt.c: New file.
9048         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9049
9050 2011-09-20  Bruno Haible  <bruno@clisp.org>
9051
9052         freopen tests: EBADF tests.
9053         * tests/test-freopen.c: Include errno.h, unistd.h.
9054         (main): Add tests for EBADF, commented out for the moment.
9055
9056         fclose tests: EBADF tests.
9057         * tests/test-fclose.c (main): Add tests for EBADF.
9058
9059         fflush tests: EBADF tests.
9060         * tests/test-fflush.c: Include errno.h, macros.h.
9061         (main): Add tests for EBADF.
9062
9063         ftello tests: EBADF tests.
9064         * tests/test-ftello4.sh: New file.
9065         * tests/test-ftello4.c: New file.
9066         * modules/ftello-tests (Files): Add them.
9067         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9068
9069         fseeko tests: EBADF tests.
9070         * tests/test-fseeko4.sh: New file.
9071         * tests/test-fseeko4.c: New file.
9072         * modules/fseeko-tests (Files): Add them.
9073         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9074
9075         Tests for function fputc().
9076         * modules/fputc-tests: New file.
9077         * tests/test-fputc.c: New file.
9078         * modules/stdio-tests (Depends-on): Add fputc-tests.
9079
9080         Tests for function fgetc().
9081         * modules/fgetc-tests: New file.
9082         * tests/test-fgetc.c: New file.
9083         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9084
9085         Tests for function fdopen().
9086         * modules/fdopen-tests: New file.
9087         * tests/test-fdopen.c: New file.
9088         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9089
9090         Tests for module 'vdprintf'.
9091         * modules/vdprintf-tests: New file.
9092         * tests/test-vdprintf.c: New file.
9093
9094         Tests for module 'dprintf'.
9095         * modules/dprintf-tests: New file.
9096         * tests/test-dprintf.c: New file.
9097
9098 2011-09-20  Bruno Haible  <bruno@clisp.org>
9099
9100         Tests for module 'ioctl'.
9101         * modules/ioctl-tests: New file.
9102         * tests/test-ioctl.c: New file.
9103
9104 2011-09-20  Bruno Haible  <bruno@clisp.org>
9105
9106         fcntl tests: EBADF tests.
9107         * tests/test-fcntl.c (main): Add more tests for EBADF.
9108
9109 2011-09-20  Bruno Haible  <bruno@clisp.org>
9110
9111         utimensat tests: EBADF tests.
9112         * tests/test-utimensat.c (main): Add tests for EBADF.
9113
9114         renameat tests: EBADF tests.
9115         * tests/test-renameat.c (main): Add tests for EBADF.
9116
9117         mkfifoat tests: EBADF tests.
9118         * tests/test-mkfifoat.c (main): Add tests for EBADF.
9119
9120         readlinkat tests: EBADF tests.
9121         * tests/test-readlinkat.c (main): Add tests for EBADF.
9122
9123         symlinkat tests: EBADF tests.
9124         * tests/test-symlinkat.c (main): Add tests for EBADF.
9125
9126         linkat tests: EBADF tests.
9127         * tests/test-linkat.c (main): Add tests for EBADF.
9128
9129         Tests for module 'faccessat'.
9130         * modules/faccessat-tests: New file.
9131         * tests/test-faccessat.c: New file.
9132
9133         fdopendir tests: EBADF tests.
9134         * tests/test-fdopendir.c (main): Add more tests for EBADF.
9135
9136         openat tests: EBADF tests.
9137         * tests/test-fchownat.c (main): Add tests for EBADF.
9138         * tests/test-fstatat.c (main): Likewise.
9139         * tests/test-mkdirat.c (main): Likewise.
9140         * tests/test-openat.c (main): Likewise.
9141         * tests/test-unlinkat.c (main): Likewise.
9142         * tests/test-fchmodat.c: New file.
9143         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
9144         (Makefile.am): Also run 'test-fchmodat'.
9145
9146 2011-09-20  Bruno Haible  <bruno@clisp.org>
9147
9148         utimens, futimens, fdutimensat tests: EBADF tests.
9149         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
9150
9151         Tests for function fstat().
9152         * modules/fstat-tests: New file.
9153         * tests/test-fstat.c: New file.
9154         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
9155
9156 2011-09-20  Bruno Haible  <bruno@clisp.org>
9157
9158         test-ttyname_r tests: EBADF tests.
9159         * tests/test-ttyname_r.c (main): Add tests for EBADF.
9160
9161         Tests for module 'isatty'.
9162         * modules/isatty-tests: New file.
9163         * tests/test-isatty.c: New file.
9164
9165         Tests for module 'write'.
9166         * modules/write-tests: New file.
9167         * tests/test-write.c: New file.
9168
9169         Tests for module 'read'.
9170         * modules/read-tests: New file.
9171         * tests/test-read.c: New file.
9172
9173         pwrite tests: EBADF tests.
9174         * tests/test-pwrite.c (main): Add tests for EBADF.
9175
9176         pread tests: EBADF tests.
9177         * tests/test-pread.c (main): Add tests for EBADF.
9178
9179         lseek tests: EBADF tests.
9180         * tests/test-lseek.c (main): Add more tests for EBADF.
9181
9182         Tests for module 'ftruncate'.
9183         * modules/ftruncate-tests: New file.
9184         * tests/test-ftruncate.sh: New file.
9185         * tests/test-ftruncate.c: New file.
9186
9187         fsync tests: EBADF tests.
9188         * tests/test-fsync.c (main): Add more tests for EBADF.
9189
9190         fdatasync tests: EBADF tests.
9191         * tests/test-fdatasync.c (main): Add more tests for EBADF.
9192
9193         Tests for module 'fchown'.
9194         * modules/fchown-tests: New file.
9195         * tests/test-fchown.c: New file.
9196
9197         Tests for module 'fchmod'.
9198         * modules/fchmod-tests: New file.
9199         * tests/test-fchmod.c: New file.
9200
9201         fchdir tests: EBADF tests.
9202         * tests/test-fchdir.c (main): Add more tests for EBADF.
9203
9204         dup2 tests: EBADF tests.
9205         * tests/test-dup2.c (main): Add more tests for EBADF.
9206
9207         Tests for module 'dup'.
9208         * modules/dup-tests: New file.
9209         * tests/test-dup.c: New file.
9210
9211         Tests for module 'close'.
9212         * modules/close-tests: New file.
9213         * tests/test-close.c: New file.
9214
9215 2011-09-20  Bruno Haible  <bruno@clisp.org>
9216
9217         Tests for module 'shutdown'.
9218         * modules/shutdown-tests: New file.
9219         * tests/test-shutdown.c: New file.
9220
9221         Tests for module 'setsockopt'.
9222         * modules/setsockopt-tests: New file.
9223         * tests/test-setsockopt.c: New file.
9224
9225         Tests for module 'sendto'.
9226         * modules/sendto-tests: New file.
9227         * tests/test-sendto.c: New file.
9228
9229         Tests for module 'send'.
9230         * modules/send-tests: New file.
9231         * tests/test-send.c: New file.
9232
9233         Tests for module 'recvfrom'.
9234         * modules/recvfrom-tests: New file.
9235         * tests/test-recvfrom.c: New file.
9236
9237         Tests for module 'recv'.
9238         * modules/recv-tests: New file.
9239         * tests/test-recv.c: New file.
9240
9241         Tests for module 'listen'.
9242         * modules/listen-tests: New file.
9243         * tests/test-listen.c: New file.
9244
9245         Tests for module 'getsockopt'.
9246         * modules/getsockopt-tests: New file.
9247         * tests/test-getsockopt.c: New file.
9248
9249         Tests for module 'getsockname'.
9250         * modules/getsockname-tests: New file.
9251         * tests/test-getsockname.c: New file.
9252
9253         Tests for module 'getpeername'.
9254         * modules/getpeername-tests: New file.
9255         * tests/test-getpeername.c: New file.
9256
9257         Tests for module 'connect'.
9258         * modules/connect-tests: New file.
9259         * tests/test-connect.c: New file.
9260
9261         Tests for module 'bind'.
9262         * modules/bind-tests: New file.
9263         * tests/test-bind.c: New file.
9264
9265         accept4 tests: Fix for native Windows.
9266         * tests/test-accept4.c: Include sockets.h.
9267         (main): Invoke gl_sockets_startup.
9268         * modules/accept4-tests (Depends-on): Add sockets.
9269
9270         accept tests: Fix for native Windows.
9271         * tests/test-accept.c: Include sockets.h.
9272         (main): Invoke gl_sockets_startup.
9273         * modules/accept-tests (Depends-on): Add sockets.
9274
9275 2011-09-19  Bruno Haible  <bruno@clisp.org>
9276
9277         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
9278         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
9279         do...while(0).
9280         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
9281         Suggested by Paul Eggert.
9282
9283 2011-09-19  Bruno Haible  <bruno@clisp.org>
9284
9285         sched: Ensure pid_t is defined.
9286         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
9287         not define pid_t.
9288         * lib/sched.in.h: Include <sys/types.h>.
9289         * doc/posix-headers/sched.texi: Mention the pid_t problem.
9290         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9291
9292 2011-09-19  Bruno Haible  <bruno@clisp.org>
9293
9294         msvc-inval: Ensure the entire expansion is a single statement.
9295         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
9296         of braces.
9297
9298 2011-09-19  Jim Meyering  <meyering@redhat.com>
9299
9300         tests: use printf, not echo in init.sh's warn_ function
9301         * tests/init.sh (warn_): Use printf, not echo.  The latter would
9302         misbehave when given strings containing a backslash or starting
9303         with e.g., -n.  James Youngman suggested setting IFS.
9304
9305 2011-09-19  Eric Blake  <eblake@redhat.com>
9306
9307         futimens: enhance test
9308         * tests/test-futimens.h (test_futimens): Also check for EBADF on
9309         closed non-negative fd.
9310
9311         date: accept 'hence' as opposite of 'ago'
9312         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
9313         * tests/test-parse-datetime.c (main): Enhance test.
9314         Suggested by Jesse Wilson.
9315
9316 2011-09-19  Jim Meyering  <meyering@redhat.com>
9317
9318         getcwd: don't fail in a deep directory on a system without openat
9319         Before this change, getcwd would fail when called from a directory
9320         of depth PATH_MAX / 3 or greater.  That was due to the fact that
9321         the non-openat implementation used "..", "../..", "../../..", etc.
9322         to access ancestor directories.  With too many, that string would
9323         be longer than PATH_MAX.
9324         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
9325         using gnulib's openat replacement.
9326         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
9327         we're using the replacement function.
9328
9329 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
9330
9331         maint.mk: avoid warnings from perl about missing files
9332         * top/maint.mk (def_sym_regex): Ignore files listed in
9333         $(gl_other_headers_) that do not exist, say because a project
9334         does not use a corresponding module.
9335
9336 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
9337
9338         stat: use pathmax.h only if needed
9339         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
9340         This is better for Emacs, which does not have a mingw port and
9341         therefore can avoid the pathmax module.
9342
9343         utimens: remove dependency on dup2
9344         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
9345         to work around the Linux kernel bug.
9346         * modules/utimens (Depends-on): Remove dup2.
9347
9348 2011-09-18  Bruno Haible  <bruno@clisp.org>
9349
9350         inet_ntop, inet_pton: Look for it also in libresolv.
9351         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
9352         libnsl, search for it in libresolv.
9353         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9354         Needed on Solaris 7.
9355
9356 2011-09-18  Bruno Haible  <bruno@clisp.org>
9357
9358         accept, accept4 tests: Avoid link error on Solaris.
9359         * modules/accept-tests (Makefile.am): Link test-accept against
9360         $(LIBSOCKET).
9361         * modules/accept4-tests (Makefile.am): Link test-accept4 against
9362         $(LIBSOCKET).
9363
9364         accept4: Avoid link error on Solaris.
9365         * modules/accept4 (Link): New section.
9366
9367         socket functions: Avoid link errors on Solaris.
9368         * modules/accept (Depends-on): Add socketlib.
9369         (Link): New section.
9370         * modules/bind (Depends-on): Add socketlib.
9371         (Link): New section.
9372         * modules/connect (Depends-on): Add socketlib.
9373         (Link): New section.
9374         * modules/getpeername (Depends-on): Add socketlib.
9375         (Link): New section.
9376         * modules/getsockname (Depends-on): Add socketlib.
9377         (Link): New section.
9378         * modules/getsockopt (Depends-on): Add socketlib.
9379         (Link): New section.
9380         * modules/listen (Depends-on): Add socketlib.
9381         (Link): New section.
9382         * modules/recv (Depends-on): Add socketlib.
9383         (Link): New section.
9384         * modules/recvfrom (Depends-on): Add socketlib.
9385         (Link): New section.
9386         * modules/send (Depends-on): Add socketlib.
9387         (Link): New section.
9388         * modules/sendto (Depends-on): Add socketlib.
9389         (Link): New section.
9390         * modules/setsockopt (Depends-on): Add socketlib.
9391         (Link): New section.
9392         * modules/shutdown (Depends-on): Add socketlib.
9393         (Link): New section.
9394         * modules/socket (Depends-on): Add socketlib.
9395         (Link): New section.
9396
9397 2011-09-18  Bruno Haible  <bruno@clisp.org>
9398
9399         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
9400         * tests/test-ptsname.c (main): Terminate the test if it takes longer
9401         than 5 seconds.
9402         * modules/ptsname-tests (configure.ac): Test for alarm.
9403
9404 2011-09-18  Bruno Haible  <bruno@clisp.org>
9405
9406         posix_spawn_file_actions_add*: Fix module dependencies.
9407         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
9408         posix_spawn_file_actions_init.
9409         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
9410         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
9411
9412 2011-09-18  Bruno Haible  <bruno@clisp.org>
9413
9414         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
9415         * tests/test-rename.h (test_rename): Allow error code EEXIST.
9416         * tests/test-renameat.c (main): Likewise.
9417
9418 2011-09-18  Bruno Haible  <bruno@clisp.org>
9419
9420         Tests for module 'accept4'.
9421         * modules/accept4-tests: New file.
9422         * tests/test-accept4.c: New file.
9423
9424 2011-09-18  Bruno Haible  <bruno@clisp.org>
9425
9426         Tests for module 'accept'.
9427         * modules/accept-tests: New file.
9428         * tests/test-accept.c: New file.
9429
9430 2011-09-18  Bruno Haible  <bruno@clisp.org>
9431
9432         dup2: Support for MSVC.
9433         * lib/dup2.c: Include msvc-inval.h.
9434         (rpl_dup2): Handle invalid parameter notifications during dup2 and
9435         _get_osfhandle calls.
9436         * modules/dup2 (Depends-on): Add msvc-inval.
9437         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
9438
9439         New module 'msvc-inval'.
9440         * lib/msvc-inval.h: New file.
9441         * lib/msvc-inval.c: New file.
9442         * m4/msvc-inval.m4: New file.
9443         * modules/msvc-inval: New file.
9444
9445 2011-09-17  Bruno Haible  <bruno@clisp.org>
9446
9447         Tests for module 'pclose'.
9448         * modules/pclose-tests: New file.
9449
9450         New module 'pclose'.
9451         * lib/stdio.in.h (pclose): New declaration.
9452         * lib/pclose.c: New file.
9453         * m4/pclose.m4: New file.
9454         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
9455         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
9456         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
9457         * modules/pclose: New file.
9458         * modules/popen-tests (Depends-on): Add pclose.
9459         * modules/popen-safer-tests (Depends-on): Likewise.
9460         * doc/posix-functions/pclose.texi: Mention the new module.
9461
9462 2011-09-17  Bruno Haible  <bruno@clisp.org>
9463
9464         popen: Support for MSVC.
9465         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
9466         * lib/popen.c (popen): Provide alternate definition for native Windows.
9467         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
9468         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
9469         * modules/popen (Depends-on, configure.ac): Update condition.
9470         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
9471         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
9472         fixed.
9473
9474 2011-09-17  Bruno Haible  <bruno@clisp.org>
9475
9476         isnanl, isnand, isnanf: Work around MSVC bug.
9477         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
9478
9479 2011-09-17  Bruno Haible  <bruno@clisp.org>
9480
9481         sys_socket tests: Fix recent mistake.
9482         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
9483
9484 2011-09-17  Bruno Haible  <bruno@clisp.org>
9485
9486         putenv: Support for MSVC.
9487         * modules/putenv (Depends-on): Add environ.
9488         * lib/putenv.c (environ): Disable declaration.
9489         * lib/unistd.in.h: Update comment.
9490
9491 2011-09-17  Bruno Haible  <bruno@clisp.org>
9492
9493         math: Avoid macro redefinition warnings on MSVC.
9494         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
9495         Undefine before redefining.
9496
9497 2011-09-17  Bruno Haible  <bruno@clisp.org>
9498
9499         doc: Mention functions which are declared as macros.
9500         * doc/posix-functions/*[fl].texi: Mention that some functions are
9501         defined as macros with arguments only.
9502
9503 2011-09-17  Bruno Haible  <bruno@clisp.org>
9504
9505         Add dependencies to new dirent related modules.
9506         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
9507         * modules/fts (Depends-on): Likewise.
9508         * modules/glob (Depends-on): Likewise.
9509         * modules/savedir (Depends-on): Likewise.
9510         * modules/scandir (Depends-on): Likewise.
9511         * modules/dirent-safer (Depends-on): Add opendir, closedir.
9512         * modules/fdopendir (Depends-on): Add opendir.
9513
9514 2011-09-17  Bruno Haible  <bruno@clisp.org>
9515
9516         inet_pton: Support for MSVC on Windows Vista or newer.
9517         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
9518         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
9519         HAVE_DECL_INET_PTON is defined.
9520         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9521         On platforms with <winsock2.h>, test whether inet_pton is declared in
9522         <ws2tcpip.h>. If so, arrange to replace it.
9523         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9524         REPLACE_INET_PTON.
9525         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
9526         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
9527         (Depends-on, configure.ac): Update condition.
9528         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
9529
9530 2011-09-17  Bruno Haible  <bruno@clisp.org>
9531
9532         inet_ntop: Support for MSVC on Windows Vista or newer.
9533         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
9534         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
9535         HAVE_DECL_INET_NTOP is defined.
9536         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9537         On platforms with <winsock2.h>, test whether inet_ntop is declared in
9538         <ws2tcpip.h>. If so, arrange to replace it.
9539         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9540         REPLACE_INET_NTOP.
9541         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
9542         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
9543         (Depends-on, configure.ac): Update condition.
9544         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
9545
9546 2011-09-16  Eric Blake  <eblake@redhat.com>
9547
9548         test-fsync: yet another enhancement
9549         * tests/test-fsync.c (main): Also test behavior on read-only text
9550         file.
9551
9552 2011-09-16  Bruno Haible  <bruno@clisp.org>
9553
9554         Enhance fsync, fdatasync tests.
9555         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
9556         * tests/test-fdatasync.c (main): Likewise.
9557
9558 2011-09-16  Bruno Haible  <bruno@clisp.org>
9559
9560         Support for MSVC compiler: Ensure mode_t gets defined.
9561         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
9562         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9563         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9564         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
9565         * tests/test-fcntl-h.c: Check that mode_t is defined.
9566         * tests/test-sys_stat.c: Likewise.
9567         * tests/test-sys_types.c: Likewise.
9568         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
9569         * doc/posix-headers/sys_stat.texi: Likewise.
9570         * doc/posix-headers/sys_types.texi: Likewise.
9571
9572 2011-09-16  Bruno Haible  <bruno@clisp.org>
9573
9574         sys_stat: Support for MSVC.
9575         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
9576         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
9577         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
9578         MSVC.
9579
9580 2011-09-16  Bruno Haible  <bruno@clisp.org>
9581
9582         Support for MSVC compiler: Ensure off_t gets defined.
9583         * lib/unistd.in.h: Include <sys/types.h>.
9584         * tests/test-fcntl-h.c: Check that off_t is defined.
9585         * tests/test-sys_stat.c: Likewise.
9586         * tests/test-sys_types.c: Likewise.
9587
9588 2011-09-16  Eric Blake  <eblake@redhat.com>
9589
9590         fdatasync: port to Solaris
9591         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
9592         * modules/fdatasync (Link): Document it.
9593         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
9594
9595         fdatasync: port to MacOS X 10.7
9596         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
9597         declared.
9598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
9599         * modules/unistd (Makefile.am): Substitute it.
9600         * lib/unistd.in.h (fdatasync): Declare on MacOS.
9601         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
9602
9603         fdatasync: minor improvements
9604         * modules/fdatasync (Depends-on): Add condition for fsync.
9605         * lib/fdatasync.c (fdatasync): Add comment.
9606         * tests/test-unistd-c++.cc: Test fdatasync.
9607
9608         unistd: update refs to newer POSIX
9609         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
9610         Suggested by Bruno Haible.
9611
9612         fdatasync: new module
9613         * modules/fsync (Description): Document difference to fdatasync.
9614         * modules/fdatasync: New module.
9615         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
9616         * lib/fdatasync.c (fdatasync): Likewise.
9617         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
9618         defaults.
9619         * modules/unistd (Makefile.am): Set witnesses.
9620         * lib/unistd.in.h (fdatasync): Declare.
9621         * MODULES.html.sh: Document it.
9622         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
9623         * modules/fdatasync-tests: New test.
9624         * tests/test-fdatasync.c: Likewise.
9625
9626 2011-09-16  Eric Blake  <eblake@redhat.com>
9627
9628         test-fsync: enhance tests
9629         * modules/fsync-tests (Depends-on): Add errno, for mingw.
9630         * tests/test-fsync.c (main): Enhance test.
9631
9632 2011-09-15  Bruno Haible  <bruno@clisp.org>
9633
9634         Support for MSVC compiler: Ensure ssize_t gets defined.
9635         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
9636         * doc/posix-headers/stdio.texi: Likewise.
9637         * modules/stdio (Depends-on): Add ssize_t.
9638         * modules/sys_socket (Depends-on): Likewise.
9639         * modules/sys_types (Depends-on): Likewise.
9640         * modules/sys_uio (Depends-on): Likewise.
9641         * modules/unistd (Depends-on): Likewise.
9642         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
9643         * tests/test-sys_types.c: Check that ssize_t is defined.
9644
9645 2011-09-14  Bruno Haible  <bruno@clisp.org>
9646
9647         Avoid using #, the m4 comment starter character, near brackets.
9648         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
9649         delimiter character in sed expressions.
9650         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9651         Suggested by Eric Blake.
9652
9653         Properly quote AC_CHECK_DECLS' 4th argument.
9654         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
9655         argument.
9656         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9657         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9658         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9659         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
9660         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
9661         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
9662         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
9663         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
9664         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
9665         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9666         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
9667         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9668         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
9669         * m4/isinf.m4 (gl_ISINF): Likewise.
9670         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9671         * m4/readutmp.m4 (gl_READUTMP): Likewise.
9672         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
9673         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9674         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9675         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9676         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9677         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9678         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
9679         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9680         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9681         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9682         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
9683         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9684         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9685         Reported by Eric Blake.
9686
9687         Properly quote AC_CHECK_DECL's 4th argument.
9688         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
9689         argument.
9690         * m4/argp.m4 (gl_ARGP): Likewise.
9691         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9692         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9693         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9694         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9695         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
9696         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
9697         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
9698         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9699         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9700         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9701         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9702         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9703         Reported by Eric Blake.
9704
9705 2011-09-14  Eric Blake  <eblake@redhat.com>
9706
9707         opendir: avoid compile warning
9708         * lib/opendir.c (includes): Always include errno.h.
9709         Reported by Tatsuro MATSUOKA.
9710
9711 2011-09-14  Jim Meyering  <meyering@redhat.com>
9712
9713         maint.mk: sc_tight_scope: propagate failure from sub-make
9714         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
9715         Reported by Martin von Gagern.
9716
9717 2011-09-13  Bruno Haible  <bruno@clisp.org>
9718
9719         tempname: Support for MSVC.
9720         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
9721         MSVC.
9722         * modules/tempname (Depends-on): Add fcntl-h.
9723
9724 2011-09-13  Bruno Haible  <bruno@clisp.org>
9725
9726         sys_time: Support for MSVC.
9727         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
9728         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
9729         include <winsock2.h>.
9730         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
9731         function declarations that collide with POSIX.
9732         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
9733         (Makefile.am): Substitute HAVE_WINSOCK2_H.
9734
9735 2011-09-13  Bruno Haible  <bruno@clisp.org>
9736
9737         stat: Support for MSVC.
9738         * lib/stat.c: Include pathmax.h.
9739         * modules/stat (Depends-on): Add pathmax.
9740
9741         pathmax: Support for native Windows.
9742         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
9743
9744 2011-09-12  Bruno Haible  <bruno@clisp.org>
9745
9746         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
9747         * lib/dirent.in.h (struct dirent): New type.
9748         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
9749         DT_WHT): New macros.
9750         (DIR): New type.
9751         (opendir, closedir): Declare only if the module 'opendir' is enabled.
9752         (readdir, rewinddir): New declarations.
9753         * lib/dirent-private.h: New file.
9754         * lib/opendir.c: New file.
9755         * lib/readdir.c: New file.
9756         * lib/rewinddir.c: New file.
9757         * lib/closedir.c: New file.
9758         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
9759         * m4/opendir.m4: New file.
9760         * m4/readdir.m4: New file.
9761         * m4/rewinddir.m4: New file.
9762         * m4/closedir.m4: New file.
9763         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
9764         REPLACE_CLOSEDIR here.
9765         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
9766         readdir, rewinddir are declared.
9767         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
9768         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
9769         HAVE_REWINDDIR, HAVE_CLOSEDIR.
9770         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
9771         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
9772         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
9773         * modules/opendir: New file.
9774         * modules/readdir: New file.
9775         * modules/rewinddir: New file.
9776         * modules/closedir: New file.
9777         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
9778         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
9779         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
9780         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
9781         * NEWS: Mention the 'fchdir' change.
9782
9783 2011-09-11  Bruno Haible  <bruno@clisp.org>
9784
9785         asm-underscore.m4: Support for MSVC.
9786         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
9787         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
9788
9789 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
9790
9791         Doc about crypt functions.
9792         * doc/posix-functions/crypt.texi: Expand range of glibc versions
9793         needing for _GNU_SOURCE to get crypt.
9794         * doc/posix-functions/encrypt.texi: Likewise.
9795         * doc/posix-functions/setkey.texi: Likewise.
9796
9797 2011-09-11  Bruno Haible  <bruno@clisp.org>
9798
9799         doc: Update regarding MSVC 9.
9800         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
9801         tested".
9802         * doc/posix-functions/*.texi: Update with info about MSVC 9.
9803         * doc/posix-headers/*.texi: Likewise.
9804         * doc/pastposix-functions/*.texi: Likewise.
9805         * doc/glibc-functions/*.texi: Likewise.
9806         * doc/glibc-headers/*.texi: Likewise.
9807
9808 2011-09-11  Bruno Haible  <bruno@clisp.org>
9809
9810         unistd et al.: Don't assume <unistd.h> exists.
9811         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
9812         does not exist.
9813         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
9814         exist. But include <stdlib.h>.
9815         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
9816         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
9817         symlink() does not exist.
9818         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
9819         include <io.h> instead.
9820         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
9821         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
9822         include <direct.h> instead.
9823         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9824         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9825         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
9826         <io.h> instead.
9827         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
9828         correctly if the system does not have hard links.
9829         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
9830         <direct.h> instead.
9831         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
9832         it when looking for function declarations.
9833         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
9834         <direct.h> and <io.h> instead.
9835         * doc/posix-headers/unistd.texi: More details about MSVC problem.
9836
9837 2011-09-11  Bruno Haible  <bruno@clisp.org>
9838
9839         strcase: Support for MSVC.
9840         * modules/strcase (Status, Notice): Remove obsoletion mark.
9841         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
9842         * doc/posix-functions/strncasecmp.texi: Likewise.
9843
9844         strings: Don't assume <strings.h> exists.
9845         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
9846         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
9847         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
9848         * doc/posix-headers/strings.texi: Mention the MSVC problem.
9849
9850 2011-09-11  Bruno Haible  <bruno@clisp.org>
9851
9852         dirent: Don't assume <dirent.h> exists.
9853         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
9854         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
9855         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
9856         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
9857
9858 2011-09-11  Bruno Haible  <bruno@clisp.org>
9859
9860         Fix wint_t on MSVC.
9861         * lib/wchar.in.h (wint_t): On MSVC, override it.
9862         * lib/wctype.in.h (wint_t): Likewise.
9863         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
9864         MSVC.
9865         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
9866         * doc/posix-headers/wctype.texi: Likewise.
9867
9868 2011-09-11  Bruno Haible  <bruno@clisp.org>
9869
9870         sys_types: Fix typo.
9871         * lib/sys_types.in.h: Fix typo in comment.
9872         Reported by Paul Eggert.
9873
9874         Support for MSVC compiler: Ensure size_t gets defined.
9875         * modules/strings (Depends-on): Add 'sys_types'.
9876         * modules/sys_uio (Depends-on): Likewise.
9877         * lib/sys_uio.in.h: Update comment.
9878
9879         C++ tests for module 'sys_types'.
9880         * modules/sys_types-c++-tests: New file.
9881         * tests/test-sys_types-c++.cc: New file.
9882
9883         Tests for module 'sys_types'.
9884         * modules/sys_types-tests: New file.
9885         * tests/test-sys_types.c: New file.
9886
9887         New module 'sys_types'.
9888         * lib/sys_types.in.h: New file.
9889         * m4/sys_types_h.m4: New file.
9890         * modules/sys_types: New file.
9891         * doc/posix-headers/sys_types.texi: Mention the new module and the
9892         size_t problem on MSVC 9.
9893
9894 2011-09-11  Bruno Haible  <bruno@clisp.org>
9895
9896         Support for MSVC compiler: Avoid division by a literal 0.
9897         * lib/math.in.h (NAN): Define through a function call also on MSVC.
9898         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
9899         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
9900         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
9901         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
9902         * tests/infinity.h: New file.
9903         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
9904         on MSVC.
9905         * tests/test-ceilf1.c: Include infinity.h.
9906         (main): Use Infinityf.
9907         * tests/test-ceil1.c: Include infinity.h.
9908         (main): Use Infinityd.
9909         * tests/test-ceill.c: Include infinity.h.
9910         (main): Use Infinityl.
9911         * tests/test-dprintf-posix.c: Include infinity.h.
9912         (test_function): Use Infinityd.
9913         * tests/test-floorf1.c: Include infinity.h.
9914         (main): Use Infinityf.
9915         * tests/test-floor1.c: Include infinity.h.
9916         (main): Use Infinityd.
9917         * tests/test-floorl.c: Include infinity.h.
9918         (main): Use Infinityl.
9919         * tests/test-fprintf-posix.c: Include infinity.h.
9920         (test_function): Use Infinityd.
9921         * tests/test-frexp.c: Include infinity.h.
9922         (main): Use Infinityd.
9923         * tests/test-frexpl.c: Include infinity.h.
9924         (main): Use Infinityl.
9925         * tests/test-isfinite.c: Include infinity.h.
9926         (test_isfinitef): Use Infinityf.
9927         (test_isfinited): Use Infinityd.
9928         (test_isfinitel): Use Infinityl.
9929         * tests/test-isinf.c: Include infinity.h.
9930         (test_isinff): Use Infinityf.
9931         (test_isinfd): Use Infinityd.
9932         (test_isinfl): Use Infinityl.
9933         * tests/test-isnan.c: Include infinity.h.
9934         (test_float): Use Infinityf.
9935         (test_double): Use Infinityd.
9936         (test_long_double): Use Infinityl.
9937         * tests/test-isnanf.h: Include infinity.h.
9938         (main): Use Infinityf.
9939         * tests/test-isnand.h: Include infinity.h.
9940         (main): Use Infinityd.
9941         * tests/test-isnanl.h: Include infinity.h.
9942         (main): Use Infinityl.
9943         * tests/test-ldexpl.c: Include infinity.h.
9944         (main): Use Infinityl.
9945         * tests/test-printf-posix.h: Include infinity.h.
9946         (test_function): Use Infinityd.
9947         * tests/test-roundf1.c: Include infinity.h.
9948         (main): Use Infinityf.
9949         * tests/test-round1.c: Include infinity.h.
9950         (main): Use Infinityd.
9951         * tests/test-roundl.c: Include infinity.h.
9952         (main): Use Infinityl.
9953         * tests/test-signbit.c: Include infinity.h.
9954         (test_signbitf): Use Infinityf.
9955         (test_signbitd): Use Infinityd.
9956         (test_signbitl): Use Infinityl.
9957         * tests/test-snprintf-posix.h: Include infinity.h.
9958         (test_function): Use Infinityd, Infinityl.
9959         * tests/test-sprintf-posix.h: Include infinity.h.
9960         (test_function): Use Infinityd, Infinityl.
9961         * tests/test-truncf1.c: Include infinity.h.
9962         (main): Use Infinityf.
9963         * tests/test-trunc1.c: Include infinity.h.
9964         (main): Use Infinityd.
9965         * tests/test-truncl.c: Include infinity.h.
9966         (main): Use Infinityl.
9967         * tests/test-vasnprintf-posix.c: Include infinity.h.
9968         (test_function): Use Infinityd, Infinityl.
9969         * tests/test-vasprintf-posix.c: Include infinity.h.
9970         (test_function): Use Infinityd, Infinityl.
9971         * modules/ceilf-tests (Files): Add tests/infinity.h.
9972         * modules/ceil-tests (Files): Likewise.
9973         * modules/ceill-tests (Files): Likewise.
9974         * modules/dprintf-posix-tests (Files): Likewise.
9975         * modules/floorf-tests (Files): Likewise.
9976         * modules/floor-tests (Files): Likewise.
9977         * modules/floorl-tests (Files): Likewise.
9978         * modules/fprintf-posix-tests (Files): Likewise.
9979         * modules/frexp-tests (Files): Likewise.
9980         * modules/frexp-nolibm-tests (Files): Likewise.
9981         * modules/frexpl-tests (Files): Likewise.
9982         * modules/frexpl-nolibm-tests (Files): Likewise.
9983         * modules/isfinite-tests (Files): Likewise.
9984         * modules/isinf-tests (Files): Likewise.
9985         * modules/isnan-tests (Files): Likewise.
9986         * modules/isnanf-tests (Files): Likewise.
9987         * modules/isnanf-nolibm-tests (Files): Likewise.
9988         * modules/isnand-tests (Files): Likewise.
9989         * modules/isnand-nolibm-tests (Files): Likewise.
9990         * modules/isnanl-tests (Files): Likewise.
9991         * modules/isnanl-nolibm-tests (Files): Likewise.
9992         * modules/ldexpl-tests (Files): Likewise.
9993         * modules/printf-posix-tests (Files): Likewise.
9994         * modules/roundf-tests (Files): Likewise.
9995         * modules/round-tests (Files): Likewise.
9996         * modules/roundl-tests (Files): Likewise.
9997         * modules/signbit-tests (Files): Likewise.
9998         * modules/snprintf-posix-tests (Files): Likewise.
9999         * modules/sprintf-posix-tests (Files): Likewise.
10000         * modules/truncf-tests (Files): Likewise.
10001         * modules/trunc-tests (Files): Likewise.
10002         * modules/truncl-tests (Files): Likewise.
10003         * modules/vasnprintf-posix-tests (Files): Likewise.
10004         * modules/vasprintf-posix-tests (Files): Likewise.
10005         * modules/vdprintf-posix-tests (Files): Likewise.
10006         * modules/vfprintf-posix-tests (Files): Likewise.
10007         * modules/vprintf-posix-tests (Files): Likewise.
10008         * modules/vsnprintf-posix-tests (Files): Likewise.
10009         * modules/vsprintf-posix-tests (Files): Likewise.
10010         * modules/xprintf-posix-tests (Files): Likewise.
10011
10012 2011-09-11  Bruno Haible  <bruno@clisp.org>
10013
10014         Ensure pid_t gets defined.
10015         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10016         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10017         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10018         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10019         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10020         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10021         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10022         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10023         * tests/test-fcntl-h.c: Check that pid_t is defined.
10024         * tests/test-sched.c: Likewise.
10025         * tests/test-termios.c: Likewise.
10026         * tests/test-time.c: Likewise.
10027         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10028         * doc/posix-headers/signal.texi: Likewise.
10029         * doc/posix-headers/sys_types.texi: Likewise.
10030         * doc/posix-headers/time.texi: Likewise.
10031
10032 2011-09-11  Bruno Haible  <bruno@clisp.org>
10033
10034         acl: Fix compilation on Solaris 10 (older version).
10035         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10036         of ACE_EVERYONE.
10037         * lib/set-mode-acl.c (qset_acl): Likewise.
10038         Reported by Christian Jullien <eligis@orange.fr>.
10039
10040 2011-09-10  Bruno Haible  <bruno@clisp.org>
10041
10042         iconv, unsetenv: Add support for MSVC compiler.
10043         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10044         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10045
10046 2011-09-10  Bruno Haible  <bruno@clisp.org>
10047
10048         *printf: Add support for MSVC compiler.
10049         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10050         handles the exception caused by the %n directive. When cross-compiling,
10051         guess no on native Windows.
10052         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10053         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10054         emulate it through vsnprintf.
10055         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10056         * doc/posix-functions/dprintf.texi: Update documentation regarding
10057         MSVC 9.
10058         * doc/posix-functions/fprintf.texi: Likewise.
10059         * doc/posix-functions/printf.texi: Likewise.
10060         * doc/posix-functions/snprintf.texi: Likewise.
10061         * doc/posix-functions/sprintf.texi: Likewise.
10062         * doc/posix-functions/swprintf.texi: Likewise.
10063         * doc/posix-functions/vdprintf.texi: Likewise.
10064         * doc/posix-functions/vfprintf.texi: Likewise.
10065         * doc/posix-functions/vprintf.texi: Likewise.
10066         * doc/posix-functions/vsnprintf.texi: Likewise.
10067         * doc/posix-functions/vsprintf.texi: Likewise.
10068         * doc/glibc-functions/asprintf.texi: Likewise.
10069         * doc/glibc-functions/obstack_printf.texi: Likewise.
10070         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10071         * doc/glibc-functions/vasprintf.texi: Likewise.
10072
10073 2011-09-10  Bruno Haible  <bruno@clisp.org>
10074
10075         nocrash: Add support for native Windows.
10076         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10077
10078 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10079             Bruno Haible  <bruno@clisp.org>
10080
10081         absolute-header, include-next: Add support for MSVC compiler.
10082         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10083         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10084         directory separator in #line directives.
10085         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10086         recognize also backslash as directory separator in #line directives.
10087
10088 2011-09-08  Jim Meyering  <meyering@redhat.com>
10089
10090         maint.mk: mark the post-release commit log with "maint: " prefix
10091         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10092         one-line commit-log summary.
10093
10094 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
10095             Bruno Haible  <bruno@clisp.org>
10096
10097         Doc about crypt functions.
10098         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
10099         systems.
10100         * doc/posix-functions/encrypt.texi: Likewise.
10101         * doc/posix-functions/setkey.texi: Likewise.
10102
10103 2011-09-08  Simon Josefsson  <simon@josefsson.org>
10104
10105         * lib/gc.h: Fix copyright header.
10106
10107 2011-09-07  Bruno Haible  <bruno@clisp.org>
10108
10109         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
10110         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
10111         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
10112
10113 2011-09-07  Bruno Haible  <bruno@clisp.org>
10114
10115         openat: Work around compilation error with OSF/1 5.1 DTK cc.
10116         * lib/fopen.c: Use different syntax for include of <stdio.h>.
10117         * lib/freopen.c: Likewise.
10118         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
10119         * lib/lstat.c: Likewise.
10120         * lib/stat.c: Likewise.
10121         * lib/open.c: Use different syntax for include of <fcntl.h>.
10122         * lib/openat.c: Include fcntl.h again, explicitly.
10123
10124 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
10125
10126         parse-datetime: document the newly accepted format
10127         * doc/parse-datetime.texi (Combined date and time of day items):
10128         New section.
10129
10130 2011-09-06  Bruno Haible  <bruno@clisp.org>
10131
10132         acl: Fix a test failure on newer Solaris 10 with ZFS.
10133         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
10134         ENOSYS as no ACL.
10135         Reported by Jim Meyering.
10136
10137 2011-09-06  Bruno Haible  <bruno@clisp.org>
10138
10139         acl: Update for AIX >= 5.3 with NFS.
10140         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
10141         ENOSYS as no ACL.
10142
10143         acl: Fix a test failure on AIX >= 5.3 with NFS.
10144         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
10145         as no ACL.
10146
10147 2011-09-06  Bruno Haible  <bruno@clisp.org>
10148
10149         acl: Fix a test failure on IRIX 6.5 with NFS.
10150         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
10151         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
10152         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
10153         * lib/copy-acl.c (qcopy_acl): Likewise.
10154
10155 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10156
10157         openat: port to AIX 7.1 with large files
10158         AIX 7.1 does a "#define openat open64at" if large files are in use,
10159         so we can't simply #undef openat.  Use the orig_openat trick (similar
10160         to orig_open in lib/open.c) to work around the problem.  Problem
10161         reported by Kevin Brott for GNU tar, in the thread containing
10162         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
10163         * lib/openat.c (__need_system_fcntl_h): Define first.
10164         Include <fcntl.h> and <sys/types.h> before undefining.
10165         (orig_openat) [HAVE_OPENAT]: New inline function.
10166         (openat) [HAVE_OPENAT]: Do not undef.
10167         (rpl_openat): Use orig_openat, not openat.
10168
10169 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10170             Bruno Haible  <bruno@clisp.org>
10171
10172         acl: Avoid errors on NonStop Kernel.
10173         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
10174         ENOTSUP errors.
10175
10176 2011-09-05  Bruno Haible  <bruno@clisp.org>
10177
10178         acl: Clean up Solaris code.
10179         * lib/acl-internal.h: Remove no-op #if.
10180         * lib/file-has-acl.c: Likewise.
10181         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
10182         * lib/copy-acl.c (qcopy_acl): Likewise.
10183
10184 2011-09-05  Bruno Haible  <bruno@clisp.org>
10185
10186         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
10187         binaries built on the original Solaris 10.
10188         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
10189         trivial.
10190
10191 2011-09-05  Bruno Haible  <bruno@clisp.org>
10192
10193         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10194         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
10195         10.
10196         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
10197         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
10198         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
10199         instead of acl_get, facl_get, acl_set, facl_set.
10200
10201 2011-09-05  Bruno Haible  <bruno@clisp.org>
10202
10203         copy-file: Try unit tests on more file systems.
10204         * tests/test-copy-file-1.sh: New file.
10205         * tests/test-copy-file-2.sh: New file.
10206         * modules/copy-file-tests (Files): Add them.
10207         (Makefile.am): Add them to TESTS.
10208
10209         acl: Try unit tests on more file systems.
10210         * tests/test-file-has-acl-1.sh: New file.
10211         * tests/test-file-has-acl-2.sh: New file.
10212         * tests/test-set-mode-acl-1.sh: New file.
10213         * tests/test-set-mode-acl-2.sh: New file.
10214         * tests/test-copy-acl-1.sh: New file.
10215         * tests/test-copy-acl-2.sh: New file.
10216         * modules/acl-tests (Files): Add them.
10217         (Makefile.am): Add them to TESTS.
10218
10219 2011-09-04  Bruno Haible  <bruno@clisp.org>
10220
10221         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10222         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
10223         10.
10224         (OLD_ALLOW, OLD_DENY): New macros.
10225         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
10226         ACE_ACCESS_ALLOWED_ACE_TYPE.
10227         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
10228         ACE_ACCESS_DENIED_ACE_TYPE.
10229         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
10230         (NEW_ACE_EXECUTE): Fix value.
10231         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
10232         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
10233         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
10234         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
10235         NEW_ACE_SYNCHRONIZE): New macros.
10236         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
10237         instead of acl_fromtext, acl_set, facl_set.
10238         Fixes a coreutils/tests/cp/perm failure.
10239
10240 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
10241
10242         openat: test for fstatat (..., 0) bug
10243         Further testing with tar suggests that fstatat (..., 0)
10244         does not work in general, on AIX 7.1; see
10245         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
10246         So, give up entirely on AIX 7.1's fstatat, and fall back on our
10247         replacement fstatat (which is what older AIX releases were using
10248         anyway).
10249         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
10250         use is now changed to orig_fstatat.  This was probably the right
10251         thing to do anyway.
10252         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
10253         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
10254         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
10255         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
10256         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
10257         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
10258         if the bug is found.
10259
10260         openat: test for fstatat (AT_FDCWD, ..., 0) bug
10261         This tests for another fstatat bug on AIX 7.1:
10262         fstatat (AT_FDCWD, ..., 0) does not work.  See
10263         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
10264         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
10265         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
10266         (rpl_fstatat): Adjust so that it works around either (or both)
10267         bugs if present.
10268         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
10269
10270 2011-09-03  Karl Berry  <karl@gnu.org>
10271
10272         * doc/regex.texi (Character Class Operators): Avoid literal ":"
10273         in index entries.
10274
10275 2011-09-02  Bruno Haible  <bruno@clisp.org>
10276
10277         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
10278         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
10279         values of AR, ARFLAGS, RANLIB.
10280         Reported by John W. Eaton <jwe@gnu.org> for Octave.
10281
10282 2011-09-02  Bruno Haible  <bruno@clisp.org>
10283
10284         Find 'ar' program that fits with --host argument.
10285         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
10286
10287 2011-09-02  Bruno Haible  <bruno@clisp.org>
10288
10289         tests: init.sh: Support any non-GNU diff.
10290         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
10291         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
10292         Solaris 8.
10293
10294 2011-09-02  Bruno Haible  <bruno@clisp.org>
10295
10296         tests: init.sh: work also with any non-GNU diff that supports -u
10297         * tests/init.sh: Relax check for diff -u support.
10298         Rather than checking for GNU diff via --version, simply check
10299         for support for -u itself.  Useful at least on OpenBSD 4.9,
10300         AIX 7.1, IRIX 6.5, and Solaris 10.
10301
10302 2011-09-01  Bruno Haible  <bruno@clisp.org>
10303
10304         strtoimax, strtoumax: Document problem on HP-UX 11.
10305         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
10306         * doc/posix-functions/strtoumax.texi: Likewise.
10307
10308 2011-09-01  Bruno Haible  <bruno@clisp.org>
10309
10310         strtoumax: Avoid link error on OSF/1 with DTK cc.
10311         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
10312         defined as a function.
10313         * modules/strtoumax (Depends-on, configure.ac): Test only whether
10314         strtoumax is defined, not whether it is declared.
10315
10316 2011-09-01  Bruno Haible  <bruno@clisp.org>
10317
10318         strtoimax: Avoid link error on OSF/1 with DTK cc.
10319         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
10320         defined as a function.
10321         * modules/strtoimax (Depends-on, configure.ac): Test only whether
10322         strtoimax is defined, not whether it is declared.
10323
10324 2011-09-01  Bruno Haible  <bruno@clisp.org>
10325
10326         imaxdiv: Avoid link error on OSF/1 with DTK cc.
10327         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
10328         as a function.
10329         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
10330         whether it is declared.
10331
10332 2011-09-01  Bruno Haible  <bruno@clisp.org>
10333
10334         imaxabs: Avoid link error on OSF/1 with DTK cc.
10335         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
10336         as a function.
10337         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
10338         whether it is declared.
10339
10340 2011-09-01  Bruno Haible  <bruno@clisp.org>
10341
10342         Tests for module 'strtoumax'.
10343         * modules/strtoumax-tests: New file.
10344         * tests/test-strtoumax.c: New file.
10345
10346         Tests for module 'strtoimax'.
10347         * modules/strtoimax-tests: New file.
10348         * tests/test-strtoimax.c: New file.
10349
10350         Tests for module 'imaxdiv'.
10351         * modules/imaxdiv-tests: New file.
10352         * tests/test-imaxdiv.c: New file.
10353
10354         Tests for module 'imaxabs'.
10355         * modules/imaxabs-tests: New file.
10356         * tests/test-imaxabs.c: New file.
10357
10358 2011-09-01  Bruno Haible  <bruno@clisp.org>
10359
10360         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
10361         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
10362         pthread_create.
10363
10364 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10365
10366         openat: work around AIX 7.1 fstatat issue
10367         This should fix the problem that was not properly fixed
10368         in the previous change, dated 2011-08-30.
10369         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
10370         __need_system_stat_h defined.
10371         (orig_fstatat) [HAVE_FSTATAT]: New function.
10372         (rpl_fstatat): Go back to the old way of doing things,
10373         except call orig_fstatat instead of fstatat.
10374         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
10375         Remove unnecessary check whether fstatat fills in st_size etc.
10376
10377 2011-09-01  Bruno Haible  <bruno@clisp.org>
10378
10379         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
10380         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
10381         just include the system's header.
10382
10383 2011-08-31  Jim Meyering  <meyering@redhat.com>
10384
10385         tests: avoid spurious assertion failure in test-float.c on ppc64
10386         * tests/test-float.c (test_long_double): Comment out an assertion,
10387         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
10388         with gcc-4.4.4.
10389
10390         maint: indent with spaces, not TABs
10391         I need to get in the habit of running gnulib's "make check".
10392         Both of these would have been caught.
10393         * m4/largefile.m4: Indent with spaces, not TABs.
10394         * lib/parse-datetime.y (iso_8601_time): Likewise.
10395         Spotted by Pádraig Brady.
10396
10397         test-parse-datetime.c: accommodate a relatively strict gcc warning
10398         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
10399         to avoid a warning from gcc's -Werror=missing-declarations.
10400         Insert a few spaces-before-funcall-parenthesis.
10401
10402 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
10403
10404         parse-datetime: accept ISO 8601 date and time rep with "T" separator
10405         The parser now accepts ISO 8601 date-time strings with "T" as the
10406         separator.  It has long parsed dates like "2004-02-29 16:21:42"
10407         with a space between the date and time strings.  Now it also parses
10408         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
10409         variants like "2004-02-29T16:21:42.333-07:00"
10410         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
10411         of day representation using the 'T' separator character.
10412         * doc/parse-datetime.texi (General date syntax): replace use of
10413         deprecated --iso-8601 option with --rfc-3339 in example of date
10414         command output formats that can be parsed.
10415         * tests/test-parse-datetime.c (tm_diff): New function, taken from
10416         lib/parse-datetime.y.
10417         (gmt_offset): New function.
10418         (main): Add additional test cases to validate ISO8601 extended
10419         date and time of day parsing.
10420
10421 2011-08-31  Bruno Haible  <bruno@clisp.org>
10422
10423         freopen: Documentation.
10424         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
10425         name.
10426         Reported by Claudio Bley <claudio.bley@gmail.com>.
10427
10428 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
10429
10430         freopen: Don't crash if the filename argument is NULL.
10431         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
10432         NULL.
10433
10434 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10435
10436         openat: work around AIX 7.1 fstatat bug
10437         Problem reported by Kevin Brott for GNU tar, in the thread containing
10438         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
10439         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
10440         FSTATAT_ST_SIZE_ETC_BROKEN.
10441         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
10442         rpl_fstatat.
10443         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
10444         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
10445         AC_CHECK_FUNCS_ONCE for fstatat.
10446         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
10447         fchmodat, mkdirat, openat and unlinkat.
10448
10449 2011-08-30  Bruno Haible  <bruno@clisp.org>
10450
10451         Avoid endless recursions if config.h includes some header files.
10452         * lib/fopen.c (__need_FILE): Define already before including config.h.
10453         * lib/freopen.c (__need_FILE): Likewise.
10454         * lib/open.c (__need_system_fcntl_h): Likewise.
10455         * lib/stat.c (__need_system_sys_stat_h): Likewise.
10456         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
10457         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10458
10459 2011-08-25  Karl Berry  <karl@gnu.org>
10460
10461         * config/srclist.txt (ylwrap): new try.
10462         * build-aux/ylwrap: new file.
10463
10464 2011-08-23  Bruno Haible  <bruno@clisp.org>
10465
10466         tmpdir: Use a good default directory on native Windows.
10467         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
10468         (P_tmpdir): Default to _P_tmpdir on native Windows.
10469         (path_search): On native Windows, try the value returned by GetTempPath
10470         before trying P_tmpdir.
10471         * modules/tmpdir (Depends-on): Add pathmax.
10472         Suggested by John Darrington <john@darrington.wattle.id.au>.
10473
10474 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
10475
10476         doc: fix typo in README-release
10477         * top/README-release: Capitalize first word of a sentence.
10478
10479 2011-08-19  Jim Meyering  <meyering@redhat.com>
10480
10481         fts: do not exhaust memory when processing million-entry directories
10482         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
10483         directory would require about 256*N bytes of memory.  Thus, it was
10484         easy to construct a directory too large to be processed by any of
10485         those tools.  With this change, fts' maximum memory utilization is
10486         now limited to around 30MB.
10487         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
10488         (fts_read): When we've processed the final entry (i.e., when
10489         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
10490         using the parent entry to read any remaining entries.  Dispatch
10491         depending on what fts_build returns:
10492         - NULL+stop, aka failure: stop
10493         - NULL otherwise: move up in the dir hierarchy
10494         - non-NULL: handle this new entry
10495         (fts_build): Declare and use new local, continue_readdir.
10496         Prepare to be called from fts_read, when the entries
10497         from a partially-read directory have just been exhausted.
10498         In that case, we'll skip the opendir and instead use the parent's
10499         fts_dirp and derive dir_fd from that.
10500         Finally, in the readdir loop, if we read max_entries entries,
10501         exit the loop ensuring *not* to call closedir.  This is required
10502         so that fts_dirp can be reused on a subsequent call.
10503         Prompted by Ben England's report of memory exhaustion in find
10504         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
10505
10506         maint: fts: move decl of `dp' down into while loop; split a long line
10507         * lib/fts.c (fts_build): No semantic change.
10508
10509         fts: add/use new struct member, fts_dirp
10510         We are about to use this to manage any directory with
10511         too many entries to read all of them into memory at once.
10512         To do that, we'll need to save the DIR* pointer in each
10513         affected FTSENT struct.
10514         * lib/fts_.h: Include <dirent.h>.
10515         (struct FTSENT) [fts_dirp]: New member.
10516         * lib/fts.c (closedir_and_clear): Define.
10517         Use it in place of closedir so that we are sure to
10518         clear the new fts_dirp member when done with it.
10519         (fts_alloc): Initialize the new member.
10520         (fts_lfree): Free, if needed.
10521
10522         maint: fts: give __opendir2 a new parameter and rename
10523         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
10524         than surreptitiously using sole caller's "dir_fd".
10525         (fts_opendir): Rename from __opendir2.
10526
10527         maint: fts.c: remove __opendir2's now-unused parameter, oflag
10528         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
10529
10530         maint: fts.c: correct off-by-one indentation
10531         * lib/fts.c (fts_build): Correct indentation, change style
10532         of a couple of block comments, and bracing style.
10533
10534         maint: fts.c: move __opendir2 #define "up" out of function body
10535         * lib/fts.c (__opendir2): Move "up".  No semantic change.
10536
10537         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
10538         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
10539         out for a long time and besides was useful only on BSD systems.
10540
10541 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10542
10543         regex: port to Stratus OpenVOS
10544         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
10545         define to empty, rather than attempting nonportable optimizations.
10546         Problem reported by Paul Green in:
10547         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
10548         and fix suggested by Eric Blake in:
10549         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
10550
10551 2011-08-17  Eric Blake  <eblake@redhat.com>
10552
10553         getcwd: fix test failures on mingw
10554         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
10555         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
10556         test if long directory cannot be created, and allow mingw errno.
10557
10558         getcwd-lgpl: fix m4 to match relaxed test for BSD
10559         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
10560         (gl_FUNC_GETCWD_SIGNATURE): New macro.
10561         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
10562         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
10563         signature problem.
10564
10565         getcwd: fix compilation on mingw64
10566         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
10567         getcwd.
10568         Reported by Marc-André Lureau.
10569
10570         pipe2: silence compiler warning
10571         * lib/pipe2.c (pipe2): Hide label if it is not used.
10572
10573 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
10574
10575         relocatable-prog: fix link error
10576         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
10577         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
10578         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
10579         into modules/relocatable-lib without noticing that
10580         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
10581         also needs to build relocatable.c.
10582
10583 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10584
10585         getaddrinfo: fix sh typo in gai_strerrorA decl checking
10586         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
10587         shell code: it contained a 'break' that was not in a loop.
10588         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
10589         via a shell-language loop; this may have been true in old Autoconf
10590         versions, but it's not true in Autoconf 2.68.  I found this bug
10591         when testing coreutils git on Solaris 8, whose shell complains
10592         about the syntax error.
10593
10594 2011-08-12  Simon Josefsson  <simon@josefsson.org>
10595
10596         * lib/base64.c: Fix comment to reference RFC 4648.
10597         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
10598         <gvtulder@gmail.com>.
10599
10600 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
10601
10602         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
10603
10604         po/Makefile.in.in: fix make -q problem
10605         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
10606         rule, since there's no file named 'check-macro-version' and its
10607         use as a file breaks make -q.
10608         (all): Don't depend on check-macro-version.
10609         (CHECK_MACRO_VERSION): New macro.
10610         (stamp-po): Use it.
10611
10612         configmake: fix make -q problem
10613         * modules/configmake (configmake.h): Update configmake.h's time stamp
10614         even if the file does not change.  Otherwise, 'make -q' fails.
10615         Problem reported by Simon Josefsson in
10616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
10617
10618 2011-08-11  Jim Meyering  <meyering@redhat.com>
10619
10620         git-version-gen: correct the advice in a comment
10621         * build-aux/git-version-gen: Correct comment.
10622         Don't recommend to list .tarball-version in .gitignore.
10623
10624 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10625
10626         base64: fix off-by-one buffer size bug
10627         Problem and (trivial) fix reported by Gijs van Tulder in
10628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
10629         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
10630         * tests/test-base64.c (main): Catch the bug.
10631
10632 2011-08-10  Eric Blake  <eblake@redhat.com>
10633
10634         closein: correct comments
10635         * lib/closein.c (close_stdin): Improve comments.
10636
10637 2011-08-09  Bruno Haible  <bruno@clisp.org>
10638
10639         More tests for 'fseeko'.
10640         * tests/test-fseeko3.c: New file, from Eric Blake.
10641         * tests/test-fseeko3.sh: New file.
10642         * modules/fseeko-tests (Files): Add them.
10643         (TESTS): Add test-fseeko3.sh.
10644         (check_PROGRAMS): Add test-fseeko3.
10645
10646 2011-08-09  Eric Blake  <eblake@redhat.com>
10647
10648         fseeko: remove unneeded hack
10649         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
10650
10651         fseeko: fix bug on glibc
10652         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
10653         Reported by John W. Eaton.
10654
10655 2011-08-08  Bruno Haible  <bruno@clisp.org>
10656
10657         unictype/base: Fix interoperability with preinstalled libunistring.
10658         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
10659         Reported by Simon Josefsson.
10660
10661 2011-08-08  Bruno Haible  <bruno@clisp.org>
10662
10663         iswblank: Detect declaration correctly.
10664         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
10665         AC_CHECK_DECLS invocation.
10666
10667 2011-08-08  Bruno Haible  <bruno@clisp.org>
10668
10669         tcgetsid: Detect declaration correctly.
10670         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
10671         AC_CHECK_DECLS invocation.
10672         Reported by Simon Josefsson.
10673
10674 2011-08-08  Eric Blake  <eblake@redhat.com>
10675
10676         largefile: fix typo that regressed large file support
10677         * modules/largefile (configure.ac-early): Fix section name.
10678
10679 2011-08-06  Karl Berry  <karl@gnu.org>
10680
10681         * MODULES.html.sh (func_all_files): _Noreturn is no longer
10682         a separate module.
10683
10684 2011-08-05  Simon Josefsson  <simon@josefsson.org>
10685
10686         openat: Fix warnings and commens when building unlinkat.c on Hurd.
10687         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
10688         get prototype for free.
10689
10690 2011-08-04  Bruno Haible  <bruno@clisp.org>
10691
10692         Tests for module 'pathmax'.
10693         * modules/pathmax-tests: New file.
10694         * tests/test-pathmax.c: New file.
10695
10696         canonicalize-lgpl: Support larger filenames on the Hurd.
10697         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
10698         Reported by Paul Eggert.
10699
10700         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
10701         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
10702         * lib/chdir-long.h: Include pathmax.h.
10703         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
10704         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
10705         (PATH_MAX): Remove code that is done by pathmax.h.
10706         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
10707         * lib/tmpfile.c: Add a comment.
10708         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
10709         * modules/chdir-long (Depends-on): Add pathmax.
10710         * modules/getcwd (Depends-on): Add pathmax.
10711         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
10712         is not defined.
10713         * doc/posix-headers/limits.texi: Mention the pathmax module.
10714         * NEWS: Mention the change.
10715
10716 2011-08-02  Bruno Haible  <bruno@clisp.org>
10717
10718         pthread_sigmask: Actually use results of gl_THREADLIB.
10719         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
10720         gl_THREADLIB, not gl_[]THREADLIB.
10721         Reported by Eric Blake.
10722
10723 2011-08-02  Jim Meyering  <meyering@redhat.com>
10724
10725         maint.mk: relax the default _gl_TS_function_match regexp
10726         * top/maint.mk (_gl_TS_function_match): Don't require at least one
10727         space between function name and "(" in an "extern" declaration.
10728         That would fail to match a decl with no space there: extern void foo();
10729
10730 2011-07-31  Iain Nicol  <iain@thenicols.net>
10731
10732         git-version-gen: document that EXTRA_DIST must include .version
10733         * build-aux/git-version-gen: In the how-to-use comment, document
10734         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
10735         will fail when run from an unpacked distribution tarball.
10736
10737 2011-08-01  Bruno Haible  <bruno@clisp.org>
10738
10739         wctype-h: Fix last change.
10740         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
10741         REPLACE_TOWLOWER to 0.
10742         Reported by Sam Steingold <sds@gnu.org>.
10743
10744 2011-07-31  Bruno Haible  <bruno@clisp.org>
10745
10746         frexpl: Update autoconf test.
10747         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
10748         according to changes of 2011-06-20.
10749
10750 2011-07-31  Bruno Haible  <bruno@clisp.org>
10751
10752         sys_utsname: Add support for Minix.
10753         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
10754         <sys/utsname.h>.
10755         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10756         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
10757
10758 2011-07-31  Bruno Haible  <bruno@clisp.org>
10759
10760         strings: Add support for Minix.
10761         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
10762         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
10763         * doc/posix-headers/strings.texi: Document the Minix problem.
10764
10765 2011-07-31  Bruno Haible  <bruno@clisp.org>
10766
10767         wctype-h: Add support for Minix.
10768         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
10769         REPLACE_TOWLOWER.
10770         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
10771         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
10772         REPLACE_ISWCNTRL.
10773
10774 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
10775
10776         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
10777         This is a performance improvement for 64-bit hosts: it causes the
10778         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
10779
10780 2011-07-31  Bruno Haible  <bruno@clisp.org>
10781
10782         stdioext: Add support for Minix.
10783         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
10784         * lib/fpurge.c (fpurge): Likewise.
10785         * lib/freadahead.c (freadahead): Likewise.
10786         * lib/freadable.c (freadable): Likewise.
10787         * lib/freading.c (freading): Likewise.
10788         * lib/freadptr.c (freadptr): Likewise.
10789         * lib/freadseek.c (freadptrinc): Likewise.
10790         * lib/fseeko.c (rpl_fseeko): Likewise.
10791         * lib/fseterr.c (fseterr): Likewise.
10792         * lib/fwritable.c (fwritable): Likewise.
10793         * lib/fwriting.c (fwriting): Likewise.
10794         * lib/fflush.c (clear_ungetc_buffer): Update comment.
10795         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
10796
10797 2011-07-31  Bruno Haible  <bruno@clisp.org>
10798
10799         errno: Port to Minix.
10800         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
10801         ECONNABORTED are defined.
10802         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
10803         GNULIB_defined_ECONNABORTED): New macros.
10804         * lib/strerror-override.h (strerror_override): Test also
10805         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
10806         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
10807         ECONNABORTED.
10808         * doc/posix-headers/errno.texi: Mention the Minix problem.
10809
10810 2011-07-31  Bruno Haible  <bruno@clisp.org>
10811
10812         Work around declaration collisions on Minix.
10813         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
10814         defined, set REPLACE_MBSINIT.
10815         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
10816         defined, set REPLACE_MBRTOWC.
10817         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
10818         set REPLACE_MBRLEN.
10819         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
10820         defined, set REPLACE_MBSRTOWCS.
10821         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
10822         defined, set REPLACE_WCRTOMB.
10823         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
10824         defined, set REPLACE_WCSRTOMBS.
10825
10826 2011-07-31  Bruno Haible  <bruno@clisp.org>
10827
10828         Add support for Minix with ACK compiler.
10829         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
10830         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
10831         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
10832
10833 2011-07-31  Bruno Haible  <bruno@clisp.org>
10834
10835         Documentation about Minix.
10836         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
10837         * doc/glibc-headers/*.texi: Likewise.
10838         * doc/posix-functions/*.texi: Likewise.
10839         * doc/glibc-functions/*.texi: Likewise.
10840
10841 2011-07-31  Bruno Haible  <bruno@clisp.org>
10842
10843         snippet/warn-on-use: Fix indentation.
10844         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
10845
10846 2011-07-25  Jim Meyering  <meyering@redhat.com>
10847
10848         tests: test-update-copyright.sh: remove unnecessary "rm" commands
10849         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
10850         commands.
10851
10852 2011-07-27  Jim Meyering  <meyering@redhat.com>
10853
10854         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
10855         * top/maint.mk (gl_extract_significant_defines_): Now that
10856         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
10857         gnulib/lib/signal.in.h, and now that we recommend to
10858         define-if-undefined those two symbols in application code,
10859         we must filter them out of the "significant" list.
10860         This avoids a "make syntax-check" failure in coreutils.
10861
10862 2011-07-26  Eric Blake  <eblake@redhat.com>
10863
10864         warnings: add comments about previous patch
10865         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
10866         * m4/include_next.m4: Likewise.
10867         * m4/warn-on-use.m4: Likewise.
10868         * m4/warnings.m4: Likewise, and simplify use.
10869         Suggested by Stefano Lattarini.
10870
10871         include-next, warnings: support older autoconf
10872         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
10873         AS_VAR_PUSHDEF in a way that works with older autoconf.
10874         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
10875         Reported by Daniel P. Berrange.
10876
10877 2011-07-25  Bruno Haible  <bruno@clisp.org>
10878
10879         fseek, ftell: Fix doc.
10880         * doc/posix-functions/fseek.texi: Reword statement about
10881         AC_SYS_LARGEFILE.
10882         * doc/posix-functions/ftell.texi: Likewise.
10883
10884 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10885             Bruno Haible  <bruno@clisp.org>
10886
10887         Add dependencies to the 'largefile' module.
10888         * modules/fopen (Depends-on): Add 'largefile'.
10889         * modules/freopen (Depends-on): Likewise.
10890         * modules/fseeko (Depends-on): Likewise.
10891         * modules/ftello (Depends-on): Likewise.
10892         * modules/glob (Depends-on): Likewise.
10893         * modules/lseek (Depends-on): Likewise.
10894         * modules/lstat (Depends-on): Likewise.
10895         * modules/mkostemp (Depends-on): Likewise.
10896         * modules/mkostemps (Depends-on): Likewise.
10897         * modules/mkstemp (Depends-on): Likewise.
10898         * modules/mkstemps (Depends-on): Likewise.
10899         * modules/open (Depends-on): Likewise.
10900         * modules/openat (Depends-on): Likewise.
10901         * modules/pread (Depends-on): Likewise.
10902         * modules/pwrite (Depends-on): Likewise.
10903         * modules/scandir (Depends-on): Likewise.
10904         * modules/stat (Depends-on): Likewise.
10905         * modules/tmpfile (Depends-on): Likewise.
10906         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
10907         since the containing module now depends on the largefile module.
10908         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
10909         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
10910         off_t is fixed by gnulib.
10911         * doc/posix-functions/freopen.texi: Likewise.
10912         * doc/posix-functions/fseeko.texi: Likewise.
10913         * doc/posix-functions/fstatat.texi: Likewise.
10914         * doc/posix-functions/ftello.texi: Likewise.
10915         * doc/posix-functions/glob.texi: Likewise.
10916         * doc/posix-functions/lseek.texi: Likewise.
10917         * doc/posix-functions/lstat.texi: Likewise.
10918         * doc/posix-functions/mkstemp.texi: Likewise.
10919         * doc/posix-functions/open.texi: Likewise.
10920         * doc/posix-functions/openat.texi: Likewise.
10921         * doc/posix-functions/pread.texi: Likewise.
10922         * doc/posix-functions/pwrite.texi: Likewise.
10923         * doc/posix-functions/scandir.texi: Likewise.
10924         * doc/posix-functions/stat.texi: Likewise.
10925         * doc/posix-functions/tmpfile.texi: Likewise.
10926         * doc/glibc-functions/mkostemp.texi: Likewise.
10927         * doc/glibc-functions/mkostemps.texi: Likewise.
10928         * doc/glibc-functions/mkstemps.texi: Likewise.
10929
10930 2011-07-25  Bruno Haible  <bruno@clisp.org>
10931
10932         fcntl: Move AC_LIBOBJ invocation to module description.
10933         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
10934         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
10935
10936         fcntl: Remove call-in from fchdir.m4.
10937         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
10938         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
10939
10940         dup3: Remove potential call-in from fchdir.m4.
10941         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
10942         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
10943
10944         dup2: Move AC_LIBOBJ invocation to module description.
10945         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
10946         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
10947         Don't invoke AC_LIBOBJ.
10948         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
10949
10950         dup2: Remove call-in from fchdir.m4.
10951         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
10952         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
10953
10954         fclose: Move AC_LIBOBJ invocation to module description.
10955         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
10956         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
10957         to 1.
10958         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
10959
10960         fclose: Remove call-in from close.m4.
10961         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
10962         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
10963
10964         close: Move AC_LIBOBJ invocation to module description.
10965         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
10966         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
10967         1.
10968         * modules/close (configure.ac): Invoke AC_LIBOBJ.
10969
10970         close: Remove call-in from fchdir.m4.
10971         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
10972         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
10973
10974         open: Move AC_LIBOBJ invocation to module description.
10975         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
10976         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
10977         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
10978
10979         open: Remove call-in from fchdir.m4.
10980         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
10981         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
10982
10983         fchdir: Start to remove gl_REPLACE_* idiom.
10984         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
10985         (gl_FUNC_FCHDIR): Invoke it.
10986
10987 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10988
10989         * lib/ftell.c (ftell): Comment out cast.
10990
10991         close: use gl_REPLACE_FCLOSE only if defined
10992         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
10993         is defined.  The close module doesn't depend on the fclose module
10994         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
10995         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
10996         I reproduced the problem with "./gnulib-tool --test close sys_socket".
10997
10998 2011-07-24  Jim Meyering  <meyering@redhat.com>
10999
11000         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11001         * tests/test-select.h (test_function): Declare as "static".
11002
11003 2011-07-24  Bruno Haible  <bruno@clisp.org>
11004
11005         doc: Mention the effects of AC_SYS_LARGEFILE.
11006         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11007         on this function.
11008         * doc/posix-functions/aio_error.texi: Likewise.
11009         * doc/posix-functions/aio_fsync.texi: Likewise.
11010         * doc/posix-functions/aio_read.texi: Likewise.
11011         * doc/posix-functions/aio_return.texi: Likewise.
11012         * doc/posix-functions/aio_suspend.texi: Likewise.
11013         * doc/posix-functions/aio_write.texi: Likewise.
11014         * doc/posix-functions/fgetpos.texi: Likewise.
11015         * doc/posix-functions/fopen.texi: Likewise.
11016         * doc/posix-functions/freopen.texi: Likewise.
11017         * doc/posix-functions/fsetpos.texi: Likewise.
11018         * doc/posix-functions/fstatvfs.texi: Likewise.
11019         * doc/posix-functions/ftruncate.texi: Likewise.
11020         * doc/posix-functions/ftw.texi: Likewise.
11021         * doc/posix-functions/getrlimit.texi: Likewise.
11022         * doc/posix-functions/glob.texi: Likewise.
11023         * doc/posix-functions/lio_listio.texi: Likewise.
11024         * doc/posix-functions/lockf.texi: Likewise.
11025         * doc/posix-functions/mkstemp.texi: Likewise.
11026         * doc/posix-functions/mmap.texi: Likewise.
11027         * doc/posix-functions/nftw.texi: Likewise.
11028         * doc/posix-functions/openat.texi: Likewise.
11029         * doc/posix-functions/opendir.texi: Likewise.
11030         * doc/posix-functions/posix_fadvise.texi: Likewise.
11031         * doc/posix-functions/posix_fallocate.texi: Likewise.
11032         * doc/posix-functions/pread.texi: Likewise.
11033         * doc/posix-functions/pwrite.texi: Likewise.
11034         * doc/posix-functions/readdir.texi: Likewise.
11035         * doc/posix-functions/readdir_r.texi: Likewise.
11036         * doc/posix-functions/rewinddir.texi: Likewise.
11037         * doc/posix-functions/scandir.texi: Likewise.
11038         * doc/posix-functions/seekdir.texi: Likewise.
11039         * doc/posix-functions/setrlimit.texi: Likewise.
11040         * doc/posix-functions/statvfs.texi: Likewise.
11041         * doc/posix-functions/telldir.texi: Likewise.
11042         * doc/posix-functions/tmpfile.texi: Likewise.
11043         * doc/posix-functions/truncate.texi: Likewise.
11044         * doc/glibc-functions/fallocate.texi: Likewise.
11045         * doc/glibc-functions/fstatfs.texi: Likewise.
11046         * doc/glibc-functions/fts_children.texi: Likewise.
11047         * doc/glibc-functions/fts_read.texi: Likewise.
11048         * doc/glibc-functions/getdirentries.texi: Likewise.
11049         * doc/glibc-functions/mkostemp.texi: Likewise.
11050         * doc/glibc-functions/mkostemps.texi: Likewise.
11051         * doc/glibc-functions/mkstemps.texi: Likewise.
11052         * doc/glibc-functions/preadv.texi: Likewise.
11053         * doc/glibc-functions/pwritev.texi: Likewise.
11054         * doc/glibc-functions/sendfile.texi: Likewise.
11055         * doc/glibc-functions/statfs.texi: Likewise.
11056
11057 2011-07-24  Bruno Haible  <bruno@clisp.org>
11058
11059         doc: Fix typo.
11060         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11061
11062 2011-07-24  Bruno Haible  <bruno@clisp.org>
11063
11064         doc: Mention fsusage.
11065         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11066
11067 2011-07-24  Bruno Haible  <bruno@clisp.org>
11068
11069         doc: Mention new glibc headers and functions.
11070         * doc/glibc-headers/gshadow.texi: New file.
11071         * doc/glibc-functions/endsgent.texi: New file.
11072         * doc/glibc-functions/fgetsgent.texi: New file.
11073         * doc/glibc-functions/fgetsgent_r.texi: New file.
11074         * doc/glibc-functions/getsgent.texi: New file.
11075         * doc/glibc-functions/getsgent_r.texi: New file.
11076         * doc/glibc-functions/getsgnam.texi: New file.
11077         * doc/glibc-functions/getsgnam_r.texi: New file.
11078         * doc/glibc-functions/putsgent.texi: New file.
11079         * doc/glibc-functions/setsgent.texi: New file.
11080         * doc/glibc-functions/sgetsgent.texi: New file.
11081         * doc/glibc-functions/sgetsgent_r.texi: New file.
11082         * doc/glibc-functions/malloc_info.texi: New file.
11083         * doc/glibc-functions/preadv.texi: New file.
11084         * doc/glibc-functions/pwritev.texi: New file.
11085         * doc/glibc-functions/register_printf_modifier.texi: New file.
11086         * doc/glibc-functions/register_printf_specifier.texi: New file.
11087         * doc/glibc-functions/register_printf_type.texi: New file.
11088         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11089         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11090         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11091         * doc/glibc-functions/pthread_getname_np.texi: New file.
11092         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11093         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
11094         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
11095         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
11096         * doc/glibc-functions/pthread_setname_np.texi: New file.
11097         * doc/glibc-functions/pthread_sigqueue.texi: New file.
11098         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
11099         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
11100         * doc/glibc-functions/qsort_r.texi: New file.
11101         * doc/glibc-functions/quick_exit.texi: New file.
11102         * doc/glibc-functions/syncfs.texi: New file.
11103         * doc/gnulib.texi: Include them.
11104         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
11105         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
11106         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
11107         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
11108         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
11109         * doc/glibc-functions/execvpe.texi: Likewise.
11110
11111 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11112
11113         ftell: don't include <unistd.h>
11114         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
11115         guaranteed to define off_t, and the ftell module depends on the
11116         stdio module.
11117
11118         ftell: do not assume wraparound signed arithmetic
11119         * lib/ftell.c: Include <limits.h>.
11120         (ftell): Don't assume wraparound signed arithmetic.
11121
11122 2011-07-24  Bruno Haible  <bruno@clisp.org>
11123
11124         close: No longer depend on module 'fclose'.
11125         * modules/close (Depends-on): Remove fclose.
11126         * NEWS: Mention the change.
11127         Suggested by Sam Steingold <sds@gnu.org>.
11128
11129 2011-07-24  Bruno Haible  <bruno@clisp.org>
11130
11131         fsusage: Enable large volume support on AIX >= 5.2.
11132         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
11133         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
11134         instead of STAT_STATVFS.
11135         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
11136
11137         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
11138         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
11139         f_blocks field only on MacOS X.
11140
11141         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
11142         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
11143         * modules/fsusage (Depends-on): Add largefile.
11144
11145 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11146
11147         * README: Modernize discussion of signed integers.
11148         Assuming overflow wraparound is no longer safe.
11149         Mention ones' complement and signed magnitude.
11150
11151 2011-07-22  Bruno Haible  <bruno@clisp.org>
11152
11153         select tests, pselect tests: Refactor.
11154         * tests/test-select.h: New file, extracted from tests/test-select.c.
11155         (select_fn): New type.
11156         (test, do_select, do_select_nowait, do_select_wait, test_tty,
11157         test_connect_first, test_accept_first, test_pair, test_socket_pair,
11158         test_pipe): Add my_select argument.
11159         (test_function): Renamed from main. Add my_select argument.
11160         * tests/test-select.c: Move most code to tests/test-select.h. Include
11161         test-select.h.
11162         * modules/select-tests (Files): Add tests/test-select.h.
11163         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
11164         (my_select, main): New functions.
11165         * modules/pselect-tests (Files): Add tests/test-select.h,
11166         tests/macros.h, tests/signature.h.
11167         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
11168         (configure.ac): Check for <sys/wait.h>.
11169
11170 2011-07-22  Bruno Haible  <bruno@clisp.org>
11171
11172         sys_select tests: Check the signature of FD_*.
11173         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
11174         signature tests from here...
11175         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
11176         here.
11177         * modules/sys_select-tests (Files): Add tests/signature.h.
11178
11179 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
11180
11181         largefile: new module, replacing large-inode
11182         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
11183         * MODULES.html.sh: Add largefile, remove large-inode.
11184         * modules/largefile, m4/largefile.m4: New files.
11185         * modules/large-inode, m4/large-inode.m4: Remove.
11186
11187         fsusage: port to MacOS X 10.7 with 4 TiB file systems
11188         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
11189         implementations that use only 32 bits to count blocks.
11190         On typical hosts with 1024-byte blocks, this fails with file
11191         systems as small as 4 TiB.  Problem reported by Herb Wartens
11192         <http://debbugs.gnu.org/9140> and this should also fix a similar
11193         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
11194
11195         large-inode: New module
11196         * MODULES.html.sh: Add it.
11197         * modules/large-inode, m4/large-inode.m4: New files.
11198
11199         extensions: Enable extensions on MacOS X 10.5 and later.
11200         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
11201
11202 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
11203
11204         file-has-acl: use acl_extended_file_nofollow if available
11205         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
11206         (acl_extended_file): New macro.
11207         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
11208         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
11209
11210 2011-07-21  Bruno Haible  <bruno@clisp.org>
11211
11212         Declare system functions in a way that works with C++.
11213         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
11214         declare fdopendir as extern "C".
11215         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
11216         declare frexpl as extern "C".
11217         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
11218         declare gai_strerror as extern "C".
11219         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
11220         programs, declare gai_strerror as extern "C".
11221         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
11222         declare getlogin_r as extern "C".
11223         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
11224         as extern "C".
11225         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
11226         declare ldexpl as extern "C".
11227         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
11228         as extern "C".
11229         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
11230         program, declare getmntinfo as extern "C".
11231         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
11232         stpncpy as extern "C".
11233         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
11234         program, declare __xpg_strerror_r as extern "C".
11235         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
11236         strndup as extern "C".
11237         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
11238         declare memset and bzero as extern "C".
11239         Reported by Sam Steingold <sds@gnu.org>.
11240
11241 2011-07-12  Jim Meyering  <meyering@redhat.com>
11242
11243         maint.mk: prohibit inclusion of "verify.h" without use
11244         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
11245
11246 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11247
11248         timer-time: A new module to check for timer_settime()
11249         * m4/timer_time.m4: Check for the posix function.
11250         * modules/timer-time: Add the new module.
11251         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
11252         Mention it.
11253
11254 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
11255             Bruno Haible  <bruno@clisp.org>
11256
11257         pthread_sigmask: assume POSIX threads if --avoid=threadlib
11258         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
11259         not defined, assume POSIX threads and look for pthread_sigmask in
11260         $LIBS, without changing $CPPFLAGS.
11261
11262 2011-07-19  Bruno Haible  <bruno@clisp.org>
11263
11264         strstr: Update cross-compilation guess.
11265         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
11266         CPUs, guess no, in view of glibc
11267         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
11268         Suggested by Eric Blake. Reported by Reuben Thomas.
11269
11270 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11271
11272         getopt-gnu: suppress core dumps from detection code
11273         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
11274         to suppress core dumps that may well occur on glibc systems.
11275         * modules/getopt-gnu: Depend on nocrash.
11276
11277 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
11278
11279         pthread_sigmask: ensure usleep is declared
11280         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
11281         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
11282
11283 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11284
11285         doc: Document NonStop portability issues.
11286         * doc/posix-functions/sigaction.texi (sigaction):
11287         * doc/posix-headers/signal.texi (signal.h):
11288         Document NonStop.  See Joachim Schmitz in
11289         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
11290
11291 2011-07-15  Bruno Haible  <bruno@clisp.org>
11292
11293         ffsl, ffsll: Avoid unportable behaviour.
11294         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
11295
11296 2011-07-15  Bruno Haible  <bruno@clisp.org>
11297
11298         ffs: More tests.
11299         * tests/test-ffs.c (NBITS): New macro.
11300         (main): Add more tests.
11301         * tests/test-ffsl.c (NBITS): New macro.
11302         (main): Add more tests.
11303         * tests/test-ffsll.c (NBITS): New macro.
11304         (main): Add more tests.
11305
11306 2011-07-15  Eric Blake  <eblake@redhat.com>
11307
11308         ffsl, ffsll: new modules
11309         * modules/ffsl: New file.
11310         * modules/ffsll: Likewise.
11311         * m4/ffsl.m4: Likewise.
11312         * m4/ffsll.m4: Likewise.
11313         * lib/ffsl.c: Likewise.
11314         * lib/ffsl.h: Likewise.
11315         * lib/ffsll.c: Likewise.
11316         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
11317         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
11318         * modules/string (Makefile.am): Substitute witnesses.
11319         * lib/strings.in.h (ffsl, ffsll): Declare.
11320         * modules/ffsl-tests: New test file.
11321         * modules/ffsll-tests: Likewise.
11322         * tests/test-ffsl.c: Likewise.
11323         * tests/test-ffsll.c: Likewise.
11324         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11325         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
11326         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
11327
11328         ffs: fix m4 prerequisite
11329         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
11330
11331         ffs: avoid undefined behavior
11332         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
11333         * tests/test-ffs.c (naive, main): Avoid signed shifts.
11334         Reported by Bruno Haible.
11335
11336 2011-07-12  Bruno Haible  <bruno@clisp.org>
11337
11338         pthread_sigmask: Rely on module 'threadlib'.
11339         * modules/pthread_sigmask (Depends-on): Add threadlib.
11340         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
11341         is defined.
11342
11343 2011-07-12  Bruno Haible  <bruno@clisp.org>
11344
11345         regex: Depend on module 'strcase'.
11346         * modules/regex (Depends-on): Add strcase, for strcasecmp().
11347
11348 2011-07-12  Jim Meyering  <meyering@redhat.com>
11349
11350         warn-on-use: fix typo in file name
11351         * modules/snippet/warn-on-use (Files): Correct file name:
11352         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
11353
11354 2011-07-12  Bruno Haible  <bruno@clisp.org>
11355
11356         strings: Document module.
11357         * doc/posix-headers/strings.texi: Mention module 'strings'.
11358
11359 2011-07-12  Bruno Haible  <bruno@clisp.org>
11360
11361         Rename module '_Noreturn' to 'snippet/_Noreturn'.
11362         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
11363         (Files, Makefile.am): Update.
11364         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
11365         * modules/stdlib (Depends-on): Update.
11366
11367 2011-07-12  Bruno Haible  <bruno@clisp.org>
11368
11369         * NEWS: Mention the changes.
11370
11371         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
11372         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
11373         (Files, Makefile.am): Update.
11374         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
11375         * modules/arpa_inet (Depends-on): Update.
11376         * modules/ctype (Depends-on): Update.
11377         * modules/dirent (Depends-on): Update.
11378         * modules/fcntl-h (Depends-on): Update.
11379         * modules/glob (Depends-on): Update.
11380         * modules/iconv-h (Depends-on): Update.
11381         * modules/inttypes-incomplete (Depends-on): Update.
11382         * modules/langinfo (Depends-on): Update.
11383         * modules/locale (Depends-on): Update.
11384         * modules/math (Depends-on): Update.
11385         * modules/netdb (Depends-on): Update.
11386         * modules/poll-h (Depends-on): Update.
11387         * modules/pty (Depends-on): Update.
11388         * modules/search (Depends-on): Update.
11389         * modules/signal (Depends-on): Update.
11390         * modules/spawn (Depends-on): Update.
11391         * modules/stdio (Depends-on): Update.
11392         * modules/stdlib (Depends-on): Update.
11393         * modules/string (Depends-on): Update.
11394         * modules/strings (Depends-on): Update.
11395         * modules/sys_file (Depends-on): Update.
11396         * modules/sys_ioctl (Depends-on): Update.
11397         * modules/sys_select (Depends-on): Update.
11398         * modules/sys_socket (Depends-on): Update.
11399         * modules/sys_stat (Depends-on): Update.
11400         * modules/sys_time (Depends-on): Update.
11401         * modules/sys_times (Depends-on): Update.
11402         * modules/sys_utsname (Depends-on): Update.
11403         * modules/sys_wait (Depends-on): Update.
11404         * modules/termios (Depends-on): Update.
11405         * modules/time (Depends-on): Update.
11406         * modules/unistd (Depends-on): Update.
11407         * modules/wchar (Depends-on): Update.
11408         * modules/wctype-h (Depends-on): Update.
11409         * MODULES.html.sh (Support for building libraries and executables):
11410         Update.
11411
11412         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
11413         * modules/snippet/unused-parameter: Renamed from
11414         modules/unused-parameter.
11415         (Files, Makefile.am): Update.
11416         * build-aux/snippet/unused-parameter.h: Renamed from
11417         build-aux/unused-parameter.h.
11418         * modules/selinux-h (Depends-on): Update.
11419         * modules/unistr/base (Depends-on): Update.
11420         * MODULES.html.sh (Core language properties): Update.
11421
11422         Rename module 'link-warning' to 'snippet/link-warning'.
11423         * modules/snippet/link-warning: Renamed from modules/link-warning.
11424         (Files, Makefile.am): Update.
11425         * build-aux/snippet/link-warning.h: Renamed from
11426         build-aux/link-warning.h.
11427         * MODULES.html.sh (Support for building libraries and executables):
11428         Update.
11429
11430         Rename module 'c++defs' to 'snippet/c++defs'.
11431         * modules/snippet/c++defs: Renamed from modules/c++defs.
11432         (Files, Makefile.am): Update.
11433         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
11434         * modules/arpa_inet (Depends-on): Update.
11435         * modules/ctype (Depends-on): Update.
11436         * modules/dirent (Depends-on): Update.
11437         * modules/fcntl-h (Depends-on): Update.
11438         * modules/glob (Depends-on): Update.
11439         * modules/iconv-h (Depends-on): Update.
11440         * modules/langinfo (Depends-on): Update.
11441         * modules/locale (Depends-on): Update.
11442         * modules/math (Depends-on): Update.
11443         * modules/netdb (Depends-on): Update.
11444         * modules/poll-h (Depends-on): Update.
11445         * modules/pty (Depends-on): Update.
11446         * modules/search (Depends-on): Update.
11447         * modules/signal (Depends-on): Update.
11448         * modules/spawn (Depends-on): Update.
11449         * modules/stdio (Depends-on): Update.
11450         * modules/stdlib (Depends-on): Update.
11451         * modules/string (Depends-on): Update.
11452         * modules/strings (Depends-on): Update.
11453         * modules/sys_ioctl (Depends-on): Update.
11454         * modules/sys_select (Depends-on): Update.
11455         * modules/sys_socket (Depends-on): Update.
11456         * modules/sys_stat (Depends-on): Update.
11457         * modules/sys_time (Depends-on): Update.
11458         * modules/sys_wait (Depends-on): Update.
11459         * modules/termios (Depends-on): Update.
11460         * modules/time (Depends-on): Update.
11461         * modules/unistd (Depends-on): Update.
11462         * modules/wchar (Depends-on): Update.
11463         * modules/wctype-h (Depends-on): Update.
11464
11465         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
11466         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
11467         (Files, Makefile.am): Update.
11468         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
11469         * modules/argv-iter (Depends-on): Update.
11470         * modules/arpa_inet (Depends-on): Update.
11471         * modules/dirent (Depends-on): Update.
11472         * modules/fcntl-h (Depends-on): Update.
11473         * modules/fnmatch (Depends-on): Update.
11474         * modules/getopt-posix (Depends-on): Update.
11475         * modules/glob (Depends-on): Update.
11476         * modules/iconv-h (Depends-on): Update.
11477         * modules/inttypes-incomplete (Depends-on): Update.
11478         * modules/locale (Depends-on): Update.
11479         * modules/math (Depends-on): Update.
11480         * modules/netdb (Depends-on): Update.
11481         * modules/search (Depends-on): Update.
11482         * modules/signal (Depends-on): Update.
11483         * modules/spawn (Depends-on): Update.
11484         * modules/stdio (Depends-on): Update.
11485         * modules/stdlib (Depends-on): Update.
11486         * modules/string (Depends-on): Update.
11487         * modules/strings (Depends-on): Update.
11488         * modules/sys_socket (Depends-on): Update.
11489         * modules/sys_stat (Depends-on): Update.
11490         * modules/sys_time (Depends-on): Update.
11491         * modules/sys_times (Depends-on): Update.
11492         * modules/sys_utsname (Depends-on): Update.
11493         * modules/time (Depends-on): Update.
11494         * modules/unistd (Depends-on): Update.
11495         * modules/wchar (Depends-on): Update.
11496         * MODULES.html.sh (Support for building libraries and executables):
11497         Update.
11498
11499 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11500
11501         Improvements on _Noreturn and related modules.
11502
11503         modules/_Exit-tests: test _Noreturn too
11504         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
11505         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
11506         (main): Use them.
11507
11508         stdnoreturn, stdnoreturn-tests: remove modules
11509         They're not needed here and a bit premature for use elsewhere.  See
11510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
11511         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
11512         * tests/test-stdnoreturn.c: Remove files.
11513         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
11514         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
11515         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
11516         and using noreturn.
11517         * modules/openat, modules/sigpipe-die, modules/xalloc:
11518         * modules/xmemdup0, modules/xstrtol:
11519         Remove dependency on stdnoreturn.
11520
11521         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
11522         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
11523         Reparenthesize to avoid GCC warning.
11524         Support Microsoft's syntax.
11525         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
11526
11527         _Noreturn-tests: remove module
11528         * modules/_Noreturn-tests: Remove.
11529         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
11530         * tests/test-_Noreturn.c: Remove.
11531         * tests/test-stdnoreturn.c: Merge from the old
11532         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
11533
11534 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11535
11536         _Noreturn, stdnoreturn, and related modules.
11537
11538         * top/maint.mk: Adjust to new noreturn support.
11539         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
11540         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
11541
11542         xalloc: use stdnoreturn.h
11543         * lib/xalloc.h: Include <stdnoreturn.h>.
11544         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11545         * modules/xalloc (Depends-on): Add stdnoreturn.
11546
11547         xstrtol: use stdnoreturn.h
11548         * lib/xstrtol.h: Include <stdnoreturn.h>.
11549         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11550         * modules/xstrtol (Depends-on): Add stdnoreturn.
11551
11552         xmemdup0: use stdnoreturn.h
11553         * lib/xmemdup0.h: Include <stdnoreturn.h>.
11554         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11555         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
11556
11557         sigpipe-die: use stdnoreturn.h
11558         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
11559         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11560         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
11561
11562         openat: use stdnoreturn.h
11563         * lib/openat.h: Include <stdnoreturn.h>.
11564         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11565         * modules/openat (Depends-on): Add stdnoreturn.
11566
11567         * lib/openat-die.c (openat_save_fail): Modernize comment.
11568
11569         * lib/xalloc-die.c (xalloc_die): Modernize comment.
11570
11571         * lib/glthread/thread.h: Modernize comment.
11572
11573         obstack: use _Noreturn
11574         * lib/obstack.c (__attribute__): Remove macro.
11575         (print_and_abort): Use _Noreturn.
11576
11577         c-stack: use _Noreturn
11578         * lib/c-stack.c (die, overflow_handler, segv_handler):
11579         Use _Noreturn rather than __attribute__((noreturn)).
11580
11581         argmatch-tests, exclude_tests: use _Noreturn
11582         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
11583         Remove.
11584         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
11585
11586         stdlib: use _Noreturn
11587         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
11588         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
11589         * modules/stdlib (Depends-on): Add _Noreturn.
11590         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
11591
11592         stdnoreturn-tests: new module
11593         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
11594
11595         stdnoreturn: new module
11596         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
11597         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
11598
11599         _Noreturn-tests: new module
11600         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
11601
11602         _Noreturn: new module
11603         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
11604         New section, mentioning it.
11605         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
11606
11607         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
11608
11609 2011-07-11  Eric Blake  <eblake@redhat.com>
11610
11611         ffs: new module
11612         * modules/ffs: New file.
11613         * m4/ffs.m4: Likewise.
11614         * lib/ffs.c: Likewise.
11615         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
11616         * modules/strings (Makefile.am): Substitute witness.
11617         (Depends-on): Add c++defs.
11618         * lib/strings.in.h (ffs): Declare.
11619         * modules/ffs-tests: New test file.
11620         * tests/test-ffs.c: Test new module.
11621         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11622         * doc/posix-functions/ffs.texi (ffs): Likewise.
11623
11624         regex: avoid compiler warning
11625         * lib/regex.c (includes): Include <strings.h>, for use of
11626         strcasecmp in regcomp.c.
11627         Reported by Joachim Schmitz.
11628
11629 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
11630
11631         stdint: respect system's intmax_t if INTMAX_MAX
11632         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
11633         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
11634         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
11635         long but int64_t is long long, and where we will clash with the
11636         system intmax_t if we override it.  See
11637         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
11638         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
11639         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
11640         similarly for UINTMAX_C.
11641
11642 2011-07-08  Bruno Haible  <bruno@clisp.org>
11643
11644         pthread_sigmask tests: Avoid a compiler warning.
11645         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
11646         non-zero.
11647
11648         sigprocmask tests: A better way to avoid a compiler warning.
11649         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
11650         (main): Complain if system() returns non-zero.
11651         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
11652
11653 2011-07-08  Bruno Haible  <bruno@clisp.org>
11654
11655         pthread_sigmask: Work around IRIX bug.
11656         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
11657         bug.
11658         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
11659         there may be unblocked pending signals.
11660         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
11661
11662 2011-07-08  Bruno Haible  <bruno@clisp.org>
11663
11664         pthread_sigmask: Work around Cygwin bug.
11665         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
11666         bug.
11667         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
11668         the system's pthread_sigmask function.
11669         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
11670
11671 2011-07-08  Bruno Haible  <bruno@clisp.org>
11672
11673         pthread_sigmask: Work around bug in single-threaded implementation.
11674         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
11675         FreeBSD, HP-UX, Solaris bug.
11676         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
11677         * lib/pthread_sigmask.c: Include <stddef.h>.
11678         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
11679         the system's pthread_sigmask function.
11680         * modules/pthread_sigmask (configure.ac): Invoke
11681         gl_PREREQ_PTHREAD_SIGMASK.
11682         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
11683         HP-UX, Solaris.
11684
11685 2011-07-08  Eric Blake  <eblake@redhat.com>
11686
11687         test-sigprocmask: avoid compiler warning
11688         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
11689         * tests/test-sigprocmask.c (main): Use it to silence warning.
11690         Reported by Jim Meyering.
11691
11692         test-snprintf: avoid compiler warning
11693         * tests/test-snprintf.c (main): Avoid shadowed declaration.
11694         * tests/test-vsnprintf.c (main): Likewise.
11695         Reported by Jim Meyering.
11696
11697 2011-07-08  Bruno Haible  <bruno@clisp.org>
11698
11699         Tests for module 'pthread_sigmask'.
11700         * modules/pthread_sigmask-tests: New file.
11701         * tests/test-pthread_sigmask1.c: New file, based on
11702         tests/test-sigprocmask.c.
11703         * tests/test-pthread_sigmask2.c: New file.
11704
11705 2011-07-08  Jim Meyering  <meyering@redhat.com>
11706
11707         test-getopt.h: avoid warning about an unused variable
11708         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
11709
11710 2011-07-07  Jim Meyering  <meyering@redhat.com>
11711
11712         maint: reduce list of files exempt from sc_prohibit_leading_TABs
11713         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
11714         now that it no longer contains leading TABs.
11715         Remove unused "url=FIXME" statement.
11716
11717 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11718
11719         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
11720         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11721         When gl_THREADLIB is not in use, assume that the POSIX sematics
11722         are desired.  This is better for Emacs, which uses POSIX semantics
11723         on GNUish and/or POSIXish platforms, and does not use threads at
11724         all otherwise.
11725
11726         pthread_sigmask: fix typo when testing for libraries
11727         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11728         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
11729
11730 2011-07-08  Eric Blake  <eblake@redhat.com>
11731
11732         fts: introduce FTS_NOATIME
11733         * lib/fts_.h (FTS_NOATIME): New bit flag.
11734         (FTS_OPTIONMASK): Adjust.
11735         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
11736         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
11737
11738 2011-07-08  Bruno Haible  <bruno@clisp.org>
11739
11740         Tests for module 'thread'.
11741         * modules/thread-tests: New file.
11742         * tests/test-thread_self.c: New file.
11743         * tests/test-thread_create.cc: New file.
11744
11745 2011-07-08  Bruno Haible  <bruno@clisp.org>
11746
11747         thread: Avoid gcc warnings when using gl_thread_self().
11748         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
11749         'void *'.
11750         (gl_thread_self_pointer): Update.
11751
11752 2011-07-07  Bruno Haible  <bruno@clisp.org>
11753
11754         signal-c++-tests: Check declaration of pthread_sigmask.
11755         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
11756         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
11757         $(LIB_PTHREAD_SIGMASK).
11758
11759 2011-07-07  Bruno Haible  <bruno@clisp.org>
11760
11761         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
11762         * lib/signal.in.h (pthread_sigmask): Override if
11763         REPLACE_PTHREAD_SIGMASK is 1.
11764         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11765         REPLACE_PTHREAD_SIGMASK.
11766         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
11767         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
11768         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
11769         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11770         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
11771
11772 2011-07-07  Bruno Haible  <bruno@clisp.org>
11773
11774         pthread_sigmask: Ensure declaration in <signal.h>.
11775         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
11776         include <pthread.h>.
11777         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
11778         problem.
11779
11780 2011-07-07  Bruno Haible  <bruno@clisp.org>
11781
11782         pthread_sigmask: Document the module.
11783         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
11784
11785 2011-07-07  Bruno Haible  <bruno@clisp.org>
11786
11787         pthread_sigmask: Follow gnulib conventions.
11788         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
11789         gl_PTHREAD_SIGMASK.
11790         * modules/pthread_sigmask (configure.ac): Update.
11791
11792 2011-07-07  Bruno Haible  <bruno@clisp.org>
11793
11794         pthread_sigmask: Make declaration C++ safe.
11795         * lib/signal.in.h: In two special conditions, just do an #include_next.
11796         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11797         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
11798         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11799         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11800         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
11801         not REPLACE_PTHREAD_MASK.
11802         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
11803         not REPLACE_PTHREAD_MASK.
11804         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11805
11806 2011-07-07  Bruno Haible  <bruno@clisp.org>
11807
11808         pthread_sigmask: Fix return value.
11809         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
11810         * lib/pthread_sigmask.c: New file.
11811         * modules/pthread_sigmask (Files): Add it.
11812         (configure.ac): Invoke AC_LIBOBJ.
11813
11814 2011-07-07  Eric Blake  <eblake@redhat.com>
11815
11816         getopt: more portable argv creation
11817         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
11818         const, use char arrays rather than strings.
11819         Suggested by Paul Eggert.
11820
11821 2011-07-07  Bruno Haible  <bruno@clisp.org>
11822
11823         Tests for module 'sigprocmask'.
11824         * modules/sigprocmask-tests: New file.
11825         * tests/test-sigprocmask.c: New file.
11826
11827 2011-07-07  Bruno Haible  <bruno@clisp.org>
11828
11829         float tests: Tweak.
11830         * tests/test-float.c (main): Tweak skip message.
11831
11832 2011-07-07  Eric Blake  <eblake@redhat.com>
11833
11834         getopt: avoid compiler warning during configure
11835         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
11836         assigning string literals to non-const pointer.
11837
11838         getopt-gnu: avoid crash in glibc getopt
11839         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
11840         * tests/test-getopt.h (test_getopt): Enhance test.
11841         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11842         * doc/posix-functions/getopt.texi (getopt): Document it.
11843         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11844         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11845         Likewise.
11846
11847 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
11848
11849         getopt: handle W; without long options in getopt [BZ #12922]
11850         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
11851         but no long options are defined, just return 'W'.
11852
11853 2011-07-07  Bruno Haible  <bruno@clisp.org>
11854
11855         Avoid literal tabs.
11856         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
11857         variable containing a tab instead of a literal tab.
11858         Reported by Jim Meyering.
11859
11860 2011-07-07  Bruno Haible  <bruno@clisp.org>
11861
11862         Comments.
11863         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
11864
11865 2011-07-06  Bruno Haible  <bruno@clisp.org>
11866
11867         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
11868         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
11869         <winsock2.h>.
11870         (rpl_fd_isset, FD_ISSET): New definitions, copied from
11871         lib/sys_socket.in.h.
11872         (close, gethostname): Hide declarations from <winsock2.h>.
11873         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
11874         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
11875         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
11876         (select): Don't override if gnulib's <sys/select.h> was already
11877         included.
11878         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
11879         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
11880         setsockopt, shutdown, select): Tweak indentation.
11881
11882 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11883
11884         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
11885         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
11886         in an application that does not use the sys_select module.
11887
11888 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
11889
11890         poll: do not return 0 on timeout=-1
11891         * lib/poll.c: Loop with yield if no events occured
11892
11893 2011-07-06  Eric Blake  <eblake@redhat.com>
11894
11895         pthread_sigmask: always replace when not using pthread
11896         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
11897         replacement when using some threading other than pthread.  Fix
11898         logic bug.
11899
11900 2011-07-06  Bruno Haible  <bruno@clisp.org>
11901
11902         Comments.
11903         * m4/printf.m4: Update comments about mingw.
11904
11905 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11906
11907         sys_select: define sigset_t more portably
11908         * lib/sys_select.in.h: Always include <sys/types.h>, since
11909         we now need sigset_t and mingw defines it there.
11910         Include <signal.h> before split inclusion guard, to avoid
11911         mishaps on Solaris, whose <signal.h> eventually includes us.
11912         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
11913         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
11914         which come from ...
11915         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
11916         gl_CHECK_TYPE_SIGSET_T.
11917         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
11918         does the real work.
11919         * modules/sys_select (Depends-on): Add 'signal'.
11920
11921         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
11922         Suggested by Bruno Haible.
11923
11924         pselect: Use pthread_sigmask, not sigprocmask.
11925         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
11926         multithreaded apps better than sigprocmask does.
11927         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
11928         sigprocmask directly.
11929
11930 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
11931
11932         * lib/pselect.c (pselect): Use plain name, without "rpl_".
11933         Don't #undef,  since we don't need any underlying pselect.
11934         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
11935         (Depends-on): Add select.
11936         (Link): Add $(LIBSOCKET).
11937         These changes suggested by Bruno Haible.
11938
11939         pselect: document better
11940         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
11941         * doc/posix-functions/pselect.texi (pselect): Document new module.
11942
11943         pthread_sigmask: new module
11944         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
11945         * doc/posix-functions/pthread_sigmask.texi: Document new module.
11946         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
11947         This is done only as a macro; I don't know how well that'll
11948         work for C++.  Move <sys/types.h> include before the include_next,
11949         to avoid mishap on Solaris.
11950         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
11951         * modules/signal (Makefile.am): Substitute the check's results.
11952         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
11953
11954         test-pselect: new module
11955         * modules/pselect-tests, tests/test-pselect.c: New files.
11956         * tests/test-select.c, tests/test-sys_select-c++.cc:
11957         If TEST_PSELECT is defined, test pselect instead of testing select.
11958
11959         * tests/test-sys_select.c (sigset_t): Test for it, too.
11960         Suggested by Bruno Haible.
11961
11962 2011-07-05  Eric Blake  <eblake@redhat.com>
11963
11964         snprintf: guarantee %1$d, for libintl
11965         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
11966         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
11967         * doc/posix-functions/snprintf.texi (snprintf): Update.
11968         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
11969         * tests/test-snprintf.c (main): Enhance test.
11970         * tests/test-vsnprintf.c (main): Likewise.
11971
11972 2011-07-05  Jim Meyering  <meyering@redhat.com>
11973
11974         maint: exempt stdio-read.c and stdio-write.c from the cppi check
11975         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
11976         per Bruno's request, to accommodate this idiom (no space after "#")
11977         even when the function is inside an #if block:
11978         char *
11979         gets (char *s)
11980         #undef gets
11981         {
11982           ...
11983         }
11984
11985 2011-07-04  Jim Meyering  <meyering@redhat.com>
11986
11987         maint: indent with spaces, not TABs, and add a rule to check this
11988         * tests/test-userspec.c: Indent with spaces, not TABs.
11989         * tests/test-argp.c: Likewise.
11990         * tests/test-c-stack2.sh: Likewise.
11991         * tests/test-parse-duration.sh: Likewise
11992         * m4/strtod.m4: Likewise.
11993         * m4/alloca.m4: Likewise.
11994         * m4/pselect.m4: Likewise.
11995         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
11996
11997 2011-07-03  Jim Meyering  <meyering@redhat.com>
11998
11999         maint.mk: correct omissions in prohibit_argmatch_without_use check
12000         This rule would mistakenly report that argmatch.h is included without
12001         use even when both the argmatch and invalid_arg macro were used.
12002         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12003         of argmatch and invalid_arg.
12004
12005 2011-07-03  Bruno Haible  <bruno@clisp.org>
12006
12007         Comments about EINTR.
12008         * lib/safe-read.h: Explain the purpose of this module.
12009         * lib/safe-write.h: Likewise.
12010         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12011         module.
12012         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12013         module.
12014         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12015
12016 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12017
12018         xnanosleep: Rewrite to use new dtotimespec module.
12019         It has the conversion code that used to be in xnanosleep.
12020         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12021         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12022         (TIME_T_MAX): Remove.
12023         (xnanosleep): Rewrite in terms of dtotimespec.
12024         * modules/xnanosleep (Depends-on): Add dtotimespec.
12025         Remove intprops, stdbool.
12026
12027         timespec-add, timespec-sub: new modules
12028         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12029         * lib/timespec-add.c, lib/timespec-sub.c:
12030         * modules/timespec-add, modules/timespec-sub: New files.
12031
12032         dtotimespec: new module
12033         * lib/timespec.h (dtotimespec): New decl.
12034         * lib/dtotimespec.c, modules/dtotimespec: New files.
12035
12036         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12037
12038         pselect: new module
12039         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12040         (pselect): New decls.
12041         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12042         since the standard pselect decl uses 'restrict'.
12043         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12044         HAVE_PSELECT, REPLACE_PSELECT.
12045         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12046         HAVE_PSELECT, REPLACE_PSELECT.
12047         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12048
12049         sys_select: don't depend on sys_socket
12050         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12051         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12052         This fix works on GNU and GNU-like platforms, but has not been tested
12053         on native Windows.
12054         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12055         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12056         gl_HEADER_SYS_SOCKET.
12057         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12058         gl_PREREQ_SYS_H_WINSOCK2.
12059
12060 2011-06-29  Eric Blake  <eblake@redhat.com>
12061
12062         pipe2: fix C89 compile problem
12063         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12064         Reported by Bruno Haible.
12065
12066         pipe, pipe2: don't corrupt fd on error
12067         * lib/pipe.c (pipe): Leave fd unchanged on error.
12068         * lib/pipe2.c (pipe2): Likewise.
12069         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12070         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12071
12072 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12073
12074         mmap-anon: do not use regular expressions inadvertently
12075         * m4/mmap-anon.m4: Remove trailing period from strings sought
12076         in the output.
12077
12078 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12079
12080         nanosleep: fix integer overflow problem
12081         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12082         arithmetic wraps around on overflow.
12083
12084         nanosleep: simplify carrying
12085         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12086         first call to the underyling nanosleep, not for the last one.
12087         This doesn't fix any bugs, but it simplifies the computation of
12088         the remaining delay.  Found while auditing integer overflow issues.
12089
12090         dup2: remove test for existence of fcntl
12091         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12092         "#if HAVE_FCNTL", in the configure-time test program.
12093         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
12094         and therefore speeds up "configure" a bit.  Found while
12095         adding the dup2 module to Emacs.
12096
12097 2011-06-24  Eric Blake  <eblake@redhat.com>
12098
12099         maint.mk: enhance useless header checks
12100         * top/maint.mk (_sc_header_without_use): Check both include
12101         styles.
12102         (sc_prohibit_assert_without_use)
12103         (sc_prohibit_close_stream_without_use)
12104         (sc_prohibit_getopt_without_use)
12105         (sc_prohibit_quotearg_without_use)
12106         (sc_prohibit_quote_without_use)
12107         (sc_prohibit_long_options_without_use)
12108         (sc_prohibit_inttostr_without_use)
12109         (sc_prohibit_ignore_value_without_use)
12110         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
12111         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
12112         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
12113         (sc_prohibit_hash_pjw_without_use)
12114         (sc_prohibit_safe_read_without_use)
12115         (sc_prohibit_argmatch_without_use)
12116         (sc_prohibit_canonicalize_without_use)
12117         (sc_prohibit_root_dev_ino_without_use)
12118         (sc_prohibit_openat_without_use)
12119         (sc_prohibit_c_ctype_without_use)
12120         (sc_prohibit_signal_without_use)
12121         (sc_prohibit_stdio--_without_use)
12122         (sc_prohibit_stdio-safer_without_use)
12123         (sc_prohibit_strings_without_use)
12124         (sc_prohibit_intprops_without_use)
12125         (sc_prohibit_stddef_without_use)
12126         (sc_prohibit_xfreopen_without_use): Update clients.
12127
12128 2011-06-24  Jim Meyering  <meyering@redhat.com>
12129
12130         syntax-check: keep one maint.mk rule in sync with its header
12131         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
12132         of the bug Eric has just fixed, with today's commit 25e4c2ec.
12133         I prefer to avoid temporary files here, so use <(...), but that
12134         is not supported by /bin/sh, so...
12135         (SHELL): Define to /bin/bash.
12136
12137 2011-06-24  Eric Blake  <eblake@redhat.com>
12138
12139         maint.mk: update sc_prohibit_intprops_without_use
12140         * top/maint.mk (_intprops_names): Match recent changes.
12141
12142 2011-06-24  Bruno Haible  <bruno@clisp.org>
12143
12144         strerror-override: No-op tweak.
12145         * lib/strerror-override.h (strerror_override): Reorder conditions,
12146         for consistency with lib/strerror-override.c.
12147
12148 2011-06-23  Eric Blake  <eblake@redhat.com>
12149
12150         maint.mk: test further PATH_MAX issues
12151         * top/maint.mk (sc_prohibit_path_max_array): Rename...
12152         (sc_prohibit_path_max_allocation): ...and also test alloca.
12153         Suggested by Jim Meyering.
12154
12155 2011-06-22  Eric Blake  <eblake@redhat.com>
12156
12157         maint.mk: add syntax-check to avoid char[PATH_MAX]
12158         * top/maint.mk (sc_prohibit_path_max_array): New rule.
12159
12160         stat: be robust to PATH_MAX definition
12161         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
12162         * modules/stat (Depends-on): Add verify.
12163
12164         link: work around IRIX bug
12165         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
12166         * lib/link.c (rpl_link): Work around it.
12167         * tests/test-link.h (test_link): Enhance test.
12168         * doc/posix-functions/link.texi (link): Document the bug.
12169
12170         getopt: silence clang warning
12171         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
12172         dereference.
12173         Reported by Gustavo Martin Domato.
12174
12175 2011-06-22  Jim Meyering  <meyering@redhat.com>
12176
12177         bootstrap: do not insert a blank line into each .gitignore file
12178         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
12179
12180 2011-06-21  Eric Blake  <eblake@redhat.com>
12181
12182         perror: test for output mismatch
12183         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
12184         perror on IRIX.
12185
12186         strerror_r: fix OpenBSD behavior on out-of-range
12187         * lib/strerror_r.c (strerror_r): Always use maximal string.
12188         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12189
12190         strerror_r: fix OpenBSD behavior on 0
12191         * lib/strerror-override.c (strerror_override): Also override 0
12192         when needed.
12193         * lib/strerror-override.h (strerror_override): Likewise.
12194         * lib/strerror.c (strerror): Simplify, now that 0 override is done
12195         earlier.
12196         * lib/strerror_r.c (strerror_r): Likewise.
12197         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
12198         behavior...
12199         (gl_FUNC_STRERROR_0): ...into new macro.
12200         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
12201         is overridden.
12202         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
12203         * modules/strerror-override (Files): Add strerror.m4.
12204         (configure.ac): Also provide override for 0 when needed.
12205         * doc/posix-functions/strerror.texi (strerror): Document this.
12206         * doc/posix-functions/perror.texi (perror): Likewise.
12207
12208         perror: adjust array size
12209         * modules/perror (Depends-on): Add strerror-override.
12210         * lib/perror.c (perror): Use it to avoid magic number.
12211
12212         strerror-override: reduce size
12213         * lib/strerror-override.c (strerror_override): Use fewer lines.
12214
12215 2011-06-20  Bruno Haible  <bruno@clisp.org>
12216
12217         pathmax: Ensure correct value for PATH_MAX on HP-UX.
12218         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
12219
12220 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12221
12222         alloca: port to compilers that can optimize like GCC 4.6.0
12223         * lib/alloca.c (find_stack_direction): New signature, taken from
12224         Autoconf git.  This works with GCC 4.6.0.  This code should never
12225         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
12226         be used with other compilers that optimize as well as GCC 4.6.0 does.
12227         (alloca): Adjust to new signature.
12228         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
12229         New macro, which patches Autoconf in a similar way.
12230
12231         c-stack: stop worrying about stack direction
12232         * lib/c-stack.c (find_stack_direction): Remove.
12233         (segv_handler): Don't worry about stack direction growth, as it's
12234         too much of a pain to configure this correctly, given how compilers
12235         are optimizing-away our stack-growth detection code.  Instead, assume
12236         that any access to just before or just after the stack is OK.
12237         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
12238         Don't require AC_FUNC_ALLOCA; no longer needed.
12239
12240 2011-06-20  Eric Blake  <eblake@redhat.com>
12241
12242         test-stat: don't allocate PATH_MAX bytes
12243         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
12244         PATH_MAX-sized buffer.
12245         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
12246         * modules/stat-tests (Depends-on): Likewise.
12247         * tests/test-fstatat.c (includes): Drop pathmax.h.
12248         * tests/test-stat.c (includes): Likewise.
12249         Reported by Bruno Haible.
12250
12251 2011-06-20  Bruno Haible  <bruno@clisp.org>
12252
12253         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
12254         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
12255         * lib/float.c: New file.
12256         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
12257         REPLACE_FLOAT_LDBL.
12258         * modules/float (Files): Add lib/float.c.
12259         (configure.ac): Invoke AC_LIBOBJ.
12260         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
12261
12262 2011-06-20  Bruno Haible  <bruno@clisp.org>
12263
12264         Tests for module 'float'.
12265         * modules/float-tests: New file.
12266         * tests/test-float.c: New file.
12267
12268 2011-06-19  Bruno Haible  <bruno@clisp.org>
12269
12270         isinf: Coding style.
12271         * lib/isinf.c: Use GNU coding style.
12272
12273 2011-06-19  Bruno Haible  <bruno@clisp.org>
12274
12275         linkat test: Avoid test failure on AIX 7.1.
12276         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
12277         * tests/test-link.h (test_link): Likewise.
12278
12279 2011-06-19  Bruno Haible  <bruno@clisp.org>
12280
12281         pread test: Avoid test failure on OpenBSD 4.9.
12282         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
12283
12284 2011-06-19  Bruno Haible  <bruno@clisp.org>
12285
12286         sprintf-posix: Fix test failure on AIX 7.1.
12287         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
12288         * doc/posix-functions/dprintf.texi: Mention limited precision problem
12289         on AIX.
12290         * doc/posix-functions/fprintf.texi: Likewise.
12291         * doc/posix-functions/printf.texi: Likewise.
12292         * doc/posix-functions/snprintf.texi: Likewise.
12293         * doc/posix-functions/sprintf.texi: Likewise.
12294         * doc/posix-functions/vdprintf.texi: Likewise.
12295         * doc/posix-functions/vfprintf.texi: Likewise.
12296         * doc/posix-functions/vprintf.texi: Likewise.
12297         * doc/posix-functions/vsnprintf.texi: Likewise.
12298         * doc/posix-functions/vsprintf.texi: Likewise.
12299
12300 2011-06-19  Bruno Haible  <bruno@clisp.org>
12301
12302         roundl-ieee: Fix test failure on AIX 7.1.
12303         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
12304         * doc/posix-functions/roundl.texi: Mention problem with negative
12305         arguments.
12306
12307 2011-06-19  Bruno Haible  <bruno@clisp.org>
12308
12309         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12310         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
12311         * doc/posix-functions/round.texi: Mention problem with negative
12312         arguments.
12313         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
12314
12315 2011-06-19  Bruno Haible  <bruno@clisp.org>
12316
12317         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12318         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
12319         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
12320         * doc/posix-functions/roundf.texi: Mention problem with negative
12321         arguments.
12322         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
12323
12324 2011-06-19  Bruno Haible  <bruno@clisp.org>
12325
12326         ceilf-ieee: Work around bug on MacOS X 10.5.
12327         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
12328
12329         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
12330         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
12331         IEEE compliant, avoid compiler optimizations.
12332         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
12333         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
12334         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
12335         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12336         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12337         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12338         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12339         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12340         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12341         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
12342
12343 2011-06-19  Bruno Haible  <bruno@clisp.org>
12344
12345         ceilf-ieee: Work around bug on AIX 7.1.
12346         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
12347         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
12348
12349 2011-06-19  Bruno Haible  <bruno@clisp.org>
12350
12351         ceil-ieee: Work around bug on AIX 7.1.
12352         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
12353         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
12354
12355 2011-06-18  Bruno Haible  <bruno@clisp.org>
12356
12357         fsync test: Avoid test failure on MacOS X and AIX.
12358         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
12359         EINVAL.
12360
12361 2011-06-18  Bruno Haible  <bruno@clisp.org>
12362
12363         openat, fdopendir tests: Fix link errors.
12364         * modules/openat-tests (Depends-on): Add progname.
12365         * modules/fdopendir-tests (Depends-on): Likewise.
12366         * tests/test-fchownat.c: Include progname.h.
12367         (main): Call set_program_name.
12368         * tests/test-fstatat.c: Include progname.h.
12369         (main): Call set_program_name.
12370         * tests/test-mkdirat.c: Include progname.h.
12371         (main): Call set_program_name.
12372         * tests/test-openat.c: Include progname.h.
12373         (main): Call set_program_name.
12374         * tests/test-unlinkat.c: Include progname.h.
12375         (main): Call set_program_name.
12376         * tests/test-fdopendir.c: Include progname.h.
12377         (main): Call set_program_name.
12378
12379 2011-06-18  Bruno Haible  <bruno@clisp.org>
12380
12381         Doc update.
12382         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
12383         HP-UX.
12384         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
12385
12386 2011-06-18  Bruno Haible  <bruno@clisp.org>
12387
12388         getcwd tests: Avoid compilation error on HP-UX 11.31.
12389         * modules/getcwd-tests (Depends-on): Add pathmax.
12390         * tests/test-getcwd.c: Include pathmax.h.
12391
12392 2011-06-18  Bruno Haible  <bruno@clisp.org>
12393
12394         isfinite, isinf: Fix link error on AIX 6 and 7.
12395         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
12396         needed, also test the macro with a 'float' argument.
12397         * m4/isinf.m4 (gl_ISINF): Likewise.
12398
12399 2011-06-18  Bruno Haible  <bruno@clisp.org>
12400
12401         getloadavg: Don't clobber LIBS. Regression from previous commit.
12402         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
12403         AC_CHECK_LIB from here...
12404         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
12405         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
12406         gl_func_getloadavg_done.
12407         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12408
12409 2011-06-18  Bruno Haible  <bruno@clisp.org>
12410
12411         clean-temp: Improve documentation.
12412         * lib/clean-temp.h: Explain better how to use this module.
12413         Reported by John Darrington <john@darrington.wattle.id.au>.
12414
12415 2011-06-17  Bruno Haible  <bruno@clisp.org>
12416
12417         pread, pwrite: Avoid cc warning on AIX.
12418         * lib/unistd.in.h (pread): Undefine before defining as a macro.
12419         (pwrite): Likewise.
12420
12421 2011-06-17  Bruno Haible  <bruno@clisp.org>
12422
12423         spawn-pipe tests: Fix link error.
12424         * tests/test-spawn-pipe-child.c: Undefine fprintf.
12425         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12426
12427 2011-06-17  Bruno Haible  <bruno@clisp.org>
12428
12429         Tests: Remove unnecessary dependency.
12430         * modules/canonicalize-tests (Depends-on): Remove progname.
12431         * modules/chown-tests (Depends-on): Likewise.
12432         * modules/dirname-tests (Depends-on): Likewise.
12433         * modules/fdopendir-tests (Depends-on): Likewise.
12434         * modules/fdutimensat-tests (Depends-on): Likewise.
12435         * modules/hash-tests (Depends-on): Likewise.
12436         * modules/lchown-tests (Depends-on): Likewise.
12437         * modules/linkat-tests (Depends-on): Likewise.
12438         * modules/renameat-tests (Depends-on): Likewise.
12439         * modules/spawn-pipe-tests (Depends-on): Likewise.
12440         * modules/utimensat-tests (Depends-on): Likewise.
12441
12442 2011-06-17  Bruno Haible  <bruno@clisp.org>
12443
12444         spawn-pipe tests: Fix link error.
12445         * tests/test-spawn-pipe-child.c: Undefine fflush.
12446
12447 2011-06-17  Bruno Haible  <bruno@clisp.org>
12448
12449         Fix tests link errors.
12450         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
12451         * modules/chown-tests (Makefile.am): Don't link test-chown with
12452         LIBINTL.
12453         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
12454         LIBINTL.
12455         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
12456         LIBINTL.
12457         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
12458         LIBINTL.
12459
12460 2011-06-16  Bruno Haible  <bruno@clisp.org>
12461
12462         crypto/gc-sha1: Fix recent regression.
12463         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
12464         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
12465
12466         crypto/gc-md5: Fix recent regression.
12467         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
12468
12469         crypto/gc-md4: Fix recent regression.
12470         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
12471         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
12472
12473         crypto/gc-arctwo: Fix recent regression.
12474         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
12475         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
12476
12477         crypto/gc-rijndael: Fix recent regression.
12478         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
12479         (configure.ac): Invoke AC_LIBOBJ here.
12480         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
12481         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12482
12483         crypto/gc-hmac-sha1: Fix recent regression.
12484         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
12485         (configure.ac): Invoke AC_LIBOBJ here.
12486         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
12487         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12488
12489         crypto/gc-hmac-md5: Fix recent regression.
12490         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
12491         (configure.ac): Invoke AC_LIBOBJ here.
12492         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
12493         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12494
12495         crypto/gc-des: Fix recent regression.
12496         * modules/crypto/gc-des (Files): Remove m4/des.m4.
12497         (configure.ac): Invoke AC_LIBOBJ here.
12498         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
12499         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12500
12501         crypto/gc-arcfour: Fix recent regression.
12502         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
12503         (configure.ac): Invoke AC_LIBOBJ here.
12504         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
12505         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12506
12507 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
12508
12509         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
12510         After the 2011-05-21 change, this macro requires
12511         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
12512         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12513
12514 2011-06-16  Bruno Haible  <bruno@clisp.org>
12515
12516         fprintftime: Move AC_LIBOBJ invocations to module description.
12517         * m4/fprintftime.m4: Remove file.
12518         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
12519         (configure.ac): Remove gl_FPRINTFTIME call.
12520         (Makefile.am): Augment lib_SOURCES.
12521         Reported by Jim Meyering.
12522
12523 2011-06-16  Bruno Haible  <bruno@clisp.org>
12524
12525         tmpfile-safer: Finish 2011-05-23 commit.
12526         * m4/stdio-safer.m4: Really remove file.
12527         Reported by Jim Meyering.
12528
12529 2011-06-16  Bruno Haible  <bruno@clisp.org>
12530
12531         syntax-check: Fix typo.
12532         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
12533         printf-posix.m4.
12534         Reported by Jim Meyering.
12535
12536 2011-06-13  Jim Meyering  <meyering@redhat.com>
12537
12538         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
12539         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
12540
12541 2011-05-23  Bruno Haible  <bruno@clisp.org>
12542
12543         yesno: Move AC_LIBOBJ invocations to module description.
12544         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
12545         * modules/yesno (Makefile.am): Augment lib_SOURCES.
12546
12547 2011-05-23  Bruno Haible  <bruno@clisp.org>
12548
12549         xstrtol: Move AC_LIBOBJ invocations to module description.
12550         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
12551         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
12552
12553 2011-05-23  Bruno Haible  <bruno@clisp.org>
12554
12555         xstrtold: Move AC_LIBOBJ invocations to module description.
12556         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
12557         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
12558
12559 2011-05-23  Bruno Haible  <bruno@clisp.org>
12560
12561         xstrtod: Move AC_LIBOBJ invocations to module description.
12562         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
12563         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
12564
12565 2011-05-23  Bruno Haible  <bruno@clisp.org>
12566
12567         xnanosleep: Move AC_LIBOBJ invocations to module description.
12568         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
12569         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
12570
12571 2011-05-23  Bruno Haible  <bruno@clisp.org>
12572
12573         xgetcwd: Move AC_LIBOBJ invocations to module description.
12574         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
12575         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
12576
12577 2011-05-23  Bruno Haible  <bruno@clisp.org>
12578
12579         xalloc: Move AC_LIBOBJ invocations to module description.
12580         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
12581         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
12582
12583 2011-05-23  Bruno Haible  <bruno@clisp.org>
12584
12585         write-any-file: Move AC_LIBOBJ invocations to module description.
12586         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
12587         invocation.
12588         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
12589
12590 2011-05-23  Bruno Haible  <bruno@clisp.org>
12591
12592         utimens: Move AC_LIBOBJ invocations to module description.
12593         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
12594         * modules/utimens (Makefile.am): Augment lib_SOURCES.
12595
12596 2011-05-23  Bruno Haible  <bruno@clisp.org>
12597
12598         utimecmp: Move AC_LIBOBJ invocations to module description.
12599         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
12600         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
12601
12602 2011-05-23  Bruno Haible  <bruno@clisp.org>
12603
12604         userspec: Move AC_LIBOBJ invocations to module description.
12605         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
12606         * modules/userspec (Makefile.am): Augment lib_SOURCES.
12607
12608 2011-05-23  Bruno Haible  <bruno@clisp.org>
12609
12610         unlinkdir: Move AC_LIBOBJ invocations to module description.
12611         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
12612         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
12613
12614 2011-05-23  Bruno Haible  <bruno@clisp.org>
12615
12616         unistd-safer: Move AC_LIBOBJ invocations to module description.
12617         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
12618         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
12619
12620 2011-05-23  Bruno Haible  <bruno@clisp.org>
12621
12622         tempname: Move AC_LIBOBJ invocations to module description.
12623         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
12624         * modules/tempname (Makefile.am): Augment lib_SOURCES.
12625
12626 2011-05-23  Bruno Haible  <bruno@clisp.org>
12627
12628         strftime: Move AC_LIBOBJ invocations to module description.
12629         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
12630         * modules/strftime (Makefile.am): Augment lib_SOURCES.
12631
12632 2011-05-23  Bruno Haible  <bruno@clisp.org>
12633
12634         stdlib-safer: Move AC_LIBOBJ invocations to module description.
12635         * m4/stdlib-safer.m4: Remove file.
12636         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
12637         (configure.ac): Remove gl_STDLIB_SAFER call.
12638         (Makefile.am): Augment lib_SOURCES.
12639
12640 2011-05-23  Bruno Haible  <bruno@clisp.org>
12641
12642         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
12643         * m4/stdio-safer.m4: Remove file.
12644         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
12645         (configure.ac): Remove gl_TMPFILE_SAFER call.
12646         (Makefile.am): Augment lib_SOURCES.
12647
12648 2011-05-23  Bruno Haible  <bruno@clisp.org>
12649
12650         popen-safer: Move AC_LIBOBJ invocations to module description.
12651         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
12652         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
12653         (configure.ac): Remove gl_POPEN_SAFER call.
12654         (Makefile.am): Augment lib_SOURCES.
12655
12656 2011-05-23  Bruno Haible  <bruno@clisp.org>
12657
12658         freopen-safer: Move AC_LIBOBJ invocations to module description.
12659         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
12660         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
12661         (configure.ac): Remove gl_FREOPEN_SAFER call.
12662         (Makefile.am): Augment lib_SOURCES.
12663
12664 2011-05-23  Bruno Haible  <bruno@clisp.org>
12665
12666         fopen-safer: Move AC_LIBOBJ invocations to module description.
12667         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
12668         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
12669         (configure.ac): Remove gl_FOPEN_SAFER call.
12670         (Makefile.am): Augment lib_SOURCES.
12671
12672 2011-05-23  Bruno Haible  <bruno@clisp.org>
12673
12674         crypto/sha512: Move AC_LIBOBJ invocations to module description.
12675         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
12676         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
12677
12678 2011-05-23  Bruno Haible  <bruno@clisp.org>
12679
12680         crypto/sha256: Move AC_LIBOBJ invocations to module description.
12681         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
12682         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
12683
12684 2011-05-23  Bruno Haible  <bruno@clisp.org>
12685
12686         crypto/sha1: Move AC_LIBOBJ invocations to module description.
12687         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
12688         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
12689
12690 2011-05-23  Bruno Haible  <bruno@clisp.org>
12691
12692         settime: Move AC_LIBOBJ invocations to module description.
12693         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
12694         * modules/settime (Makefile.am): Augment lib_SOURCES.
12695
12696 2011-05-23  Bruno Haible  <bruno@clisp.org>
12697
12698         savedir: Move AC_LIBOBJ invocations to module description.
12699         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
12700         * modules/savedir (Makefile.am): Augment lib_SOURCES.
12701
12702 2011-05-23  Bruno Haible  <bruno@clisp.org>
12703
12704         save-cwd: Move AC_LIBOBJ invocations to module description.
12705         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
12706         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
12707
12708 2011-05-23  Bruno Haible  <bruno@clisp.org>
12709
12710         same: Move AC_LIBOBJ invocations to module description.
12711         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
12712         * modules/same (Makefile.am): Augment lib_SOURCES.
12713
12714 2011-05-23  Bruno Haible  <bruno@clisp.org>
12715
12716         safe-write: Move AC_LIBOBJ invocations to module description.
12717         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
12718         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
12719         instead of gl_SAFE_WRITE.
12720         (Makefile.am): Augment lib_SOURCES.
12721
12722 2011-05-23  Bruno Haible  <bruno@clisp.org>
12723
12724         safe-read: Move AC_LIBOBJ invocations to module description.
12725         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
12726         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
12727         of gl_SAFE_READ.
12728         (Makefile.am): Augment lib_SOURCES.
12729
12730 2011-05-23  Bruno Haible  <bruno@clisp.org>
12731
12732         safe-alloc: Move AC_LIBOBJ invocations to module description.
12733         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
12734         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
12735
12736 2011-05-23  Bruno Haible  <bruno@clisp.org>
12737
12738         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
12739         * m4/rijndael.m4: Remove file.
12740         * modules/crypto/rijndael (Files): Remove it.
12741         (configure.ac): Remove gl_RIJNDAEL call.
12742         (Makefile.am): Augment lib_SOURCES.
12743
12744 2011-05-23  Bruno Haible  <bruno@clisp.org>
12745
12746         readtokens: Move AC_LIBOBJ invocations to module description.
12747         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
12748         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
12749
12750 2011-05-23  Bruno Haible  <bruno@clisp.org>
12751
12752         read-file: Move AC_LIBOBJ invocations to module description.
12753         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
12754         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
12755         of gl_FUNC_READ_FILE.
12756         (Makefile.am): Augment lib_SOURCES.
12757
12758 2011-05-23  Bruno Haible  <bruno@clisp.org>
12759
12760         quotearg: Move AC_LIBOBJ invocations to module description.
12761         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
12762         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
12763
12764 2011-05-23  Bruno Haible  <bruno@clisp.org>
12765
12766         quote: Move AC_LIBOBJ invocations to module description.
12767         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
12768         * modules/quote (Makefile.am): Augment lib_SOURCES.
12769
12770 2011-05-23  Bruno Haible  <bruno@clisp.org>
12771
12772         posixver: Move AC_LIBOBJ invocations to module description.
12773         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
12774         * modules/posixver (Makefile.am): Augment lib_SOURCES.
12775
12776 2011-05-23  Bruno Haible  <bruno@clisp.org>
12777
12778         posixtm: Move AC_LIBOBJ invocations to module description.
12779         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
12780         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
12781
12782 2011-05-23  Bruno Haible  <bruno@clisp.org>
12783
12784         physmem: Move AC_LIBOBJ invocations to module description.
12785         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
12786         * modules/physmem (Makefile.am): Augment lib_SOURCES.
12787
12788 2011-05-23  Bruno Haible  <bruno@clisp.org>
12789
12790         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
12791         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
12792         invocation.
12793         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
12794
12795 2011-05-23  Bruno Haible  <bruno@clisp.org>
12796
12797         mpsort: Move AC_LIBOBJ invocations to module description.
12798         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
12799         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
12800
12801 2011-05-23  Bruno Haible  <bruno@clisp.org>
12802
12803         modechange: Move AC_LIBOBJ invocations to module description.
12804         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
12805         * modules/modechange (Makefile.am): Augment lib_SOURCES.
12806
12807 2011-05-23  Bruno Haible  <bruno@clisp.org>
12808
12809         mkdir-p: Move AC_LIBOBJ invocations to module description.
12810         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
12811         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
12812
12813 2011-05-23  Bruno Haible  <bruno@clisp.org>
12814
12815         mkancesdirs: Move AC_LIBOBJ invocations to module description.
12816         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
12817         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
12818
12819 2011-05-23  Bruno Haible  <bruno@clisp.org>
12820
12821         mgetgroups: Move AC_LIBOBJ invocations to module description.
12822         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
12823         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
12824
12825 2011-05-23  Bruno Haible  <bruno@clisp.org>
12826
12827         memxor: Move AC_LIBOBJ invocations to module description.
12828         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
12829         * modules/memxor (Makefile.am): Augment lib_SOURCES.
12830
12831 2011-05-23  Bruno Haible  <bruno@clisp.org>
12832
12833         memcoll: Move AC_LIBOBJ invocations to module description.
12834         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
12835         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
12836
12837 2011-05-23  Bruno Haible  <bruno@clisp.org>
12838
12839         memcasecmp: Move AC_LIBOBJ invocations to module description.
12840         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
12841         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
12842
12843 2011-05-23  Bruno Haible  <bruno@clisp.org>
12844
12845         crypto/md5: Move AC_LIBOBJ invocations to module description.
12846         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
12847         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
12848
12849 2011-05-23  Bruno Haible  <bruno@clisp.org>
12850
12851         crypto/md4: Move AC_LIBOBJ invocations to module description.
12852         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
12853         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
12854
12855 2011-05-23  Bruno Haible  <bruno@clisp.org>
12856
12857         crypto/md2: Move AC_LIBOBJ invocations to module description.
12858         * m4/md2.m4: Remove file.
12859         * modules/crypto/md2 (Files): Remove it.
12860         (configure.ac): Remove gl_MD2 call.
12861         (Makefile.am): Augment lib_SOURCES.
12862
12863 2011-05-23  Bruno Haible  <bruno@clisp.org>
12864
12865         long-options: Move AC_LIBOBJ invocations to module description.
12866         * m4/long-options.m4: Remove file.
12867         * modules/long-options (Files): Remove it.
12868         (configure.ac): Remove gl_LONG_OPTIONS call.
12869         (Makefile.am): Augment lib_SOURCES.
12870
12871 2011-05-23  Bruno Haible  <bruno@clisp.org>
12872
12873         i-ring: Move AC_LIBOBJ invocations to module description.
12874         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
12875         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
12876
12877 2011-05-23  Bruno Haible  <bruno@clisp.org>
12878
12879         idcache: Move AC_LIBOBJ invocations to module description.
12880         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
12881         * modules/idcache (Makefile.am): Augment lib_SOURCES.
12882
12883 2011-05-23  Bruno Haible  <bruno@clisp.org>
12884
12885         human: Move AC_LIBOBJ invocations to module description.
12886         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
12887         * modules/human (Makefile.am): Augment lib_SOURCES.
12888
12889 2011-05-23  Bruno Haible  <bruno@clisp.org>
12890
12891         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
12892         * m4/hmac-sha1.m4: Remove file.
12893         * modules/crypto/hmac-sha1 (Files): Remove it.
12894         (configure.ac): Remove gl_HMAC_SHA1 call.
12895         (Makefile.am): Augment lib_SOURCES.
12896
12897 2011-05-23  Bruno Haible  <bruno@clisp.org>
12898
12899         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
12900         * m4/hmac-md5.m4: Remove file.
12901         * modules/crypto/hmac-md5 (Files): Remove it.
12902         (configure.ac): Remove gl_HMAC_MD5 call.
12903         (Makefile.am): Augment lib_SOURCES.
12904
12905 2011-05-23  Bruno Haible  <bruno@clisp.org>
12906
12907         hash: Move AC_LIBOBJ invocations to module description.
12908         * m4/hash.m4: Remove file.
12909         * modules/hash (Files): Remove it.
12910         (configure.ac): Remove gl_HASH call.
12911         (Makefile.am): Augment lib_SOURCES.
12912
12913 2011-05-23  Bruno Haible  <bruno@clisp.org>
12914
12915         hard-locale: Move AC_LIBOBJ invocations to module description.
12916         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
12917         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
12918
12919 2011-05-23  Bruno Haible  <bruno@clisp.org>
12920
12921         getugroups: Move AC_LIBOBJ invocations to module description.
12922         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
12923         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
12924
12925 2011-05-23  Bruno Haible  <bruno@clisp.org>
12926
12927         gettime: Move AC_LIBOBJ invocations to module description.
12928         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
12929         * modules/gettime (Makefile.am): Augment lib_SOURCES.
12930
12931 2011-05-23  Bruno Haible  <bruno@clisp.org>
12932
12933         getndelim2: Move AC_LIBOBJ invocations to module description.
12934         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
12935         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
12936
12937 2011-05-23  Bruno Haible  <bruno@clisp.org>
12938
12939         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
12940         * m4/gc-pbkdf2-sha1.m4: Remove file.
12941         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
12942         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
12943         (Makefile.am): Augment lib_SOURCES.
12944
12945 2011-05-23  Bruno Haible  <bruno@clisp.org>
12946
12947         fts: Move AC_LIBOBJ invocations to module description.
12948         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
12949         * modules/fts (configure.ac): ... to here.
12950
12951 2011-05-23  Bruno Haible  <bruno@clisp.org>
12952
12953         file-type: Move AC_LIBOBJ invocations to module description.
12954         * m4/file-type.m4: Remove file.
12955         * modules/file-type (Files): Remove it.
12956         (configure.ac): Remove gl_FILE_TYPE call.
12957         (Makefile.am): Augment lib_SOURCES.
12958
12959 2011-05-23  Bruno Haible  <bruno@clisp.org>
12960
12961         filenamecat*: Respect rules for use of AC_LIBOBJ.
12962         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
12963         Remove AC_LIBOBJ invocation.
12964         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
12965         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
12966
12967 2011-05-23  Bruno Haible  <bruno@clisp.org>
12968
12969         filemode: Move AC_LIBOBJ invocations to module description.
12970         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
12971         * modules/filemode (Makefile.am): Augment lib_SOURCES.
12972
12973 2011-05-23  Bruno Haible  <bruno@clisp.org>
12974
12975         openat-safer: Move AC_LIBOBJ invocations to module description.
12976         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
12977         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
12978
12979 2011-05-23  Bruno Haible  <bruno@clisp.org>
12980
12981         fcntl-safer: Move AC_LIBOBJ invocations to module description.
12982         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
12983         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
12984
12985 2011-05-23  Bruno Haible  <bruno@clisp.org>
12986
12987         exclude: Move AC_LIBOBJ invocations to module description.
12988         * m4/exclude.m4: Remove file.
12989         * modules/exclude (Files): Remove it.
12990         (configure.ac): Remove gl_EXCLUDE call.
12991         (Makefile.am): Augment lib_SOURCES.
12992
12993 2011-05-23  Bruno Haible  <bruno@clisp.org>
12994
12995         dirname*: Respect rules for use of AC_LIBOBJ.
12996         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
12997         invocations.
12998         * modules/dirname (Makefile.am): Augment lib_SOURCES.
12999         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13000
13001 2011-05-23  Bruno Haible  <bruno@clisp.org>
13002
13003         dirent-safer: Move AC_LIBOBJ invocations to module description.
13004         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13005         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13006
13007 2011-05-23  Bruno Haible  <bruno@clisp.org>
13008
13009         crypto/des: Move AC_LIBOBJ invocations to module description.
13010         * m4/des.m4: Remove file.
13011         * modules/crypto/des (Files): Remove it.
13012         (configure.ac): Remove gl_DES call.
13013         (Makefile.am): Augment lib_SOURCES.
13014
13015 2011-05-23  Bruno Haible  <bruno@clisp.org>
13016
13017         cycle-check: Move AC_LIBOBJ invocations to module description.
13018         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13019         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13020
13021 2011-05-23  Bruno Haible  <bruno@clisp.org>
13022
13023         c-strtold: Move AC_LIBOBJ invocations to module description.
13024         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13025         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13026
13027 2011-05-23  Bruno Haible  <bruno@clisp.org>
13028
13029         c-strtod: Move AC_LIBOBJ invocations to module description.
13030         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13031         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13032
13033 2011-05-23  Bruno Haible  <bruno@clisp.org>
13034
13035         crc: Move AC_LIBOBJ invocations to module description.
13036         * m4/crc.m4: Remove file.
13037         * modules/crc (Files): Remove it.
13038         (configure.ac): Remove gl_CRC call.
13039         (Makefile.am): Augment lib_SOURCES.
13040
13041 2011-05-23  Bruno Haible  <bruno@clisp.org>
13042
13043         close-stream: Move AC_LIBOBJ invocations to module description.
13044         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13045         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13046
13047 2011-05-23  Bruno Haible  <bruno@clisp.org>
13048
13049         closeout: Move AC_LIBOBJ invocations to module description.
13050         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13051         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13052
13053 2011-05-23  Bruno Haible  <bruno@clisp.org>
13054
13055         closein: Move AC_LIBOBJ invocations to module description.
13056         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13057         * modules/closein (Makefile.am): Augment lib_SOURCES.
13058
13059 2011-05-23  Bruno Haible  <bruno@clisp.org>
13060
13061         cloexec: Move AC_LIBOBJ invocations to module description.
13062         * m4/cloexec.m4: Remove file.
13063         * modules/cloexec (Files): Remove it.
13064         (configure.ac): Remove gl_CLOEXEC call.
13065         (Makefile.am): Augment lib_SOURCES.
13066
13067 2011-05-23  Bruno Haible  <bruno@clisp.org>
13068
13069         check-version: Move AC_LIBOBJ invocations to module description.
13070         * m4/check-version.m4: Remove file.
13071         * modules/check-version (Files): Remove it.
13072         (configure.ac): Remove gl_CHECK_VERSION call.
13073         (Makefile.am): Augment lib_SOURCES.
13074
13075 2011-05-23  Bruno Haible  <bruno@clisp.org>
13076
13077         chdir-safer: Move AC_LIBOBJ invocations to module description.
13078         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13079         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13080
13081 2011-05-23  Bruno Haible  <bruno@clisp.org>
13082
13083         canonicalize: Move AC_LIBOBJ invocations to module description.
13084         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13085         AC_LIBOBJ invocation.
13086         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13087
13088 2011-05-23  Bruno Haible  <bruno@clisp.org>
13089
13090         canon-host: Move AC_LIBOBJ invocations to module description.
13091         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13092         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13093         instead of gl_CANON_HOST.
13094         (Makefile.am): Augment lib_SOURCES.
13095
13096 2011-05-23  Bruno Haible  <bruno@clisp.org>
13097
13098         backupfile: Move AC_LIBOBJ invocations to module description.
13099         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
13100         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
13101
13102 2011-05-23  Bruno Haible  <bruno@clisp.org>
13103
13104         argmatch: Move AC_LIBOBJ invocations to module description.
13105         * m4/argmatch.m4: Remove file.
13106         * modules/argmatch (Files): Remove it.
13107         (configure.ac): Remove gl_ARGMATCH call.
13108         (Makefile.am): Augment lib_SOURCES.
13109
13110 2011-05-23  Bruno Haible  <bruno@clisp.org>
13111
13112         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
13113         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
13114         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
13115
13116 2011-05-23  Bruno Haible  <bruno@clisp.org>
13117
13118         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
13119         * m4/arcfour.m4: Remove file.
13120         * modules/crypto/arcfour (Files): Remove it.
13121         (configure.ac): Remove gl_ARCFOUR call.
13122         (Makefile.am): Augment lib_SOURCES.
13123
13124 2011-05-22  Bruno Haible  <bruno@clisp.org>
13125
13126         write: Move AC_LIBOBJ invocations to module description.
13127         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
13128         * modules/write (configure.ac): ... to here.
13129
13130 2011-05-22  Bruno Haible  <bruno@clisp.org>
13131
13132         wmemset: Move AC_LIBOBJ invocations to module description.
13133         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
13134         here...
13135         * modules/wmemset (configure.ac): ... to here.
13136
13137 2011-05-22  Bruno Haible  <bruno@clisp.org>
13138
13139         wmemmove: Move AC_LIBOBJ invocations to module description.
13140         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
13141         here...
13142         * modules/wmemmove (configure.ac): ... to here.
13143
13144 2011-05-22  Bruno Haible  <bruno@clisp.org>
13145
13146         wmemcpy: Move AC_LIBOBJ invocations to module description.
13147         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
13148         here...
13149         * modules/wmemcpy (configure.ac): ... to here.
13150
13151 2011-05-22  Bruno Haible  <bruno@clisp.org>
13152
13153         wmemcmp: Move AC_LIBOBJ invocations to module description.
13154         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
13155         here...
13156         * modules/wmemcmp (configure.ac): ... to here.
13157
13158 2011-05-22  Bruno Haible  <bruno@clisp.org>
13159
13160         wmemchr: Move AC_LIBOBJ invocations to module description.
13161         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
13162         here...
13163         * modules/wmemchr (configure.ac): ... to here.
13164
13165 2011-05-22  Bruno Haible  <bruno@clisp.org>
13166
13167         wcswidth: Move AC_LIBOBJ invocations to module description.
13168         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
13169         here...
13170         * modules/wcswidth (configure.ac): ... to here.
13171
13172 2011-05-22  Bruno Haible  <bruno@clisp.org>
13173
13174         wcwidth: Respect rules for use of AC_LIBOBJ.
13175         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
13176         invocation from here...
13177         * modules/wcwidth (configure.ac): ... to here.
13178         (Depends-on): Update conditions.
13179
13180 2011-05-22  Bruno Haible  <bruno@clisp.org>
13181
13182         wctype: Move AC_LIBOBJ invocations to module description.
13183         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
13184         invocation from here...
13185         * modules/wctype (configure.ac): ... to here.
13186         (Depends-on): Update conditions.
13187
13188 2011-05-22  Bruno Haible  <bruno@clisp.org>
13189
13190         wctrans: Move AC_LIBOBJ invocations to module description.
13191         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
13192         invocation from here...
13193         * modules/wctrans (configure.ac): ... to here.
13194
13195 2011-05-22  Bruno Haible  <bruno@clisp.org>
13196
13197         wctomb: Move AC_LIBOBJ invocations to module description.
13198         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
13199         invocations from here...
13200         * modules/wctomb (configure.ac): ... to here.
13201
13202 2011-05-22  Bruno Haible  <bruno@clisp.org>
13203
13204         wctob: Move AC_LIBOBJ invocations to module description.
13205         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
13206         gl_PREREQ_WCTOB invocations from here...
13207         * modules/wctob (configure.ac): ... to here.
13208         (Depends-on): Update conditions.
13209
13210 2011-05-22  Bruno Haible  <bruno@clisp.org>
13211
13212         wcsxfrm: Move AC_LIBOBJ invocations to module description.
13213         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
13214         here...
13215         * modules/wcsxfrm (configure.ac): ... to here.
13216
13217 2011-05-22  Bruno Haible  <bruno@clisp.org>
13218
13219         wcstok: Move AC_LIBOBJ invocations to module description.
13220         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
13221         * modules/wcstok (configure.ac): ... to here.
13222
13223 2011-05-22  Bruno Haible  <bruno@clisp.org>
13224
13225         wcsstr: Move AC_LIBOBJ invocations to module description.
13226         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
13227         * modules/wcsstr (configure.ac): ... to here.
13228
13229 2011-05-22  Bruno Haible  <bruno@clisp.org>
13230
13231         wcsspn: Move AC_LIBOBJ invocations to module description.
13232         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
13233         * modules/wcsspn (configure.ac): ... to here.
13234
13235 2011-05-22  Bruno Haible  <bruno@clisp.org>
13236
13237         wcsrtombs: Move AC_LIBOBJ invocations to module description.
13238         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
13239         gl_PREREQ_WCSRTOMBS invocations from here...
13240         * modules/wcsrtombs (configure.ac): ... to here.
13241
13242 2011-05-22  Bruno Haible  <bruno@clisp.org>
13243
13244         wcsrchr: Move AC_LIBOBJ invocations to module description.
13245         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
13246         here...
13247         * modules/wcsrchr (configure.ac): ... to here.
13248
13249 2011-05-22  Bruno Haible  <bruno@clisp.org>
13250
13251         wcspbrk: Move AC_LIBOBJ invocations to module description.
13252         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
13253         here...
13254         * modules/wcspbrk (configure.ac): ... to here.
13255
13256 2011-05-22  Bruno Haible  <bruno@clisp.org>
13257
13258         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
13259         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
13260         gl_PREREQ_WCSNRTOMBS invocations from here...
13261         * modules/wcsnrtombs (configure.ac): ... to here.
13262
13263 2011-05-22  Bruno Haible  <bruno@clisp.org>
13264
13265         wcsnlen: Move AC_LIBOBJ invocations to module description.
13266         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
13267         here...
13268         * modules/wcsnlen (configure.ac): ... to here.
13269
13270 2011-05-22  Bruno Haible  <bruno@clisp.org>
13271
13272         wcsncpy: Move AC_LIBOBJ invocations to module description.
13273         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
13274         here...
13275         * modules/wcsncpy (configure.ac): ... to here.
13276
13277 2011-05-22  Bruno Haible  <bruno@clisp.org>
13278
13279         wcsncmp: Move AC_LIBOBJ invocations to module description.
13280         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
13281         here...
13282         * modules/wcsncmp (configure.ac): ... to here.
13283
13284 2011-05-22  Bruno Haible  <bruno@clisp.org>
13285
13286         wcsncat: Move AC_LIBOBJ invocations to module description.
13287         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
13288         here...
13289         * modules/wcsncat (configure.ac): ... to here.
13290
13291 2011-05-22  Bruno Haible  <bruno@clisp.org>
13292
13293         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
13294         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
13295         from here...
13296         * modules/wcsncasecmp (configure.ac): ... to here.
13297
13298 2011-05-22  Bruno Haible  <bruno@clisp.org>
13299
13300         wcslen: Move AC_LIBOBJ invocations to module description.
13301         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
13302         * modules/wcslen (configure.ac): ... to here.
13303
13304 2011-05-22  Bruno Haible  <bruno@clisp.org>
13305
13306         wcsdup: Move AC_LIBOBJ invocations to module description.
13307         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
13308         * modules/wcsdup (configure.ac): ... to here.
13309
13310 2011-05-22  Bruno Haible  <bruno@clisp.org>
13311
13312         wcscspn: Move AC_LIBOBJ invocations to module description.
13313         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
13314         here...
13315         * modules/wcscspn (configure.ac): ... to here.
13316
13317 2011-05-22  Bruno Haible  <bruno@clisp.org>
13318
13319         wcscpy: Move AC_LIBOBJ invocations to module description.
13320         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
13321         * modules/wcscpy (configure.ac): ... to here.
13322
13323 2011-05-22  Bruno Haible  <bruno@clisp.org>
13324
13325         wcscoll: Move AC_LIBOBJ invocations to module description.
13326         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
13327         here...
13328         * modules/wcscoll (configure.ac): ... to here.
13329
13330 2011-05-22  Bruno Haible  <bruno@clisp.org>
13331
13332         wcscmp: Move AC_LIBOBJ invocations to module description.
13333         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
13334         * modules/wcscmp (configure.ac): ... to here.
13335
13336 2011-05-22  Bruno Haible  <bruno@clisp.org>
13337
13338         wcschr: Move AC_LIBOBJ invocations to module description.
13339         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
13340         * modules/wcschr (configure.ac): ... to here.
13341
13342 2011-05-22  Bruno Haible  <bruno@clisp.org>
13343
13344         wcscat: Move AC_LIBOBJ invocations to module description.
13345         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
13346         * modules/wcscat (configure.ac): ... to here.
13347
13348 2011-05-22  Bruno Haible  <bruno@clisp.org>
13349
13350         wcscasecmp: Move AC_LIBOBJ invocations to module description.
13351         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
13352         here...
13353         * modules/wcscasecmp (configure.ac): ... to here.
13354
13355 2011-05-22  Bruno Haible  <bruno@clisp.org>
13356
13357         wcrtomb: Move AC_LIBOBJ invocations to module description.
13358         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
13359         invocations from here...
13360         * modules/wcrtomb (configure.ac): ... to here.
13361
13362 2011-05-22  Bruno Haible  <bruno@clisp.org>
13363
13364         wcpncpy: Move AC_LIBOBJ invocations to module description.
13365         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
13366         here...
13367         * modules/wcpncpy (configure.ac): ... to here.
13368
13369 2011-05-22  Bruno Haible  <bruno@clisp.org>
13370
13371         wcpcpy: Move AC_LIBOBJ invocations to module description.
13372         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
13373         * modules/wcpcpy (configure.ac): ... to here.
13374
13375 2011-05-22  Bruno Haible  <bruno@clisp.org>
13376
13377         waitpid: Move AC_LIBOBJ invocations to module description.
13378         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
13379         invocation from here...
13380         * modules/waitpid (configure.ac): ... to here.
13381
13382 2011-05-22  Bruno Haible  <bruno@clisp.org>
13383
13384         utimensat: Move AC_LIBOBJ invocations to module description.
13385         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
13386         here...
13387         * modules/utimensat (configure.ac): ... to here.
13388
13389 2011-05-22  Bruno Haible  <bruno@clisp.org>
13390
13391         usleep: Move AC_LIBOBJ invocations to module description.
13392         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
13393         here...
13394         * modules/usleep (configure.ac): ... to here.
13395
13396 2011-05-22  Bruno Haible  <bruno@clisp.org>
13397
13398         unlockpt: Move AC_LIBOBJ invocations to module description.
13399         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
13400         gl_PREREQ_UNLOCKPT invocations from here...
13401         * modules/unlockpt (configure.ac): ... to here.
13402
13403 2011-05-22  Bruno Haible  <bruno@clisp.org>
13404
13405         unlink: Respect rules for use of AC_LIBOBJ.
13406         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
13407         * modules/unlink (configure.ac): ... to here.
13408
13409 2011-05-22  Bruno Haible  <bruno@clisp.org>
13410
13411         uname: Move AC_LIBOBJ invocations to module description.
13412         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
13413         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
13414         here...
13415         * modules/uname (configure.ac): ... to here.
13416
13417 2011-05-22  Bruno Haible  <bruno@clisp.org>
13418
13419         ttyname_r: Move AC_LIBOBJ invocations to module description.
13420         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
13421         gl_PREREQ_TTYNAME_R invocations from here...
13422         * modules/ttyname_r (configure.ac): ... to here.
13423
13424 2011-05-22  Bruno Haible  <bruno@clisp.org>
13425
13426         tsearch: Move AC_LIBOBJ invocations to module description.
13427         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
13428         invocations from here...
13429         * modules/tsearch (configure.ac): ... to here.
13430
13431 2011-05-22  Bruno Haible  <bruno@clisp.org>
13432
13433         towctrans: Move AC_LIBOBJ invocations to module description.
13434         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
13435         AC_LIBOBJ invocation from here...
13436         * modules/towctrans (configure.ac): ... to here.
13437
13438 2011-05-22  Bruno Haible  <bruno@clisp.org>
13439
13440         tmpfile: Move AC_LIBOBJ invocations to module description.
13441         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
13442         invocations from here...
13443         * modules/tmpfile (configure.ac): ... to here.
13444
13445 2011-05-22  Bruno Haible  <bruno@clisp.org>
13446
13447         times: Move AC_LIBOBJ invocations to module description.
13448         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
13449         * modules/times (configure.ac): ... to here.
13450
13451 2011-05-22  Bruno Haible  <bruno@clisp.org>
13452
13453         time_r: Move AC_LIBOBJ invocations to module description.
13454         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
13455         invocations from here...
13456         * modules/time_r (configure.ac): ... to here.
13457
13458 2011-05-22  Bruno Haible  <bruno@clisp.org>
13459
13460         timegm: Move AC_LIBOBJ invocations to module description.
13461         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
13462         invocations from here...
13463         * modules/timegm (configure.ac): ... to here.
13464
13465 2011-05-22  Bruno Haible  <bruno@clisp.org>
13466
13467         tcgetsid: Move AC_LIBOBJ invocations to module description.
13468         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
13469         and gl_PREREQ_TCGETSID invocations from here...
13470         * modules/tcgetsid (configure.ac): ... to here.
13471         (Depends-on): Update conditions.
13472
13473 2011-05-22  Bruno Haible  <bruno@clisp.org>
13474
13475         symlinkat: Move AC_LIBOBJ invocations to module description.
13476         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
13477         here...
13478         * modules/symlinkat (configure.ac): ... to here.
13479
13480 2011-05-22  Bruno Haible  <bruno@clisp.org>
13481
13482         symlink: Move AC_LIBOBJ invocations to module description.
13483         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
13484         here...
13485         * modules/symlink (configure.ac): ... to here.
13486
13487 2011-05-22  Bruno Haible  <bruno@clisp.org>
13488
13489         strverscmp: Move AC_LIBOBJ invocations to module description.
13490         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
13491         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
13492         from here...
13493         * modules/strverscmp (configure.ac): ... to here.
13494
13495 2011-05-22  Bruno Haible  <bruno@clisp.org>
13496
13497         strtok_r: Move AC_LIBOBJ invocations to module description.
13498         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
13499         and gl_PREREQ_STRTOK_R invocations from here...
13500         * modules/strtok_r (configure.ac): ... to here.
13501         (Depends-on): Update conditions.
13502
13503 2011-05-22  Bruno Haible  <bruno@clisp.org>
13504
13505         strtoumax: Move AC_LIBOBJ invocations to module description.
13506         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
13507         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
13508         from here...
13509         * modules/strtoumax (configure.ac): ... to here.
13510
13511 2011-05-22  Bruno Haible  <bruno@clisp.org>
13512
13513         strtoimax: Move AC_LIBOBJ invocations to module description.
13514         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
13515         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
13516         from here...
13517         * modules/strtoimax (configure.ac): ... to here.
13518
13519 2011-05-22  Bruno Haible  <bruno@clisp.org>
13520
13521         strtoull: Move AC_LIBOBJ invocations to module description.
13522         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
13523         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
13524         from here...
13525         * modules/strtoull (configure.ac): ... to here.
13526
13527 2011-05-22  Bruno Haible  <bruno@clisp.org>
13528
13529         strtoll: Move AC_LIBOBJ invocations to module description.
13530         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
13531         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
13532         here...
13533         * modules/strtoll (configure.ac): ... to here.
13534
13535 2011-05-22  Bruno Haible  <bruno@clisp.org>
13536
13537         strtoul: Move AC_LIBOBJ invocations to module description.
13538         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
13539         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13540         * modules/strtoul (configure.ac): ... to here.
13541
13542 2011-05-22  Bruno Haible  <bruno@clisp.org>
13543
13544         strtol: Move AC_LIBOBJ invocations to module description.
13545         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
13546         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13547         * modules/strtol (configure.ac): ... to here.
13548
13549 2011-05-22  Bruno Haible  <bruno@clisp.org>
13550
13551         strtod: Move AC_LIBOBJ invocations to module description.
13552         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
13553         invocations from here...
13554         * modules/strtod (configure.ac): ... to here.
13555
13556 2011-05-22  Bruno Haible  <bruno@clisp.org>
13557
13558         strstr*: Move AC_LIBOBJ invocations to module description.
13559         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
13560         invocations from here...
13561         * modules/strstr-simple (configure.ac): ... to here.
13562         * modules/strstr (configure.ac): ... and here.
13563
13564 2011-05-22  Bruno Haible  <bruno@clisp.org>
13565
13566         strsignal: Move AC_LIBOBJ invocations to module description.
13567         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
13568         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
13569         * modules/strsignal (configure.ac): ... to here.
13570         (Depends-on): Update conditions.
13571
13572 2011-05-22  Bruno Haible  <bruno@clisp.org>
13573
13574         strsep: Move AC_LIBOBJ invocations to module description.
13575         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
13576         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
13577         here...
13578         * modules/strsep (configure.ac): ... to here.
13579
13580 2011-05-22  Bruno Haible  <bruno@clisp.org>
13581
13582         strptime: Move AC_LIBOBJ invocations to module description.
13583         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
13584         gl_PREREQ_STRPTIME invocations from here...
13585         * modules/strptime (configure.ac): ... to here.
13586
13587 2011-05-22  Bruno Haible  <bruno@clisp.org>
13588
13589         strpbrk: Move AC_LIBOBJ invocations to module description.
13590         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
13591         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
13592         here...
13593         * modules/strpbrk (configure.ac): ... to here.
13594
13595 2011-05-22  Bruno Haible  <bruno@clisp.org>
13596
13597         strnlen: Move AC_LIBOBJ invocations to module description.
13598         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
13599         invocations from here...
13600         * modules/strnlen (configure.ac): ... to here.
13601
13602 2011-05-22  Bruno Haible  <bruno@clisp.org>
13603
13604         strndup: Move AC_LIBOBJ invocations to module description.
13605         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
13606         invocations from here...
13607         * modules/strndup (configure.ac): ... to here.
13608         (Depends-on): Update conditions.
13609
13610 2011-05-22  Bruno Haible  <bruno@clisp.org>
13611
13612         strncat: Move AC_LIBOBJ invocations to module description.
13613         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
13614         invocations from here...
13615         * modules/strncat (configure.ac): ... to here.
13616
13617 2011-05-22  Bruno Haible  <bruno@clisp.org>
13618
13619         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
13620         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
13621         invocations from here...
13622         * modules/strdup (configure.ac): ... to here.
13623         * modules/strdup-posix (configure.ac): ... and here.
13624
13625 2011-05-22  Bruno Haible  <bruno@clisp.org>
13626
13627         strcspn: Move AC_LIBOBJ invocations to module description.
13628         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
13629         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
13630         here...
13631         * modules/strcspn (configure.ac): ... to here.
13632
13633 2011-05-22  Bruno Haible  <bruno@clisp.org>
13634
13635         strchrnul: Move AC_LIBOBJ invocations to module description.
13636         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
13637         gl_PREREQ_STRCHRNUL invocations from here...
13638         * modules/strchrnul (configure.ac): ... to here.
13639
13640 2011-05-22  Bruno Haible  <bruno@clisp.org>
13641
13642         strcasestr*: Move AC_LIBOBJ invocations to module description.
13643         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13644         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
13645         * modules/strcasestr-simple (configure.ac): ... to here.
13646         * modules/strcasestr (configure.ac): ... and here.
13647
13648 2011-05-22  Bruno Haible  <bruno@clisp.org>
13649
13650         strcase: Move AC_LIBOBJ invocations to module description.
13651         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
13652         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
13653         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
13654         gl_PREREQ_STRNCASECMP invocations from here...
13655         * modules/strcase (configure.ac): ... to here.
13656
13657 2011-05-22  Bruno Haible  <bruno@clisp.org>
13658
13659         stpncpy: Move AC_LIBOBJ invocations to module description.
13660         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
13661         here...
13662         * modules/stpncpy (configure.ac): ... to here.
13663
13664 2011-05-22  Bruno Haible  <bruno@clisp.org>
13665
13666         stpcpy: Move AC_LIBOBJ invocations to module description.
13667         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
13668         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
13669         here...
13670         * modules/stpcpy (configure.ac): ... to here.
13671
13672 2011-05-21  Bruno Haible  <bruno@clisp.org>
13673
13674         stat: Move AC_LIBOBJ invocations to module description.
13675         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
13676         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
13677         here...
13678         * modules/stat (configure.ac): ... to here.
13679
13680 2011-05-21  Bruno Haible  <bruno@clisp.org>
13681
13682         sleep: Move AC_LIBOBJ invocations to module description.
13683         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
13684         * modules/sleep (configure.ac): ... to here.
13685
13686 2011-05-21  Bruno Haible  <bruno@clisp.org>
13687
13688         signbit: Move AC_LIBOBJ invocations to module description.
13689         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
13690         * modules/signbit (configure.ac): ... to here.
13691
13692 2011-05-21  Bruno Haible  <bruno@clisp.org>
13693
13694         sigprocmask: Move AC_LIBOBJ invocations to module description.
13695         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
13696         gl_PREREQ_SIGPROMASK invocations from here...
13697         * modules/sigprocmask (configure.ac): ... to here.
13698
13699 2011-05-21  Bruno Haible  <bruno@clisp.org>
13700
13701         sigaction: Move AC_LIBOBJ invocations to module description.
13702         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
13703         gl_PREREQ_SIGACTION invocations from here...
13704         * modules/sigaction (configure.ac): ... to here.
13705
13706 2011-05-21  Bruno Haible  <bruno@clisp.org>
13707
13708         sig2str: Move AC_LIBOBJ invocations to module description.
13709         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
13710         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
13711         here...
13712         * modules/sig2str (configure.ac): ... to here.
13713
13714 2011-05-21  Bruno Haible  <bruno@clisp.org>
13715
13716         setlocale: Move AC_LIBOBJ invocations to module description.
13717         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
13718         gl_PREREQ_SETLOCALE invocations from here...
13719         * modules/setlocale (configure.ac): ... to here.
13720
13721 2011-05-21  Bruno Haible  <bruno@clisp.org>
13722
13723         unsetenv: Move AC_LIBOBJ invocations to module description.
13724         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
13725         and gl_PREREQ_UNSETENV invocations from here...
13726         * modules/unsetenv (configure.ac): ... to here.
13727         (Depends-on): Update.
13728
13729 2011-05-21  Bruno Haible  <bruno@clisp.org>
13730
13731         setenv: Move AC_LIBOBJ invocations to module description.
13732         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
13733         here...
13734         * modules/setenv (configure.ac): ... to here.
13735
13736 2011-05-21  Bruno Haible  <bruno@clisp.org>
13737
13738         selinux-h: Move AC_LIBOBJ invocations to module description.
13739         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
13740         AC_LIBOBJ invocation from here...
13741         * modules/selinux-h (configure.ac): ... to here.
13742
13743 2011-05-21  Bruno Haible  <bruno@clisp.org>
13744
13745         select: Respect rules for use of AC_LIBOBJ.
13746         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
13747         here...
13748         * modules/select (configure.ac): ... to here.
13749
13750 2011-05-21  Bruno Haible  <bruno@clisp.org>
13751
13752         scandir: Move AC_LIBOBJ invocations to module description.
13753         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
13754         invocations from here...
13755         * modules/scandir (configure.ac): ... to here.
13756
13757 2011-05-21  Bruno Haible  <bruno@clisp.org>
13758
13759         rpmatch: Move AC_LIBOBJ invocations to module description.
13760         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
13761         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
13762         here...
13763         * modules/rpmatch (configure.ac): ... to here.
13764
13765 2011-05-21  Bruno Haible  <bruno@clisp.org>
13766
13767         rmdir: Respect rules for use of AC_LIBOBJ.
13768         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
13769         * modules/rmdir (configure.ac): ... to here.
13770
13771 2011-05-21  Bruno Haible  <bruno@clisp.org>
13772
13773         renameat: Move AC_LIBOBJ invocations to module description.
13774         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
13775         here...
13776         * modules/renameat (configure.ac): ... to here.
13777
13778 2011-05-21  Bruno Haible  <bruno@clisp.org>
13779
13780         rename: Respect rules for use of AC_LIBOBJ.
13781         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
13782         here...
13783         * modules/rename (configure.ac): ... to here.
13784
13785 2011-05-21  Bruno Haible  <bruno@clisp.org>
13786
13787         remove: Move AC_LIBOBJ invocations to module description.
13788         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
13789         here...
13790         * modules/remove (configure.ac): ... to here.
13791
13792 2011-05-21  Bruno Haible  <bruno@clisp.org>
13793
13794         relocatable-lib: Move AC_LIBOBJ invocations to module description.
13795         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
13796         macro.
13797         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
13798         * modules/relocatable-lib (configure.ac): ... to here.
13799         * modules/relocatable-prog-wrapper (configure.ac): Invoke
13800         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
13801
13802 2011-05-21  Bruno Haible  <bruno@clisp.org>
13803
13804         relocatable-prog: Move AC_LIBOBJ invocations to module description.
13805         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
13806         here...
13807         * modules/relocatable-prog (configure.ac): ... to here.
13808
13809 2011-05-21  Bruno Haible  <bruno@clisp.org>
13810
13811         regex: Move AC_LIBOBJ invocations to module description.
13812         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
13813         invocations from here...
13814         * modules/regex (configure.ac): ... to here.
13815
13816 2011-05-21  Bruno Haible  <bruno@clisp.org>
13817
13818         realloc-*: Move AC_LIBOBJ invocations to module description.
13819         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
13820         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
13821         AC_LIBOBJ invocations from here...
13822         * modules/realloc-gnu (configure.ac): ... to here.
13823         * modules/realloc-posix (configure.ac): ... and here.
13824
13825 2011-05-21  Bruno Haible  <bruno@clisp.org>
13826
13827         readutmp: Move AC_LIBOBJ invocations to module description.
13828         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
13829         * modules/readutmp (configure.ac): ... to here.
13830
13831 2011-05-21  Bruno Haible  <bruno@clisp.org>
13832
13833         readlinkat: Move AC_LIBOBJ invocations to module description.
13834         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
13835         here...
13836         * modules/readlinkat (configure.ac): ... to here.
13837
13838 2011-05-21  Bruno Haible  <bruno@clisp.org>
13839
13840         readlink: Move AC_LIBOBJ invocations to module description.
13841         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
13842         gl_PREREQ_READLINK invocations from here...
13843         * modules/readlink (configure.ac): ... to here.
13844
13845 2011-05-21  Bruno Haible  <bruno@clisp.org>
13846
13847         readline: Move AC_LIBOBJ invocations to module description.
13848         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
13849         gl_PREREQ_READLINE invocations from here...
13850         * modules/readline (configure.ac): ... to here.
13851
13852 2011-05-21  Bruno Haible  <bruno@clisp.org>
13853
13854         read: Move AC_LIBOBJ invocations to module description.
13855         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
13856         * modules/read (configure.ac): ... to here.
13857
13858 2011-05-21  Bruno Haible  <bruno@clisp.org>
13859
13860         rawmemchr: Move AC_LIBOBJ invocations to module description.
13861         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
13862         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
13863         from here...
13864         * modules/rawmemchr (configure.ac): ... to here.
13865
13866 2011-05-21  Bruno Haible  <bruno@clisp.org>
13867
13868         random_r: Move AC_LIBOBJ invocations to module description.
13869         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
13870         gl_PREREQ_RANDOM_R invocations from here...
13871         * modules/random_r (configure.ac): ... to here.
13872
13873 2011-05-21  Bruno Haible  <bruno@clisp.org>
13874
13875         pwrite: Move AC_LIBOBJ invocations to module description.
13876         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
13877         * modules/pwrite (configure.ac): ... to here.
13878
13879 2011-05-21  Bruno Haible  <bruno@clisp.org>
13880
13881         putenv: Move AC_LIBOBJ invocations to module description.
13882         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
13883         * modules/putenv (configure.ac): ... to here.
13884
13885 2011-05-21  Bruno Haible  <bruno@clisp.org>
13886
13887         login_tty: Move AC_LIBOBJ invocations to module description.
13888         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
13889         * modules/login_tty (configure.ac): ... to here.
13890
13891 2011-05-21  Bruno Haible  <bruno@clisp.org>
13892
13893         openpty: Move AC_LIBOBJ invocations to module description.
13894         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
13895         * modules/openpty (configure.ac): ... to here.
13896
13897 2011-05-21  Bruno Haible  <bruno@clisp.org>
13898
13899         forkpty: Move AC_LIBOBJ invocations to module description.
13900         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
13901         * modules/forkpty (configure.ac): ... to here.
13902
13903 2011-05-21  Bruno Haible  <bruno@clisp.org>
13904
13905         ptsname: Move AC_LIBOBJ invocations to module description.
13906         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
13907         invocations from here...
13908         * modules/ptsname (configure.ac): ... to here.
13909
13910 2011-05-21  Bruno Haible  <bruno@clisp.org>
13911
13912         pread: Move AC_LIBOBJ invocations to module description.
13913         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
13914         * modules/pread (configure.ac): ... to here.
13915
13916 2011-05-21  Bruno Haible  <bruno@clisp.org>
13917
13918         posix_spawn*: Move AC_LIBOBJ invocations to module description.
13919         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
13920         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
13921         * modules/posix_spawn (configure.ac): ... to here.
13922         * modules/posix_spawnp (configure.ac): ... and here.
13923
13924 2011-05-21  Bruno Haible  <bruno@clisp.org>
13925
13926         popen: Move AC_LIBOBJ invocations to module description.
13927         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
13928         invocations from here...
13929         * modules/popen (configure.ac): ... to here.
13930
13931 2011-05-21  Bruno Haible  <bruno@clisp.org>
13932
13933         poll: Move AC_LIBOBJ invocations to module description.
13934         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
13935         invocations from here...
13936         * modules/poll (configure.ac): ... to here.
13937
13938 2011-05-21  Bruno Haible  <bruno@clisp.org>
13939
13940         pipe-posix: Move AC_LIBOBJ invocations to module description.
13941         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
13942         * modules/pipe-posix (configure.ac): ... to here.
13943
13944 2011-05-21  Bruno Haible  <bruno@clisp.org>
13945
13946         openat: Respect rules for use of AC_LIBOBJ.
13947         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
13948         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
13949         * modules/openat (configure.ac): ... to here.
13950
13951 2011-05-21  Bruno Haible  <bruno@clisp.org>
13952
13953         obstack-printf*: Move AC_LIBOBJ invocations to module description.
13954         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
13955         invocation from here...
13956         * modules/obstack-printf (configure.ac): ... to here.
13957         * modules/obstack-printf-posix (configure.ac): ... and here.
13958
13959 2011-05-21  Bruno Haible  <bruno@clisp.org>
13960
13961         nl_langinfo: Move AC_LIBOBJ invocations to module description.
13962         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
13963         from here...
13964         * modules/nl_langinfo (configure.ac): ... to here.
13965
13966 2011-05-21  Bruno Haible  <bruno@clisp.org>
13967
13968         nanosleep: Move AC_LIBOBJ invocations to module description.
13969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
13970         gl_PREREQ_NANOSLEEP invocations from here...
13971         * modules/nanosleep (configure.ac): ... to here.
13972
13973 2011-05-21  Bruno Haible  <bruno@clisp.org>
13974
13975         mountlist: Move AC_LIBOBJ invocations to module description.
13976         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
13977         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
13978         * modules/mountlist (configure.ac): ... to here.
13979
13980 2011-05-21  Bruno Haible  <bruno@clisp.org>
13981
13982         mktime: Respect rules for use of AC_LIBOBJ.
13983         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
13984         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
13985         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
13986         (gl_FUNC_MKTIME_INTERNAL): ... and here...
13987         * modules/mktime (configure.ac): ... to here.
13988         * modules/mktime-internal (configure.ac): ... and here.
13989         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
13990
13991 2011-05-21  Bruno Haible  <bruno@clisp.org>
13992
13993         mkstemps: Move AC_LIBOBJ invocations to module description.
13994         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
13995         here...
13996         * modules/mkstemps (configure.ac): ... to here.
13997
13998 2011-05-21  Bruno Haible  <bruno@clisp.org>
13999
14000         mkstemp: Move AC_LIBOBJ invocations to module description.
14001         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14002         gl_PREREQ_MKSTEMP invocations from here...
14003         * modules/mkstemp (configure.ac): ... to here.
14004
14005 2011-05-21  Bruno Haible  <bruno@clisp.org>
14006
14007         mkostemps: Move AC_LIBOBJ invocations to module description.
14008         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14009         here...
14010         * modules/mkostemps (configure.ac): ... to here.
14011
14012 2011-05-21  Bruno Haible  <bruno@clisp.org>
14013
14014         mkostemp: Move AC_LIBOBJ invocations to module description.
14015         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14016         gl_PREREQ_MKOSTEMP invocations from here...
14017         * modules/mkostemp (configure.ac): ... to here.
14018
14019 2011-05-21  Bruno Haible  <bruno@clisp.org>
14020
14021         mknod: Move AC_LIBOBJ invocations to module description.
14022         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14023         * modules/mknod (configure.ac): ... to here.
14024
14025 2011-05-21  Bruno Haible  <bruno@clisp.org>
14026
14027         mkfifoat: Move AC_LIBOBJ invocations to module description.
14028         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14029         here...
14030         * modules/mkfifoat (configure.ac): ... to here.
14031
14032 2011-05-21  Bruno Haible  <bruno@clisp.org>
14033
14034         mkfifo: Respect rules for use of AC_LIBOBJ.
14035         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14036         here...
14037         * modules/mkfifo (configure.ac): ... to here.
14038
14039 2011-05-21  Bruno Haible  <bruno@clisp.org>
14040
14041         mkdtemp: Move AC_LIBOBJ invocations to module description.
14042         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14043         invocations from here...
14044         * modules/mkdtemp (configure.ac): ... to here.
14045
14046 2011-05-21  Bruno Haible  <bruno@clisp.org>
14047
14048         mkdir: Move AC_LIBOBJ invocations to module description.
14049         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14050         * modules/mkdir (configure.ac): ... to here.
14051
14052 2011-05-21  Bruno Haible  <bruno@clisp.org>
14053
14054         memset: Move AC_LIBOBJ invocations to module description.
14055         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14056         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14057         here...
14058         * modules/memset (configure.ac): ... to here.
14059
14060 2011-05-21  Bruno Haible  <bruno@clisp.org>
14061
14062         memrchr: Move AC_LIBOBJ invocations to module description.
14063         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14064         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14065         here...
14066         * modules/memrchr (configure.ac): ... to here.
14067
14068 2011-05-21  Bruno Haible  <bruno@clisp.org>
14069
14070         mempcpy: Move AC_LIBOBJ invocations to module description.
14071         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14072         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14073         here...
14074         * modules/mempcpy (configure.ac): ... to here.
14075
14076 2011-05-21  Bruno Haible  <bruno@clisp.org>
14077
14078         memmove: Move AC_LIBOBJ invocations to module description.
14079         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14080         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14081         here...
14082         * modules/memmove (configure.ac): ... to here.
14083
14084 2011-05-21  Bruno Haible  <bruno@clisp.org>
14085
14086         memmem*: Move AC_LIBOBJ invocations to module description.
14087         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14088         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14089         here...
14090         (gl_FUNC_MEMMEM): ... and here...
14091         * modules/memmem-simple (configure.ac): ... to here.
14092         * modules/memmem (configure.ac): ... and here.
14093
14094 2011-05-21  Bruno Haible  <bruno@clisp.org>
14095
14096         memcpy: Move AC_LIBOBJ invocations to module description.
14097         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
14098         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
14099         here...
14100         * modules/memcpy (configure.ac): ... to here.
14101
14102 2011-05-21  Bruno Haible  <bruno@clisp.org>
14103
14104         memcmp: Simplify autoconf macro.
14105         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
14106         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
14107         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
14108
14109 2011-05-21  Bruno Haible  <bruno@clisp.org>
14110
14111         memcmp: Move AC_LIBOBJ invocations to module description.
14112         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
14113         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
14114         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
14115         * modules/memcmp (configure.ac): ... to here.
14116         (Depends-on): Update conditions.
14117
14118 2011-05-21  Bruno Haible  <bruno@clisp.org>
14119
14120         memchr: Respect rules for use of AC_LIBOBJ.
14121         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
14122         invocations from here...
14123         * modules/memchr (configure.ac): ... to here.
14124
14125 2011-05-21  Bruno Haible  <bruno@clisp.org>
14126
14127         mbtowc: Move AC_LIBOBJ invocations to module description.
14128         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
14129         invocations from here...
14130         * modules/mbtowc (configure.ac): ... to here.
14131
14132 2011-05-21  Bruno Haible  <bruno@clisp.org>
14133
14134         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
14135         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
14136         gl_PREREQ_MBSRTOWCS invocations from here...
14137         * modules/mbsrtowcs (configure.ac): ... to here.
14138
14139 2011-05-21  Bruno Haible  <bruno@clisp.org>
14140
14141         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
14142         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
14143         gl_PREREQ_MBSNRTOWCS invocations from here...
14144         * modules/mbsnrtowcs (configure.ac): ... to here.
14145
14146 2011-05-21  Bruno Haible  <bruno@clisp.org>
14147
14148         mbsinit: Move AC_LIBOBJ invocations to module description.
14149         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
14150         invocations from here...
14151         * modules/mbsinit (configure.ac): ... to here.
14152
14153 2011-05-21  Bruno Haible  <bruno@clisp.org>
14154
14155         mbrlen: Move AC_LIBOBJ invocations to module description.
14156         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
14157         invocations from here...
14158         * modules/mbrlen (configure.ac): ... to here.
14159
14160 2011-05-21  Bruno Haible  <bruno@clisp.org>
14161
14162         mbrtowc: Respect rules for use of AC_LIBOBJ.
14163         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
14164         invocations from here...
14165         * modules/mbrtowc (configure.ac): ... to here.
14166
14167 2011-05-21  Bruno Haible  <bruno@clisp.org>
14168
14169         malloc-*: Move AC_LIBOBJ invocations to module description.
14170         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
14171         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
14172         AC_LIBOBJ invocations from here...
14173         * modules/malloc-gnu (configure.ac): ... to here.
14174         * modules/malloc-posix (configure.ac): ... and here.
14175
14176 2011-05-21  Bruno Haible  <bruno@clisp.org>
14177
14178         lstat, openat: Respect rules for use of AC_LIBOBJ.
14179         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
14180         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
14181         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
14182         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
14183         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
14184         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
14185         here.
14186         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
14187
14188 2011-05-21  Bruno Haible  <bruno@clisp.org>
14189
14190         lseek: Move AC_LIBOBJ invocations to module description.
14191         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
14192         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14193         * modules/lseek (configure.ac): ... to here.
14194
14195 2011-05-21  Bruno Haible  <bruno@clisp.org>
14196
14197         linkat: Move AC_LIBOBJ invocations to module description.
14198         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
14199         here...
14200         * modules/linkat (configure.ac): ... to here.
14201
14202 2011-05-21  Bruno Haible  <bruno@clisp.org>
14203
14204         link: Respect rules for use of AC_LIBOBJ.
14205         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
14206         * modules/link (configure.ac): ... to here.
14207
14208 2011-05-21  Bruno Haible  <bruno@clisp.org>
14209
14210         lchown: Move AC_LIBOBJ invocations to module description.
14211         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14212         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14213         * modules/lchown (configure.ac): ... to here.
14214
14215 2011-05-21  Bruno Haible  <bruno@clisp.org>
14216
14217         iswctype: Move AC_LIBOBJ invocations to module description.
14218         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
14219         here...
14220         * modules/iswctype (configure.ac): ... to here.
14221
14222 2011-05-21  Bruno Haible  <bruno@clisp.org>
14223
14224         iswblank: Move AC_LIBOBJ invocations to module description.
14225         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
14226         here...
14227         * modules/iswblank (configure.ac): ... to here.
14228
14229 2011-05-21  Bruno Haible  <bruno@clisp.org>
14230
14231         atanl: Move AC_LIBOBJ invocations to module description.
14232         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
14233         * modules/atanl (configure.ac): ... to here.
14234
14235 2011-05-21  Bruno Haible  <bruno@clisp.org>
14236
14237         acosl: Move AC_LIBOBJ invocations to module description.
14238         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
14239         * modules/acosl (configure.ac): ... to here.
14240
14241 2011-05-21  Bruno Haible  <bruno@clisp.org>
14242
14243         asinl: Respect rules for use of AC_LIBOBJ.
14244         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
14245         * modules/asinl (configure.ac): ... to here.
14246
14247 2011-05-21  Bruno Haible  <bruno@clisp.org>
14248
14249         tanl: Move AC_LIBOBJ invocations to module description.
14250         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
14251         * modules/tanl (configure.ac): ... to here.
14252
14253 2011-05-21  Bruno Haible  <bruno@clisp.org>
14254
14255         cosl: Move AC_LIBOBJ invocations to module description.
14256         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
14257         * modules/cosl (configure.ac): ... to here.
14258
14259 2011-05-21  Bruno Haible  <bruno@clisp.org>
14260
14261         sinl: Move AC_LIBOBJ invocations to module description.
14262         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
14263         * modules/sinl (configure.ac): ... to here.
14264
14265 2011-05-21  Bruno Haible  <bruno@clisp.org>
14266
14267         logl: Move AC_LIBOBJ invocations to module description.
14268         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
14269         * modules/logl (configure.ac): ... to here.
14270
14271 2011-05-21  Bruno Haible  <bruno@clisp.org>
14272
14273         expl: Move AC_LIBOBJ invocations to module description.
14274         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
14275         * modules/expl (configure.ac): ... to here.
14276
14277 2011-05-21  Bruno Haible  <bruno@clisp.org>
14278
14279         roundl: Move AC_LIBOBJ invocations to module description.
14280         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
14281         * modules/roundl (configure.ac): ... to here.
14282
14283 2011-05-21  Bruno Haible  <bruno@clisp.org>
14284
14285         round: Move AC_LIBOBJ invocations to module description.
14286         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
14287         * modules/round (configure.ac): ... to here.
14288
14289 2011-05-21  Bruno Haible  <bruno@clisp.org>
14290
14291         roundf: Move AC_LIBOBJ invocations to module description.
14292         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
14293         * modules/roundf (configure.ac): ... to here.
14294
14295 2011-05-21  Bruno Haible  <bruno@clisp.org>
14296
14297         truncl: Move AC_LIBOBJ invocations to module description.
14298         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
14299         * modules/truncl (configure.ac): ... to here.
14300
14301 2011-05-21  Bruno Haible  <bruno@clisp.org>
14302
14303         trunc: Move AC_LIBOBJ invocations to module description.
14304         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
14305         * modules/trunc (configure.ac): ... to here.
14306
14307 2011-05-21  Bruno Haible  <bruno@clisp.org>
14308
14309         truncf: Move AC_LIBOBJ invocations to module description.
14310         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
14311         * modules/truncf (configure.ac): ... to here.
14312
14313 2011-05-21  Bruno Haible  <bruno@clisp.org>
14314
14315         ceill: Move AC_LIBOBJ invocations to module description.
14316         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
14317         * modules/ceill (configure.ac): ... to here.
14318
14319 2011-05-21  Bruno Haible  <bruno@clisp.org>
14320
14321         ceil: Move AC_LIBOBJ invocations to module description.
14322         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
14323         * modules/ceil (configure.ac): ... to here.
14324
14325 2011-05-21  Bruno Haible  <bruno@clisp.org>
14326
14327         ceilf: Move AC_LIBOBJ invocations to module description.
14328         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
14329         * modules/ceilf (configure.ac): ... to here.
14330
14331 2011-05-21  Bruno Haible  <bruno@clisp.org>
14332
14333         floorl: Respect rules for use of AC_LIBOBJ.
14334         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
14335         * modules/floorl (configure.ac): ... to here.
14336
14337 2011-05-21  Bruno Haible  <bruno@clisp.org>
14338
14339         floor: Respect rules for use of AC_LIBOBJ.
14340         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
14341         * modules/floor (configure.ac): ... to here.
14342
14343 2011-05-21  Bruno Haible  <bruno@clisp.org>
14344
14345         floorf: Move AC_LIBOBJ invocations to module description.
14346         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
14347         * modules/floorf (configure.ac): ... to here.
14348
14349 2011-05-20  Bruno Haible  <bruno@clisp.org>
14350
14351         sqrtl: Respect rules for use of AC_LIBOBJ.
14352         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
14353         * modules/sqrtl (configure.ac): ... to here.
14354
14355 2011-05-20  Bruno Haible  <bruno@clisp.org>
14356
14357         ldexpl: Respect rules for use of AC_LIBOBJ.
14358         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
14359         * modules/ldexpl (configure.ac): ... to here.
14360
14361 2011-05-20  Bruno Haible  <bruno@clisp.org>
14362
14363         frexpl*: Respect rules for use of AC_LIBOBJ.
14364         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
14365         invocation from here...
14366         * modules/frexpl (configure.ac): ... to here.
14367         * modules/frexpl-nolibm (configure.ac): ... and here.
14368
14369 2011-05-20  Bruno Haible  <bruno@clisp.org>
14370
14371         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
14372         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
14373         invocation from here...
14374         * modules/frexp (configure.ac): ... to here.
14375         * modules/frexp-nolibm (configure.ac): ... and here.
14376
14377 2011-05-20  Bruno Haible  <bruno@clisp.org>
14378
14379         isnan: Respect rules for use of AC_LIBOBJ.
14380         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
14381         invocations here.
14382         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
14383         REPLACE_ISNAN.
14384         * modules/isnand (configure.ac): Likewise.
14385         * modules/isnanl (configure.ac): Likewise.
14386
14387 2011-05-20  Bruno Haible  <bruno@clisp.org>
14388
14389         isnanl*: Respect rules for use of AC_LIBOBJ.
14390         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
14391         invocation from here...
14392         * modules/isnanl (configure.ac): ... to here.
14393         * modules/isnanl-nolibm (configure.ac): ... and here.
14394
14395 2011-05-20  Bruno Haible  <bruno@clisp.org>
14396
14397         isnand*: Move AC_LIBOBJ invocations to module description.
14398         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
14399         invocation from here...
14400         * modules/isnand (configure.ac): ... to here.
14401         * modules/isnand-nolibm (configure.ac): ... and here.
14402
14403 2011-05-20  Bruno Haible  <bruno@clisp.org>
14404
14405         isnanf*: Move AC_LIBOBJ invocations to module description.
14406         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
14407         invocation from here...
14408         * modules/isnanf (configure.ac): ... to here.
14409         * modules/isnanf-nolibm (configure.ac): ... and here.
14410
14411 2011-05-20  Bruno Haible  <bruno@clisp.org>
14412
14413         isnan*: Separate the AC_LIBOBJ invocations.
14414         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
14415         AC_LIBOBJ invocation.
14416         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
14417         here.
14418         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
14419         AC_LIBOBJ invocation.
14420         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
14421         here.
14422         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
14423         AC_LIBOBJ invocation.
14424         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
14425         here.
14426         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
14427
14428 2011-05-08  Bruno Haible  <bruno@clisp.org>
14429
14430         isinf: Move AC_LIBOBJ invocations to module description.
14431         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
14432         * modules/isinf (configure.ac): ... to here.
14433
14434 2011-05-08  Bruno Haible  <bruno@clisp.org>
14435
14436         isfinite: Move AC_LIBOBJ invocations to module description.
14437         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
14438         * modules/isfinite (configure.ac): ... to here.
14439
14440 2011-05-08  Bruno Haible  <bruno@clisp.org>
14441
14442         isblank: Move AC_LIBOBJ invocations to module description.
14443         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
14444         here...
14445         * modules/isblank (configure.ac): ... to here.
14446
14447 2011-05-08  Bruno Haible  <bruno@clisp.org>
14448
14449         isapipe: Move AC_LIBOBJ invocations to module description.
14450         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
14451         gl_PREREQ_ISAPIPE invocations from here...
14452         * modules/isapipe (configure.ac): ... to here.
14453         (Depends-on): Update condition.
14454
14455 2011-05-08  Bruno Haible  <bruno@clisp.org>
14456
14457         ioctl: Move AC_LIBOBJ invocations to module description.
14458         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
14459         invocations from here...
14460         * modules/ioctl (configure.ac): ... to here.
14461         (Depends-on): Update condition.
14462
14463 2011-05-08  Bruno Haible  <bruno@clisp.org>
14464
14465         imaxdiv: Move AC_LIBOBJ invocations to module description.
14466         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
14467         invocations from here...
14468         * modules/imaxdiv (configure.ac): ... to here.
14469
14470 2011-05-08  Bruno Haible  <bruno@clisp.org>
14471
14472         imaxabs: Move AC_LIBOBJ invocations to module description.
14473         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
14474         invocations from here...
14475         * modules/imaxabs (configure.ac): ... to here.
14476
14477 2011-05-08  Bruno Haible  <bruno@clisp.org>
14478
14479         getaddrinfo: Move AC_LIBOBJ invocations to module description.
14480         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
14481         AC_LIBOBJ invocations from here...
14482         * modules/getaddrinfo (configure.ac): ... to here.
14483         (Depends-on): Add conditions.
14484
14485 2011-05-08  Bruno Haible  <bruno@clisp.org>
14486
14487         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14488         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
14489         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14490         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
14491         (gl_PREREQ_INET_PTON): ... from here.
14492         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
14493         gl_PREREQ_INET_PTON here.
14494         (Depends-on): Update condition.
14495
14496 2011-05-08  Bruno Haible  <bruno@clisp.org>
14497
14498         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14499         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
14500         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14501         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
14502         (gl_PREREQ_INET_NTOP): ... from here.
14503         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
14504         gl_PREREQ_INET_NTOP here.
14505         (Depends-on): Update condition.
14506
14507 2011-05-08  Bruno Haible  <bruno@clisp.org>
14508
14509         iconv_open: Move AC_LIBOBJ invocations to module description.
14510         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
14511         AC_LIBOBJ invocations from here...
14512         * modules/iconv_open (configure.ac): ... to here.
14513
14514 2011-05-08  Bruno Haible  <bruno@clisp.org>
14515
14516         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
14517         If module 'iconv_open' is among the main modules and module
14518         'iconv_open-utf' is among the tests dependencies, then
14519         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
14520         return the special iconv_t values. Therefore iconv() and iconv_close()
14521         must support these special iconv_t values, already in lib, not only in
14522         tests.
14523         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
14524         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
14525         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
14526         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
14527         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
14528         (Depends-on): Add the dependencies of iconv_open-utf.
14529         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
14530         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
14531         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
14532
14533 2011-05-08  Bruno Haible  <bruno@clisp.org>
14534
14535         group-member: Move AC_LIBOBJ invocations to module description.
14536         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
14537         gl_PREREQ_GROUP_MEMBER invocations from here...
14538         * modules/group-member (configure.ac): ... to here.
14539
14540 2011-05-08  Bruno Haible  <bruno@clisp.org>
14541
14542         grantpt: Move AC_LIBOBJ invocations to module description.
14543         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
14544         invocations from here...
14545         * modules/grantpt (configure.ac): ... to here.
14546
14547 2011-05-08  Bruno Haible  <bruno@clisp.org>
14548
14549         glob: Move AC_LIBOBJ invocations to module description.
14550         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
14551         from here...
14552         * modules/glob (configure.ac): ... to here.
14553
14554 2011-05-08  Bruno Haible  <bruno@clisp.org>
14555
14556         getusershell: Move AC_LIBOBJ invocations to module description.
14557         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
14558         Move AC_LIBOBJ invocation from here...
14559         * modules/getusershell (configure.ac): ... to here.
14560         (Depends-on): Update condition.
14561
14562 2011-05-08  Bruno Haible  <bruno@clisp.org>
14563
14564         gettimeofday: Move AC_LIBOBJ invocations to module description.
14565         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
14566         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
14567         gl_PREREQ_GETTIMEOFDAY invocations from here...
14568         * modules/gettimeofday (configure.ac): ... to here.
14569
14570 2011-05-08  Bruno Haible  <bruno@clisp.org>
14571
14572         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
14573         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
14574         just gl_FUNC_TZSET.
14575         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
14576         (gl_FUNC_TZSET_CLOBBER): Remove actions.
14577         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
14578         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
14579
14580 2011-05-08  Bruno Haible  <bruno@clisp.org>
14581
14582         getsubopt: Move AC_LIBOBJ invocations to module description.
14583         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
14584         gl_PREREQ_GETSUBOPT invocations from here...
14585         * modules/getsubopt (configure.ac): ... to here.
14586
14587 2011-05-08  Bruno Haible  <bruno@clisp.org>
14588
14589         getpass-gnu: Move AC_LIBOBJ invocations to module description.
14590         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
14591         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
14592         * modules/getpass-gnu (configure.ac): ... to here.
14593
14594 2011-05-08  Bruno Haible  <bruno@clisp.org>
14595
14596         getpass: Move AC_LIBOBJ invocations to module description.
14597         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
14598         gl_PREREQ_GETPASS invocations from here...
14599         * modules/getpass (configure.ac): ... to here.
14600
14601 2011-05-08  Bruno Haible  <bruno@clisp.org>
14602
14603         getpagesize: Move AC_LIBOBJ invocations to module description.
14604         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
14605         from here...
14606         * modules/getpagesize (configure.ac): ... to here.
14607
14608 2011-05-08  Bruno Haible  <bruno@clisp.org>
14609
14610         getopt: Move AC_LIBOBJ invocations to module description.
14611         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
14612         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
14613         invocations from here...
14614         * modules/getopt-gnu (configure.ac): ... to here.
14615         * modules/getopt-posix (configure.ac): ... and here.
14616         (Depends-on): Update condition.
14617
14618 2011-05-08  Bruno Haible  <bruno@clisp.org>
14619
14620         getopt, argp: Respect rules for use of AC_LIBOBJ.
14621         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
14622         (gl_REPLACE_GETOPT_ALWAYS): New macro.
14623         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
14624         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
14625
14626 2011-05-08  Bruno Haible  <bruno@clisp.org>
14627
14628         getlogin_r: Move AC_LIBOBJ invocations to module description.
14629         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
14630         gl_PREREQ_GETLOGIN_R invocations from here...
14631         * modules/getlogin_r (configure.ac): ... to here.
14632
14633 2011-05-08  Bruno Haible  <bruno@clisp.org>
14634
14635         getlogin: Move AC_LIBOBJ invocations to module description.
14636         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
14637         here...
14638         * modules/getlogin (configure.ac): ... to here.
14639
14640 2011-05-08  Bruno Haible  <bruno@clisp.org>
14641
14642         getloadavg: Move AC_LIBOBJ invocations to module description.
14643         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
14644         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
14645         * modules/getloadavg (configure.ac): ... to here.
14646
14647 2011-05-08  Bruno Haible  <bruno@clisp.org>
14648
14649         gethrxtime: Move AC_LIBOBJ invocations to module description.
14650         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
14651         LIB_GETHRXTIME from here...
14652         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
14653         invocations from here...
14654         * modules/gethrxtime (configure.ac): ... to here.
14655
14656 2011-05-08  Bruno Haible  <bruno@clisp.org>
14657
14658         gethostname: Move AC_LIBOBJ invocations to module description.
14659         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
14660         gl_PREREQ_GETHOSTNAME invocations from here...
14661         * modules/gethostname (configure.ac): ... to here.
14662
14663 2011-05-08  Bruno Haible  <bruno@clisp.org>
14664
14665         getgroups: Move AC_LIBOBJ invocations to module description.
14666         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
14667         here...
14668         * modules/getgroups (configure.ac): ... to here.
14669
14670 2011-05-08  Bruno Haible  <bruno@clisp.org>
14671
14672         getdtablesize: Move AC_LIBOBJ invocations to module description.
14673         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
14674         invocation from here...
14675         * modules/getdtablesize (configure.ac): ... to here.
14676
14677 2011-05-08  Bruno Haible  <bruno@clisp.org>
14678
14679         getdomainname: Move AC_LIBOBJ invocations to module description.
14680         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
14681         gl_PREREQ_GETDOMAINNAME invocations from here...
14682         * modules/getdomainname (configure.ac): ... to here.
14683
14684 2011-05-08  Bruno Haible  <bruno@clisp.org>
14685
14686         getline: Move AC_LIBOBJ invocations to module description.
14687         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
14688         invocations from here...
14689         * modules/getline (configure.ac): ... to here.
14690
14691 2011-05-08  Bruno Haible  <bruno@clisp.org>
14692
14693         getline: Simplify.
14694         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
14695         It's already handled through the module dependency.
14696
14697 2011-05-08  Bruno Haible  <bruno@clisp.org>
14698
14699         getdelim: Move AC_LIBOBJ invocations to module description.
14700         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
14701         and gl_PREREQ_GETDELIM invocations from here...
14702         * modules/getdelim (configure.ac): ... to here.
14703         (Depends-on): Fix condition.
14704
14705 2011-05-08  Bruno Haible  <bruno@clisp.org>
14706
14707         getcwd: Move AC_LIBOBJ invocations to module description.
14708         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
14709         invocations from here...
14710         * modules/getcwd (configure.ac): ... to here.
14711
14712 2011-05-08  Bruno Haible  <bruno@clisp.org>
14713
14714         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
14715         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
14716         here...
14717         * modules/getcwd-lgpl (configure.ac): ... to here.
14718
14719 2011-05-07  Bruno Haible  <bruno@clisp.org>
14720
14721         crypto/gc: Move AC_LIBOBJ invocations to module description.
14722         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
14723         * modules/crypto/gc (configure.ac): ... to here.
14724
14725 2011-05-07  Bruno Haible  <bruno@clisp.org>
14726
14727         fwriting: Move AC_LIBOBJ invocations to module description.
14728         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
14729         here...
14730         * modules/fwriting (configure.ac): ... to here.
14731
14732 2011-05-07  Bruno Haible  <bruno@clisp.org>
14733
14734         fwritable: Move AC_LIBOBJ invocations to module description.
14735         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
14736         here...
14737         * modules/fwritable (configure.ac): ... to here.
14738
14739 2011-05-07  Bruno Haible  <bruno@clisp.org>
14740
14741         futimens: Move AC_LIBOBJ invocations to module description.
14742         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
14743         here...
14744         * modules/futimens (configure.ac): ... to here.
14745
14746 2011-05-07  Bruno Haible  <bruno@clisp.org>
14747
14748         ftruncate: Move AC_LIBOBJ invocations to module description.
14749         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
14750         gl_PREREQ_FTRUNCATE invocations from here...
14751         * modules/ftruncate (configure.ac): ... to here.
14752
14753 2011-05-07  Bruno Haible  <bruno@clisp.org>
14754
14755         fsync: Move AC_LIBOBJ invocations to module description.
14756         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
14757         invocations from here...
14758         * modules/fsync (configure.ac): ... to here.
14759
14760 2011-05-07  Bruno Haible  <bruno@clisp.org>
14761
14762         fsusage: Move AC_LIBOBJ invocations to module description.
14763         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
14764         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
14765         * modules/fsusage (configure.ac): ... to here.
14766
14767 2011-05-07  Bruno Haible  <bruno@clisp.org>
14768
14769         freopen: Move AC_LIBOBJ invocations to module description.
14770         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
14771         invocations from here...
14772         * modules/freopen (configure.ac): ... to here.
14773
14774 2011-05-07  Bruno Haible  <bruno@clisp.org>
14775
14776         free: Move AC_LIBOBJ invocations to module description.
14777         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
14778         invocations from here...
14779         * modules/free (configure.ac): ... to here.
14780
14781 2011-05-07  Bruno Haible  <bruno@clisp.org>
14782
14783         freadable: Move AC_LIBOBJ invocations to module description.
14784         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
14785         here...
14786         * modules/freadable (configure.ac): ... to here.
14787
14788 2011-05-07  Bruno Haible  <bruno@clisp.org>
14789
14790         fpurge: Move AC_LIBOBJ invocations to module description.
14791         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
14792         invocations from here...
14793         * modules/fpurge (configure.ac): ... to here.
14794
14795 2011-05-07  Bruno Haible  <bruno@clisp.org>
14796
14797         fpending: Move AC_LIBOBJ invocations to module description.
14798         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
14799         gl_FUNC_FPENDING.
14800         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
14801         invocations from here...
14802         * modules/fpending (configure.ac): ... to here.
14803
14804 2011-05-07  Bruno Haible  <bruno@clisp.org>
14805
14806         fopen: Move AC_LIBOBJ invocations to module description.
14807         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
14808         invocations from here...
14809         * modules/fopen (configure.ac): ... to here.
14810
14811 2011-05-07  Bruno Haible  <bruno@clisp.org>
14812
14813         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
14814         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
14815         gl_FUNC_FNMATCH_POSIX.
14816         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
14817         invocations from here...
14818         * modules/fnmatch (configure.ac): ... to here.
14819         * modules/fnmatch-gnu (configure.ac): ... and here.
14820
14821 2011-05-07  Bruno Haible  <bruno@clisp.org>
14822
14823         flock: Move AC_LIBOBJ invocations to module description.
14824         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
14825         invocations from here...
14826         * modules/flock (configure.ac): ... to here.
14827
14828 2011-05-07  Bruno Haible  <bruno@clisp.org>
14829
14830         fileblocks: Move AC_LIBOBJ invocations to module description.
14831         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
14832         gl_PREREQ_FILEBLOCKS invocations from here...
14833         * modules/fileblocks (configure.ac): ... to here.
14834
14835 2011-05-06  Bruno Haible  <bruno@clisp.org>
14836
14837         fflush: Move AC_LIBOBJ invocations to module description.
14838         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
14839         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
14840         invocations from here...
14841         * modules/fflush (configure.ac): ... to here.
14842
14843 2011-05-06  Bruno Haible  <bruno@clisp.org>
14844
14845         fdopendir: Move AC_LIBOBJ invocations to module description.
14846         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
14847         here...
14848         * modules/fdopendir (configure.ac): ... to here.
14849         (Depends-on): Improve conditions.
14850
14851 2011-05-06  Bruno Haible  <bruno@clisp.org>
14852
14853         _Exit: Move AC_LIBOBJ invocations to module description.
14854         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
14855         invocations from here...
14856         * modules/_Exit (configure.ac): ... to here.
14857
14858 2011-05-21  Bruno Haible  <bruno@clisp.org>
14859
14860         euidaccess: Respect rules for use of AC_LIBOBJ.
14861         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14862         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
14863         from here...
14864         * modules/euidaccess (configure.ac): ... to here.
14865
14866 2011-05-06  Bruno Haible  <bruno@clisp.org>
14867
14868         error: Move AC_LIBOBJ invocations to module description.
14869         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
14870         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
14871         invocations from here...
14872         * modules/error (configure.ac): ... to here.
14873
14874 2011-05-06  Bruno Haible  <bruno@clisp.org>
14875
14876         duplocale: Move AC_LIBOBJ invocations to module description.
14877         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
14878         gl_PREREQ_DUPLOCALE invocations from here...
14879         * modules/duplocale (configure.ac): ... to here.
14880
14881 2011-05-05  Bruno Haible  <bruno@clisp.org>
14882
14883         dirfd: Move AC_LIBOBJ invocations to module description.
14884         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
14885         gl_FUNC_DIRFD.
14886         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
14887         here...
14888         * modules/dirfd (configure.ac): ... to here.
14889         (Depends-on): Fix condition.
14890
14891 2011-05-05  Bruno Haible  <bruno@clisp.org>
14892
14893         chown: Respect rules for use of AC_LIBOBJ.
14894         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
14895         * modules/chown (configure.ac): ... to here.
14896
14897 2011-05-05  Bruno Haible  <bruno@clisp.org>
14898
14899         chdir-long: Move AC_LIBOBJ invocations to module description.
14900         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
14901         gl_PREREQ_CHDIR_LONG invocations from here...
14902         * modules/chdir-long (configure.ac): ... to here.
14903
14904 2011-05-05  Bruno Haible  <bruno@clisp.org>
14905
14906         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
14907         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
14908         from here...
14909         * modules/canonicalize-lgpl (configure.ac): ... to here.
14910
14911 2011-05-05  Bruno Haible  <bruno@clisp.org>
14912
14913         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
14914         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
14915         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
14916         REPLACE_CALLOC.
14917         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
14918         * modules/calloc-gnu (configure.ac): Likewise.
14919
14920 2011-05-05  Bruno Haible  <bruno@clisp.org>
14921
14922         btowc: Move AC_LIBOBJ invocations to module description.
14923         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
14924         invocations from here...
14925         * modules/btowc (configure.ac): ... to here.
14926
14927 2011-05-21  Bruno Haible  <bruno@clisp.org>
14928
14929         atexit: Move AC_LIBOBJ invocations to module description.
14930         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
14931         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
14932         here...
14933         * modules/atexit (configure.ac): ... to here.
14934
14935 2011-05-05  Bruno Haible  <bruno@clisp.org>
14936
14937         atoll: Move AC_LIBOBJ invocations to module description.
14938         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
14939         invocations from here...
14940         * modules/atoll (configure.ac): ... to here.
14941
14942 2011-05-05  Bruno Haible  <bruno@clisp.org>
14943
14944         argz: Move AC_LIBOBJ invocations to module description.
14945         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
14946         * modules/argz (configure.ac): ... to here.
14947
14948 2011-05-05  Bruno Haible  <bruno@clisp.org>
14949
14950         alphasort: Move AC_LIBOBJ invocations to module description.
14951         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
14952         gl_PREREQ_ALPHASORT invocations from here...
14953         * modules/alphasort (configure.ac): ... to here.
14954
14955 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
14956
14957         verify: new macro verify_expr; verify_true deprecated
14958         * NEWS: Mention this.
14959         * doc/verify.texi (Compile-time Assertions): Document this.
14960         * lib/verify.h (verify_true): Deprecate.
14961         (verify_expr): New macro.
14962         * tests/test-verify.c (function): Test verify_expr.
14963
14964 2011-06-14  Jim Meyering  <meyering@redhat.com>
14965
14966         init.sh: give more portable redirection-related advice in a comment
14967         * tests/init.sh (stderr_fileno_): Update the advice in comments.
14968         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
14969         for lots of discussion.  Stefano Lattarini suggested the solution
14970         of putting "9>&2" after the command.  Reported by Bruno Haible.
14971
14972 2011-06-13  Bruno Haible  <bruno@clisp.org>
14973
14974         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
14975         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
14976         'none'.
14977
14978 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
14979
14980         ftoastr: use strtof only if HAVE_STRTOF
14981         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
14982         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
14983         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
14984         * modules/ftoastr (configure.ac): Check for strtof.
14985
14986 2011-06-13  Bruno Haible  <bruno@clisp.org>
14987
14988         gnulib-tool: Addendum to 2011-06-08 commit.
14989         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
14990         and --witness-c-macro have been given, augment AM_CPPFLAGS.
14991
14992 2011-06-13  Bruno Haible  <bruno@clisp.org>
14993
14994         fseeko: Provide a non-inline replacement of fseek().
14995         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
14996         * modules/fseeko (Depends-on): Add fseek.
14997         * modules/fseek (License): Change to LGPLv2+.
14998
14999 2011-06-13  Bruno Haible  <bruno@clisp.org>
15000
15001         ftello: Provide a non-inline replacement of ftell().
15002         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15003         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15004         not have ftello() (such as on mingw).
15005         * modules/ftello (Depends-on): Add ftell.
15006         * modules/ftell (License): Change to LGPLv2+.
15007
15008 2011-05-07  Bruno Haible  <bruno@clisp.org>
15009
15010         ftell: Move AC_LIBOBJ invocations to module description.
15011         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15012         * modules/ftell (configure.ac): ... to here.
15013
15014 2011-05-07  Bruno Haible  <bruno@clisp.org>
15015
15016         ftello: Respect rules for use of AC_LIBOBJ.
15017         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15018         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15019         here...
15020         * modules/ftello (configure.ac): ... to here.
15021
15022 2011-05-07  Bruno Haible  <bruno@clisp.org>
15023
15024         fseeko: Simplify.
15025         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15026         (gl_FUNC_FSEEKO): Inline it here.
15027
15028 2011-05-07  Bruno Haible  <bruno@clisp.org>
15029
15030         fseek: Move AC_LIBOBJ invocations to module description.
15031         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15032         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15033         * modules/fseek (configure.ac): ... to here.
15034
15035 2011-05-07  Bruno Haible  <bruno@clisp.org>
15036
15037         fseek: Respect rules for use of AC_LIBOBJ.
15038         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15039         here...
15040         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15041
15042 2011-05-07  Bruno Haible  <bruno@clisp.org>
15043
15044         fseeko: Respect rules for use of AC_LIBOBJ.
15045         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15046         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15047         here...
15048         * modules/fseeko (configure.ac): ... to here.
15049
15050 2011-06-13  Bruno Haible  <bruno@clisp.org>
15051
15052         gnulib-tool: Allow comments in the 'Depends-on' section.
15053         * doc/gnulib.texi (Module description): Mention comment syntax in the
15054         Depends-on section.
15055         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15056
15057 2011-06-13  Bruno Haible  <bruno@clisp.org>
15058
15059         file-set.h: guard __attibute__ use, now that it's not always defined
15060         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15061         versions that support it.  This fixes a coreutils build failure with
15062         the vendor cc on HP-UX 11.31.
15063
15064 2011-06-12  Bruno Haible  <bruno@clisp.org>
15065
15066         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15067         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15068         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15069         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15070         (acl, aclsort): New declarations.
15071         (aclv_nontrivial): New declaration.
15072         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15073         (file_has_acl): Read also the second kind of HP-UX ACLs.
15074         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15075         kind of HP-UX ACLs if the first kind fails.
15076         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15077         second kind of HP-UX ACLs.
15078         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15079         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15080         agree.
15081         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15082         hpuxjfs.
15083         Handle hpuxjfs.
15084         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15085         hpuxjfs.
15086         Handle hpuxjfs.
15087         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15088         (func_test_same_acls): Use both lsacl and getacl.
15089         Handle hpuxjfs.
15090         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15091         (func_test_same_acls): Use both lsacl and getacl.
15092         Handle hpuxjfs.
15093
15094 2011-06-12  Bruno Haible  <bruno@clisp.org>
15095
15096         acl: Complete the 2010-08-10 fix.
15097         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
15098         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
15099         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
15100         explicitly.
15101         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
15102         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
15103
15104 2011-06-12  Bruno Haible  <bruno@clisp.org>
15105
15106         spawn-pipe tests: Comments.
15107         * tests/test-spawn-pipe-child.c (main): Update comment.
15108         Reported by James Youngman <jay@gnu.org>.
15109
15110 2011-06-11  James Youngman  <jay@gnu.org>
15111
15112         New module 'stat-size'.
15113         * modules/stat-size: New module.  Provides macros for accessing
15114         file size information in instances of struct stat.  Depends on the
15115         fileblocks module because it calls st_blocks.
15116         * lib/stat-size.h: New file, adapted from coreutils' system.h.
15117         * doc/gnulib.texi: Include stat-size.texi.
15118         * doc/stat-size.texi: Documentation for this module.
15119         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
15120         * m4/fileblocks.m4: Mention that stat-size depends on the call to
15121         AC_STRUCT_ST_BLOCKS.
15122
15123 2011-06-09  Bruno Haible  <bruno@clisp.org>
15124
15125         thread: Support pthreads-win32.
15126         * lib/glthread/thread.h (gl_thread_self): Define differently on
15127         pthreads-win32.
15128         (gl_null_thread): New declaration.
15129         (gl_thread_self_pointer): New macro.
15130         * lib/glthread/thread.c (gl_null_thread): New constant.
15131         * tests/test-lock.c: Use gl_thread_self_pointer instead of
15132         gl_thread_self.
15133         * tests/test-tls.c: Likewise.
15134         Suggested by Paul Eggert. Reported by Eric Blake.
15135
15136 2011-06-09  Bruno Haible  <bruno@clisp.org>
15137
15138         thread: Fix confusion between NULL and 0.
15139         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
15140         Reported by Paul Eggert.
15141
15142 2011-06-09  Bruno Haible  <bruno@clisp.org>
15143
15144         spawn-pipe tests: Avoid test failure on HP-UX 11.
15145         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
15146         is closed.
15147
15148 2011-06-09  Bruno Haible  <bruno@clisp.org>
15149
15150         acl tests: Fix compilation error on HP-UX 11.
15151         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
15152
15153 2011-06-09  Bruno Haible  <bruno@clisp.org>
15154
15155         rmdir: Avoid test failure on HP-UX 10.20.
15156         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
15157         EEXIST.
15158
15159 2011-06-08  Eric Blake  <eblake@redhat.com>
15160
15161         perror: fix test on mingw
15162         * modules/perror-tests (Depends-on): Add dup2.
15163
15164         strerror_r-posix: fix on MacOS
15165         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
15166         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
15167         logic bug.
15168         * lib/strerror_r.c (strerror_r): Fix the bug.
15169         * lib/strerror.c (strerror): Likewise.
15170         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15171         problem.
15172         * doc/posix-functions/strerror.texi (strerror): Likewise.
15173         * doc/posix-functions/perror.texi (perror): Likewise.
15174         * tests/test-strerror.c (main): Enhance test.
15175         * tests/test-strerror_r.c (main): Likewise.
15176
15177 2011-06-08  Bruno Haible  <bruno@clisp.org>
15178
15179         gnulib-tool: Better isolation between different gnulib-tool invocations.
15180         * gnulib-tool: New option --witness-c-macro.
15181         (witness_c_macro): New variable.
15182         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
15183         AM_CPPFLAGS define it as a C macro.
15184         (func_emit_tests_Makefile_am): Likewise.
15185         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
15186         read it from there.
15187         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
15188         m4_define, not AC_DEFUN.
15189         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
15190         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
15191         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
15192         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
15193         s|...|...|, to substitute the values of the GNULIB_* module indicator
15194         variables.
15195         * modules/dirent (Makefile.am): Likewise.
15196         * modules/fcntl-h (Makefile.am): Likewise.
15197         * modules/iconv-h (Makefile.am): Likewise.
15198         * modules/langinfo (Makefile.am): Likewise.
15199         * modules/locale (Makefile.am): Likewise.
15200         * modules/math (Makefile.am): Likewise.
15201         * modules/netdb (Makefile.am): Likewise.
15202         * modules/poll-h (Makefile.am): Likewise.
15203         * modules/pty (Makefile.am): Likewise.
15204         * modules/search (Makefile.am): Likewise.
15205         * modules/signal (Makefile.am): Likewise.
15206         * modules/spawn (Makefile.am): Likewise.
15207         * modules/stdio (Makefile.am): Likewise.
15208         * modules/stdlib (Makefile.am): Likewise.
15209         * modules/string (Makefile.am): Likewise.
15210         * modules/sys_ioctl (Makefile.am): Likewise.
15211         * modules/sys_select (Makefile.am): Likewise.
15212         * modules/sys_socket (Makefile.am): Likewise.
15213         * modules/sys_stat (Makefile.am): Likewise.
15214         * modules/sys_times (Makefile.am): Likewise.
15215         * modules/sys_utsname (Makefile.am): Likewise.
15216         * modules/sys_wait (Makefile.am): Likewise.
15217         * modules/termios (Makefile.am): Likewise.
15218         * modules/time (Makefile.am): Likewise.
15219         * modules/unistd (Makefile.am): Likewise.
15220         * modules/wchar (Makefile.am): Likewise.
15221
15222 2011-06-08  Eric Blake  <eblake@redhat.com>
15223
15224         strerror: simplify replacement
15225         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
15226         * modules/strerror (configure.ac): No prereqs needed here...
15227         * modules/strerror-override (configure.ac): ...but this needs it.
15228         (Files): Add file for needed prereq macro.
15229
15230 2011-06-08  Bruno Haible  <bruno@clisp.org>
15231
15232         strerror_r-posix: Tweaks.
15233         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
15234         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
15235         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
15236         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
15237         (gl_FUNC_STRERROR_R): ... to here.
15238         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
15239
15240 2011-06-07  Eric Blake  <eblake@redhat.com>
15241
15242         perror: document fixed bugs
15243         * doc/posix-functions/perror.texi (perror): Document recent
15244         patches.
15245
15246 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15247
15248         stat-time: get_stat_birthtime failure is better-defined
15249         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
15250         return a timestamp whose tv_sec and tv_nsec values are both -1.
15251         Previously, the spec said only that the tv_nsec value was negative.
15252         This upward-compatible change simplifies GNU tar a bit.
15253
15254 2011-06-07  Eric Blake  <eblake@redhat.com>
15255
15256         strerror_r-posix: work around cygwin 1.7.9
15257         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
15258         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
15259         bug without replacing strerror_r.
15260         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
15261         strerror_r is buggy, but without requiring strerror_r compilation.
15262         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
15263
15264         test-perror: relax test to ignore cygwin bug
15265         * tests/test-perror2.c (main): Relax test on requiring detection
15266         of stream errors, and use unbuffered stream.
15267         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
15268         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
15269         * doc/posix-functions/fputc.texi (fputc): Likewise.
15270         * doc/posix-functions/fputs.texi (fputs): Likewise.
15271         * doc/posix-functions/fputws.texi (fputws): Likewise.
15272         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
15273         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
15274         * doc/posix-functions/getopt.texi (getopt): Likewise.
15275         * doc/posix-functions/perror.texi (perror): Likewise.
15276         * doc/posix-functions/printf.texi (printf): Likewise.
15277         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
15278         * doc/posix-functions/psignal.texi (psignal): Likewise.
15279         * doc/posix-functions/putc.texi (putc): Likewise.
15280         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
15281         Likewise.
15282         * doc/posix-functions/putchar.texi (putchar): Likewise.
15283         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
15284         Likewise.
15285         * doc/posix-functions/puts.texi (puts): Likewise.
15286         * doc/posix-functions/putwc.texi (putwc): Likewise.
15287         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15288         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15289         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15290         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
15291         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15292         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15293         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15294         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
15295
15296 2011-05-22  Bruno Haible  <bruno@clisp.org>
15297
15298         strerror: Move AC_LIBOBJ invocations to module description.
15299         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
15300         gl_PREREQ_STRERROR invocations from here...
15301         * modules/strerror (configure.ac): ... to here.
15302
15303 2011-05-21  Bruno Haible  <bruno@clisp.org>
15304
15305         perror: Use common idiom.
15306         * modules/perror (configure.ac): Reorder statements.
15307
15308 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15309
15310         tests: fix usage message in 'mktempd_'
15311         * tests/init.sh (mktempd_): In the usage message, use literal
15312         'mktempd_', not '$ME' (which is even undefined), as the name of
15313         the subroutine.
15314
15315 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15316
15317         tests init: new function 'fatal_', for hard errors
15318         Before this patch, the only way offered by tests/init.sh to
15319         properly signal a hard error was the `framework_failure_'
15320         function.  But the error message issued by that function,
15321         as its name would suggest, refers to a set-up failure in the
15322         testsuite, while hard errors can obviously also be due to
15323         other reasons.  The best way to fix this inconsistency is to
15324         introduce a new function with a more general error message.
15325         * tests/init.sh (fatal_): New function.
15326
15327 2011-06-06  Eric Blake  <eblake@redhat.com>
15328
15329         canonicalize-lgpl: use common idiom
15330         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
15331         over newer POSIX -Rf.
15332         Reported by Bruno Haible.
15333
15334         canonicalize-lgpl: work around AIX realpath bug
15335         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
15336         * doc/posix-functions/realpath.texi (realpath): Document it.
15337         Reported by Bruno Haible.
15338
15339         strerror: work around FreeBSD bug
15340         * lib/strerror.c (strerror): Special case 0.
15341         Reported by Bruno Haible.
15342
15343         strerror-override: avoid bloating errno module
15344         * modules/errno (Files, configure.ac): Move replacement strings...
15345         * modules/strerror-override: ...to new module.
15346         * modules/strerror (Depends-on): Add strerror-override.
15347         * modules/strerror_r-posix (Depends-on): Likewise.
15348         * MODULES.html.sh: Document new module.
15349         Reported by Bruno Haible.
15350
15351 2011-06-06  Bruno Haible  <bruno@clisp.org>
15352
15353         spawn-pipe tests: Rename program.
15354         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
15355         * tests/test-spawn-pipe-child.c: Update comment.
15356         * tests/test-spawn-pipe.sh: Update.
15357         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
15358
15359         spawn-pipe tests: Link the child program only against libc.
15360         * tests/test-spawn-pipe-child.c: New file, extracted from
15361         tests/test-spawn-pipe.c.
15362         (main): Expect only one argument.
15363         (is_open): New function, copied from tests/test-pipe.c.
15364         * tests/test-spawn-pipe.c: Don't include <errno.h>.
15365         (child_main): Remove function.
15366         (test_pipe): Pass only one argument to the child program.
15367         (main): Remove child process code. Expect the child program's name as
15368         first argument.
15369         * tests/test-spawn-pipe.sh: Pass the child program's name as first
15370         argument.
15371         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
15372         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
15373         test-spawn-pipe-child against no libraries.
15374
15375 2011-06-06  Bruno Haible  <bruno@clisp.org>
15376
15377         careadlinkat: Avoid mismatch between ssize_t and int.
15378         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
15379         * lib/careadlinkat.c (careadlinkatcwd): Define always.
15380
15381 2011-06-06  Jim Meyering  <meyering@redhat.com>
15382
15383         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
15384         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
15385         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
15386
15387 2011-06-05  Bruno Haible  <bruno@clisp.org>
15388
15389         ansi-c++-opt: Interoperability with libtool.
15390         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
15391         set the variable to "no", not to ":".
15392         * NEWS: Mention the change.
15393
15394 2011-06-05  Bruno Haible  <bruno@clisp.org>
15395
15396         acl: Fix test failure on AIX 7.
15397         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
15398         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
15399
15400 2011-06-05  Bruno Haible  <bruno@clisp.org>
15401
15402         pipe-filter-ii: Fix test failure on AIX and IRIX.
15403         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
15404         with EAGAIN, retry with a smaller buffer size.
15405
15406 2011-06-05  Bruno Haible  <bruno@clisp.org>
15407
15408         localename: Fix link dependencies.
15409         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
15410         * modules/localename-tests (Makefile.am): Link test-localename with
15411         $(LIBTHREAD).
15412
15413 2011-06-05  Bruno Haible  <bruno@clisp.org>
15414
15415         error: Avoid gcc warning.
15416         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
15417
15418 2011-06-05  Bruno Haible  <bruno@clisp.org>
15419
15420         unsetenv: Avoid gcc warning.
15421         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
15422
15423 2011-06-05  Bruno Haible  <bruno@clisp.org>
15424
15425         setenv: Avoid gcc warning.
15426         * lib/setenv.c (setenv): Provide declaration if system lacks it.
15427
15428 2011-06-05  Bruno Haible  <bruno@clisp.org>
15429
15430         sys_select: Ensure memset is declared also on AIX 7.
15431         * lib/sys_select.in.h: Include <string.h> also on AIX.
15432         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
15433         self-contained also on AIX 7.1.
15434
15435 2011-06-04  Jim Meyering  <meyering@redhat.com>
15436
15437         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
15438         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
15439         function name, "error".
15440         (_gl_translatable_diag_func_re): New configurable variable.
15441
15442 2011-06-04  Bruno Haible  <bruno@clisp.org>
15443
15444         getopt: Avoid gcc warning.
15445         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
15446
15447 2011-06-04  Bruno Haible  <bruno@clisp.org>
15448
15449         strerror_r: Fix comments.
15450         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
15451         commit.
15452
15453 2011-06-04  Bruno Haible  <bruno@clisp.org>
15454
15455         perror: Fix compilation error.
15456         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
15457         Undefine fprintf, not sprintf.
15458         * modules/perror (Depends-on): Remove intprops, verify.
15459
15460 2011-06-04  Bruno Haible  <bruno@clisp.org>
15461
15462         setlocale: Enable replacement on Cygwin 1.5.
15463         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
15464         Cygwin 1.5.x.
15465         * doc/posix-functions/setlocale.texi: Mention that the problem with the
15466         LC_CTYPE category also exists on Cygwin 1.5.x.
15467
15468 2011-06-04  Bruno Haible  <bruno@clisp.org>
15469
15470         strerror-override: Don't disable symbol renamings.
15471         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
15472         * lib/strerror-override.c: Include config.h.
15473         (strerror_override): Don't undefine.
15474
15475 2011-06-03  Bruno Haible  <bruno@clisp.org>
15476
15477         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
15478         * lib/localename.h: Update copyright header.
15479         * lib/localename.c: Likewise.
15480         * lib/relocatable.h: Likewise.
15481         * lib/relocatable.c: Likewise.
15482
15483 2011-06-02  Bruno Haible  <bruno@clisp.org>
15484
15485         doc: Fix a module name.
15486         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
15487
15488 2011-06-02  Bruno Haible  <bruno@clisp.org>
15489
15490         pipe2: Remove dependency on 'nonblocking' module.
15491         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
15492         O_NONBLOCK is defined by gnulib.
15493         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
15494         is zero.
15495         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
15496         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
15497         defined by gnulib.
15498         (get_nonblocking_flag): New function.
15499         (main): Test O_NONBLOCK flag only if it is nonzero.
15500         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
15501
15502 2011-06-03  Jim Meyering  <meyering@redhat.com>
15503
15504         maint: three new prohibit-header-without-use rules
15505         Prohibit use of cloexec.h, posixver.h, same.h without use.
15506         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
15507         (sc_prohibit_posixver_without_use): Likewise.
15508         (sc_prohibit_same_without_use): Likewise.
15509
15510 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15511
15512         allocator: 'die' routine is now given requested size
15513         * lib/allocator.h (struct allocator.die): New size arg.
15514         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
15515         If the actual problem is an ssize_t limitation, not a size_t or
15516         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
15517
15518 2011-06-01  Eric Blake  <eblake@redhat.com>
15519
15520         strerror: drop strerror_r dependency
15521         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
15522         * lib/strerror-override.c (strerror_override): ...to new file.
15523         * lib/strerror-override.h: Add prototype.
15524         * lib/strerror-impl.h: Delete.
15525         * lib/strerror.c (strerror): New implementation.
15526         * modules/errno (Files): Add new files.
15527         (configure.ac): Compile new file as appropriate.
15528         * modules/strerror (Files): Drop unused file.
15529         (Depends-on): Drop strerror_r-posix.
15530         * MODULES.html.sh: Document strerror_r-posix.
15531         Requested by Sam Steingold.
15532
15533         perror: call strerror_r directly
15534         * modules/perror (Files): Drop strerror-impl.h.
15535         * lib/perror.c (perror): Use our own stack buffer, rather than
15536         calling a wrapper that uses static storage.
15537         * doc/posix-functions/perror.texi (perror): Document a limitation
15538         of our replacement.
15539
15540         strerror_r: fix includes for FreeBSD
15541         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
15542         since we use abort on some platforms.
15543         Reported by Matthias Bolte.
15544
15545 2011-05-31  Bruno Haible  <bruno@clisp.org>
15546
15547         Fix link errors in tests: openat-die uses gettext-h.
15548         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
15549         against $(LIBINTL).
15550         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
15551         against $(LIBINTL).
15552         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
15553         $(LIBINTL).
15554         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
15555         against $(LIBINTL).
15556         * modules/linkat-tests (Makefile.am): Link test-linkat against
15557         $(LIBINTL).
15558         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
15559         $(LIBINTL).
15560         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
15561         against $(LIBINTL).
15562         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
15563         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
15564         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
15565         $(LIBINTL).
15566         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
15567         $(LIBINTL).
15568         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
15569         $(LIBINTL).
15570         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15571
15572 2011-05-31  Bruno Haible  <bruno@clisp.org>
15573
15574         Fix link errors in tests: wait-process uses gettext-h.
15575         * modules/nonblocking-pipe-tests (Makefile.am): Set
15576         test_nonblocking_pipe_main_LDADD.
15577         * modules/nonblocking-socket-tests (Makefile.am): Link
15578         test-nonblocking-socket-main against $(LIBINTL).
15579         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15580
15581 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
15582
15583         assert-h: work around 'verify' incompatibility
15584         * lib/verify.h: Use @...@ directives, not ifdef.
15585         * modules/assert-h (assert.h): Implement the directives.
15586         (assert.h): Substitute the symbol-prefix more consistently.
15587
15588 2011-05-29  Jim Meyering  <meyering@redhat.com>
15589
15590         trim: remove three superfluous assignments
15591         * lib/trim.c (trim2): Remove three superfluous assignments
15592         and correct brace positioning.
15593
15594 2011-05-29  Bruno Haible  <bruno@clisp.org>
15595
15596         wctype-h: Avoid namespace pollution on Solaris 2.6.
15597         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
15598         identifiers.
15599         * doc/posix-headers/wctype.texi: Mention the problem.
15600         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15601
15602 2011-05-28  Jim Meyering  <meyering@redhat.com>
15603
15604         parse-datetime.y: accommodate -Wstrict-overflow
15605         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
15606         placate -Wstrict-overflow.
15607
15608         trim: avoid a warning from -O2 -Wstrict-overflow
15609         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
15610
15611 2011-05-29  Bruno Haible  <bruno@clisp.org>
15612
15613         gnulib-tool: Fix bug in yesterday's commit.
15614         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
15615         twice.
15616
15617 2011-05-29  Bruno Haible  <bruno@clisp.org>
15618
15619         Allow multiple gnulib generated include files to be combined.
15620         * gnulib-tool (func_compute_include_guard_prefix): New function.
15621         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
15622         ${gl_include_guard_prefix} references.
15623         (func_import, func_create_testdir): Invoke
15624         func_compute_include_guard_prefix.
15625         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
15626         * lib/ctype.in.h: Likewise.
15627         * lib/dirent.in.h: Likewise.
15628         * lib/errno.in.h: Likewise.
15629         * lib/fcntl.in.h: Likewise.
15630         * lib/float.in.h: Likewise.
15631         * lib/getopt.in.h: Likewise.
15632         * lib/iconv.in.h: Likewise.
15633         * lib/langinfo.in.h: Likewise.
15634         * lib/locale.in.h: Likewise.
15635         * lib/math.in.h: Likewise.
15636         * lib/netdb.in.h: Likewise.
15637         * lib/netinet_in.in.h: Likewise.
15638         * lib/poll.in.h: Likewise.
15639         * lib/pthread.in.h: Likewise.
15640         * lib/pty.in.h: Likewise.
15641         * lib/sched.in.h: Likewise.
15642         * lib/se-selinux.in.h: Likewise.
15643         * lib/search.in.h: Likewise.
15644         * lib/signal.in.h: Likewise.
15645         * lib/spawn.in.h: Likewise.
15646         * lib/stdarg.in.h: Likewise.
15647         * lib/stddef.in.h: Likewise.
15648         * lib/stdint.in.h: Likewise.
15649         * lib/stdio.in.h: Likewise.
15650         * lib/stdlib.in.h: Likewise.
15651         * lib/string.in.h: Likewise.
15652         * lib/strings.in.h: Likewise.
15653         * lib/sys_file.in.h: Likewise.
15654         * lib/sys_ioctl.in.h: Likewise.
15655         * lib/sys_select.in.h: Likewise.
15656         * lib/sys_socket.in.h: Likewise.
15657         * lib/sys_stat.in.h: Likewise.
15658         * lib/sys_time.in.h: Likewise.
15659         * lib/sys_times.in.h: Likewise.
15660         * lib/sys_uio.in.h: Likewise.
15661         * lib/sys_utsname.in.h: Likewise.
15662         * lib/sys_wait.in.h: Likewise.
15663         * lib/sysexits.in.h: Likewise.
15664         * lib/termios.in.h: Likewise.
15665         * lib/time.in.h: Likewise.
15666         * lib/unistd.in.h: Likewise.
15667         * lib/wchar.in.h: Likewise.
15668         * lib/wctype.in.h: Likewise.
15669         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
15670         * modules/ctype (Makefile.am): Likewise.
15671         * modules/dirent (Makefile.am): Likewise.
15672         * modules/errno (Makefile.am): Likewise.
15673         * modules/fcntl-h (Makefile.am): Likewise.
15674         * modules/float (Makefile.am): Likewise.
15675         * modules/getopt-posix (Makefile.am): Likewise.
15676         * modules/iconv-h (Makefile.am): Likewise.
15677         * modules/langinfo (Makefile.am): Likewise.
15678         * modules/locale (Makefile.am): Likewise.
15679         * modules/math (Makefile.am): Likewise.
15680         * modules/netdb (Makefile.am): Likewise.
15681         * modules/netinet_in (Makefile.am): Likewise.
15682         * modules/poll-h (Makefile.am): Likewise.
15683         * modules/pthread (Makefile.am): Likewise.
15684         * modules/pty (Makefile.am): Likewise.
15685         * modules/sched (Makefile.am): Likewise.
15686         * modules/search (Makefile.am): Likewise.
15687         * modules/selinux-h (Makefile.am): Likewise.
15688         * modules/signal (Makefile.am): Likewise.
15689         * modules/spawn (Makefile.am): Likewise.
15690         * modules/stdarg (Makefile.am): Likewise.
15691         * modules/stddef (Makefile.am): Likewise.
15692         * modules/stdint (Makefile.am): Likewise.
15693         * modules/stdio (Makefile.am): Likewise.
15694         * modules/stdlib (Makefile.am): Likewise.
15695         * modules/string (Makefile.am): Likewise.
15696         * modules/strings (Makefile.am): Likewise.
15697         * modules/sys_file (Makefile.am): Likewise.
15698         * modules/sys_ioctl (Makefile.am): Likewise.
15699         * modules/sys_select (Makefile.am): Likewise.
15700         * modules/sys_socket (Makefile.am): Likewise.
15701         * modules/sys_stat (Makefile.am): Likewise.
15702         * modules/sys_time (Makefile.am): Likewise.
15703         * modules/sys_times (Makefile.am): Likewise.
15704         * modules/sys_uio (Makefile.am): Likewise.
15705         * modules/sys_utsname (Makefile.am): Likewise.
15706         * modules/sys_wait (Makefile.am): Likewise.
15707         * modules/sysexits (Makefile.am): Likewise.
15708         * modules/termios (Makefile.am): Likewise.
15709         * modules/time (Makefile.am): Likewise.
15710         * modules/unistd (Makefile.am): Likewise.
15711         * modules/wchar (Makefile.am): Likewise.
15712         * modules/wctype-h (Makefile.am): Likewise.
15713         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
15714
15715 2011-05-29  Bruno Haible  <bruno@clisp.org>
15716
15717         assert-h: Allow multiple gnulib generated replacements to coexist.
15718         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
15719
15720 2011-05-29  Bruno Haible  <bruno@clisp.org>
15721
15722         argp: Allow coexistence with strerror_r-posix module.
15723         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
15724         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
15725         by gnulib's <string.h> replacement), assume it has the POSIX signature,
15726         not the glibc signature.
15727
15728 2011-05-28  Bruno Haible  <bruno@clisp.org>
15729
15730         gnulib-tool: Alternative structure of testdirs, similar to --import.
15731         * gnulib-tool: New option --single-configure.
15732         (func_usage): Document it.
15733         (single_configure): New variable.
15734         (func_modules_transitive_closure_separately,
15735         func_modules_transitive_closure_separately,
15736         func_determine_use_libtests, func_modules_add_dummy_separately,
15737         func_modules_to_filelist_separately): New functions, extracted from
15738         func_import.
15739         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
15740         (func_import): Use the new functions.
15741         (func_create_testdir): Set final_modules. Handle $single_configure =
15742         true case.
15743
15744 2011-05-28  Bruno Haible  <bruno@clisp.org>
15745
15746         getloadavg: Remove an unreliable safety check.
15747         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
15748         getloadavg.c is in place.
15749         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
15750         Reported by Sam Steingold <sds@gnu.org>.
15751
15752 2011-05-28  Bruno Haible  <bruno@clisp.org>
15753
15754         doc: Cleanup yet another file produced by texinfo.tex.
15755         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
15756
15757 2011-05-28  Bruno Haible  <bruno@clisp.org>
15758
15759         Finish the conditional dependencies mechanism.
15760         * gnulib-tool: New option --no-conditional-dependencies.
15761         (func_usage): Document it. Don't mark --conditional-dependencies as
15762         experimental.
15763         (cond_dependencies): The possible values can now be true, false, empty.
15764         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
15765         (func_import): Store setting in gnulib-cache.m4 and read it from there.
15766         * doc/gnulib-tool.texi (Conditional dependencies): New section.
15767
15768 2011-05-28  Bruno Haible  <bruno@clisp.org>
15769
15770         doc: Use a recent texinfo.tex.
15771         * doc/Makefile (tex_opts): New variable.
15772         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
15773
15774 2011-05-28  Jim Meyering  <meyering@redhat.com>
15775
15776         intprops.h: adjust comment to match code change
15777         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
15778         only once, it *may* have side effects.  Also fix an unrelated typo.
15779         (_GL_INT_SIGNED): Likewise.
15780
15781 2011-05-26  Simon Josefsson  <simon@josefsson.org>
15782
15783         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
15784
15785 2011-05-26  Bruno Haible  <bruno@clisp.org>
15786
15787         mbsrchr: Avoid collision with system function on Interix.
15788         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
15789         Reported by Markus Duft <mduft@gentoo.org>.
15790
15791 2011-05-15  James Youngman  <jay@gnu.org>
15792
15793         getopt: for ambiguous options, enumerate the possibilities.
15794         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
15795         the ambiguous options when an ambiguous prefix is given. This was
15796         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
15797         glibc change was
15798         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
15799
15800 2011-05-25  Eric Blake  <eblake@redhat.com>
15801
15802         getcwd: work around mingw bug
15803         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
15804         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15805         Reported by Matthias Bolte.
15806
15807 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15808
15809         test-intprops: disable -Wtype-limits diagnostics
15810         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
15811         diagnostics.  Otherwise, the integer overflow macros generate many
15812         diagnostics.  Reported by Jim Meyering in
15813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15814
15815         intprops: shorten, to pacify gcc -Woverlength-strings
15816         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
15817         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
15818         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
15819         likely to run afoul of C compiler limits for string constant lengths.
15820         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15821
15822 2011-05-24  Eric Blake  <eblake@redhat.com>
15823
15824         docs: document recently fixed glibc printf bug
15825         * doc/posix-functions/fprintf.texi (fprintf): Document it.
15826         * doc/posix-functions/printf.texi (printf): Likewise.
15827         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15828         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15829
15830         closein-tests: convert to init.sh
15831         * modules/closein-tests (Files): Add init.sh
15832         * tests/test-closein.sh Use it.
15833
15834         yesno-tests: convert to init.sh
15835         * modules/yesno-tests (Files): Add init.sh.
15836         * tests/test-yesno.sh: Use it.
15837
15838         atexit-tests: ensure reliable exit status
15839         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
15840         Reported by Bruno Haible.
15841
15842 2011-05-24  Bruno Haible  <bruno@clisp.org>
15843
15844         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
15845         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
15846         gl_PREREQ_STRERROR_R invocations from here...
15847         * modules/strerror_r-posix (configure.ac): ... to here.
15848
15849 2011-05-24  Eric Blake  <eblake@redhat.com>
15850
15851         strerror_r: fix missing header
15852         * lib/strerror_r.c: Avoid compiler warning about snprintf.
15853
15854         strerror_r: fix AIX test failures
15855         * lib/strerror_r.c (strerror_r): Convert silent truncation to
15856         ERANGE failure.
15857
15858         strerror_r: fix Solaris test failures
15859         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
15860         failures.
15861         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15862
15863         strerror_r: enforce POSIX recommendations
15864         * lib/strerror_r.c (safe_copy): New helper method.
15865         (strerror_r): Guarantee a non-empty string.
15866         * tests/test-strerror_r.c (main): Enhance tests to incorporate
15867         recent POSIX rulings and to match our strerror guarantees.
15868         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15869
15870 2011-05-24  Jim Meyering  <meyering@redhat.com>
15871
15872         test-perror2.c: avoid warning about unused variable
15873         * tests/test-perror2.c (main): Remove declaration of unused "fp".
15874
15875 2011-05-24  Eric Blake  <eblake@redhat.com>
15876
15877         perror: avoid spurious test failure on HP-UX
15878         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
15879
15880         tests: fix logic bug in init.sh
15881         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
15882         shell.
15883
15884 2011-05-24  Jim Meyering  <meyering@redhat.com>
15885
15886         utimensat: do not reference an out-of-scope buffer
15887         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
15888         declared in an inner scope, yet "times" would be dereferenced outside
15889         the scope in which "ts" was valid.
15890         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
15891         of ts[2] "out/up", so that the use of aliased "times" (via
15892         "times = ts;") does not end up referencing an out-of-scope "ts"
15893
15894         opendir-safer.c: don't clobber errno; don't close negative FD
15895         * lib/opendir-safer.c (opendir_safer):
15896         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
15897         file descriptor, and more importantly, don't clobber the
15898         offending errno value with EINVAL.  Before, upon failure
15899         of dup_safer, we would pass the negative file descriptor to
15900         fdopendir, which would clobber errno.
15901
15902 2011-05-23  Bruno Haible  <bruno@clisp.org>
15903
15904         idcache: Fix module description.
15905         * modules/idcache (Include): Set to "idcache.h".
15906
15907 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
15908
15909         gnulib-tool: fix portability problem with MacOS sed
15910         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
15911         before the "}".  Problem reported by Leo in
15912         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
15913         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
15914         sed_extract_condition1, sed_extract_condition2.
15915
15916 2011-05-23  Bruno Haible  <bruno@clisp.org>
15917
15918         hash: Simplify autoconf macro.
15919         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
15920
15921 2011-05-23  Bruno Haible  <bruno@clisp.org>
15922
15923         getugroups: Fix module description.
15924         * modules/getugroups (Include): Set to "getugroups.h".
15925
15926 2011-05-23  Bruno Haible  <bruno@clisp.org>
15927
15928         linkat: Simplify autoconf macro.
15929         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
15930
15931 2011-05-23  Bruno Haible  <bruno@clisp.org>
15932             Eric Blake  <eblake@redhat.com>
15933
15934         linkat, renameat: Update dependencies.
15935         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
15936         * modules/linkat (Depends-on): Likewise. Remove also readlink,
15937         symlinkat.
15938
15939 2011-05-23  Jim Meyering  <meyering@redhat.com>
15940
15941         maint.mk: more tight_scope improvements
15942         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
15943         (_gl_TS_headers): Define only in if-0'd block.
15944         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
15945         sometimes we must *not* use it.  Adjust uses accordingly.
15946         (sc_tight_scope): Use much simpler grep-based test to determine
15947         whether we skip this rule.
15948
15949         maint.mk: generalize/improve the tight-scope rule
15950         * top/maint.mk: Emit a warning when the test is skipped.
15951         (_gl_TS_dir): Add $(srcdir)/ prefix.
15952         (_gl_TS_function_match): Simplify, rather than trying
15953         to enumerate common types.  Otherwise, it would fail to match an
15954         "extern unsigned char const *" declaration in idutils.
15955         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
15956         a way to support use of that type of macro.
15957         (_gl_TS_var_match): Simplify regexp.
15958         (_gl_TS_obj_files): New configurable variable.
15959         (_gl_TS_headers): Likewise.
15960
15961 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
15962
15963         verify: fix bug when gnulib <assert.h> is also included
15964         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
15965         is defined, not if _GL_STATIC_ASSERT_H is not defined.
15966         Perhaps there's a better way, but this fixes the immediate problem.
15967         Problem reported by Bruno Haible in
15968         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
15969
15970 2011-05-22  Bruno Haible  <bruno@clisp.org>
15971
15972         xgetcwd: Simplify autoconf macro.
15973         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
15974
15975 2011-05-22  Bruno Haible  <bruno@clisp.org>
15976
15977         New module 'mktime-internal'.
15978         * modules/mktime-internal: New file.
15979         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
15980         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
15981         mktime_internal as a C macro if libc has __mktime_internal.
15982         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
15983         conditions.
15984         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
15985
15986 2011-05-22  Bruno Haible  <bruno@clisp.org>
15987
15988         timegm: Correct mktime replacement statements.
15989         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
15990         defining mktime as a C macro. This completes a 2009-07-28 commit.
15991
15992 2011-05-22  Bruno Haible  <bruno@clisp.org>
15993
15994         timegm: Simplify autoconf macro.
15995         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
15996
15997 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
15998
15999         clock-time: change to LGPLv2+.
16000         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16001         BSD-like but we have no mark for that; this is good enough for now.
16002
16003 2011-05-21  Bruno Haible  <bruno@clisp.org>
16004
16005         strerror_r: Fix comments.
16006         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16007
16008 2011-05-21  Bruno Haible  <bruno@clisp.org>
16009
16010         relocatable-prog-wrapper: Fix possible link error.
16011         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16012         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16013         (gl_FUNC_SETENV): ... to here.
16014         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16015         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16016
16017 2011-05-21  Bruno Haible  <bruno@clisp.org>
16018
16019         relocatable-prog-wrapper: Assume strerror() exists.
16020         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16021         m4/strerror.m4.
16022         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16023         * lib/relocwrapper.c: Remove mention of strerror module.
16024         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16025         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16026         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16027         C macro.
16028
16029 2011-05-21  Bruno Haible  <bruno@clisp.org>
16030
16031         select: Simplify replacement idiom.
16032         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16033         Win32 platforms.
16034         * lib/sys_select.in.h (select): Simplify accordingly.
16035         * modules/select (Depends-on): Likewise.
16036
16037 2011-05-21  Bruno Haible  <bruno@clisp.org>
16038
16039         mkdir-p: Simplify autoconf macro.
16040         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16041         gl_FUNC_LCHOWN.
16042
16043 2011-05-21  Eric Blake  <eblake@redhat.com>
16044
16045         strerror_r: avoid clobbering strerror on cygwin
16046         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16047         fall back instead to sys_errlist.
16048         * modules/strerror (configure.ac): Add witness.
16049         * tests/test-strerror_r.c (main): Enhance test.
16050         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16051         * tests/test-perror2.c (main): Free memory before exit.
16052
16053 2011-05-21  Bruno Haible  <bruno@clisp.org>
16054
16055         mkdtemp: Use gnulib naming conventions.
16056         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16057         * modules/mkdtemp (configure.ac): Update.
16058
16059 2011-05-20  Eric Blake  <eblake@redhat.com>
16060
16061         strerror_r: avoid corrupting errno on Solaris
16062         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16063         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16064
16065         strerror_r: avoid compiler warning
16066         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16067
16068         strerror_r: simplify AIX code
16069         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16070
16071         test-perror: avoid spurious failure on FreeBSD
16072         * modules/perror-tests (Depends-on): Add strerror, now that
16073         strerror_r no longer pulls it in.
16074
16075 2011-05-20  Bruno Haible  <bruno@clisp.org>
16076
16077         strerror_r-posix: Remove unused dependencies.
16078         * modules/strerror_r-posix (Depends-on): Remove strerror.
16079         Reported by Eric Blake.
16080
16081 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16082
16083         intprops: remove assumption about A|B representation
16084         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16085         is a valid integer if both A and B are.  Although this is true for
16086         all known practical hosts, the C standard doesn't guarantee it,
16087         and the code need not assume it.  Also, this change may work around
16088         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16090
16091 2011-05-20  Eric Blake  <eblake@redhat.com>
16092
16093         perror: work around FreeBSD bug
16094         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
16095         is broken.  Move AC_LIBOBJ...
16096         * modules/perror (configure.ac): Here.
16097         * doc/posix-functions/perror.texi (perror): Document this.
16098         * tests/test-perror2.c (main): Enhance test.
16099
16100         test-perror: check for strerror interactions
16101         * tests/macros.h (STREQ): Add macro.
16102         * modules/perror-tests (Files): Add second test.
16103         * tests/test-perror2.c (main): New file.
16104         * doc/posix-functions/perror.texi (perror): Document glibc bug.
16105
16106         test-perror: rewrite to use init script
16107         * modules/perror-tests (Files): Add init.sh.
16108         * tests/test-perror.sh: Use temporary directory.
16109
16110 2011-05-20  Jim Meyering  <meyering@redhat.com>
16111
16112         maint: replace misused "a" with "an"
16113         * doc/intprops.texi: "a integer"
16114         * doc/regex.texi: "a explanation"
16115         * lib/alignof.h: "a object"
16116         * lib/argmatch.h: "a explanation"
16117         * lib/argp-help.c: "a option" and "a OPTION_DOC"
16118         * lib/stdint.in.h: "a integer"
16119         * lib/userspec.c: "a owner"
16120         * doc/gnulib.texi: Fix "a idea", and reword.
16121
16122 2011-05-19  Jim Meyering  <meyering@redhat.com>
16123
16124         maint: correct misuse of "a" and "an"
16125         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
16126         * lib/argp-help.c: "an docum...": s/an/a/
16127         * lib/argp-parse.c: "An vector": s/An/A/
16128         * lib/execute.c: "an native": s/an/a/
16129         * lib/spawn-pipe.c: Likewise.
16130         * lib/gc.h: "an Gc_rc": s/an/a/
16131         * lib/unigbrk.in.h: "an grapheme": s/an/a/
16132         * lib/fts.c: "an stat.st_dev": s/an/a/
16133
16134 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16135
16136         intprops-tests: work around HP-UX 11.23 cc bug with constants
16137         * tests/test-intprops.c (VERIFY): New macro.
16138         (main): Use it, instead of verify, to work around the compiler bug; see
16139         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16140
16141         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
16142         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
16143         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
16144         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
16145         (_GL_REMAINDER_OVERFLOW): Use it.
16146
16147         intprops-tests: revert unsigned part of previous change
16148         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
16149         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
16150         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
16151         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
16152
16153 2011-05-19  Bruno Haible  <bruno@clisp.org>
16154
16155         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
16156         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
16157         strerror_r() returned without filling the buffer.
16158         Reported by Eric Blake.
16159
16160 2011-05-19  Eric Blake  <eblake@redhat.com>
16161
16162         strerror_r: guarantee unchanged errno
16163         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
16164         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
16165         failure.
16166         * tests/test-strerror_r.c (main): Enhance test.
16167
16168 2011-05-19  Bruno Haible  <bruno@clisp.org>
16169
16170         strerror_r: Reorder #if blocks.
16171         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
16172         for consistency with the previous commit.
16173
16174 2011-05-19  Bruno Haible  <bruno@clisp.org>
16175
16176         perror: Avoid clobbering the strerror buffer when possible.
16177         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
16178         * lib/strerror.c: Include it.
16179         * modules/strerror (Files): Add lib/strerror-impl.h.
16180         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
16181         (my_strerror): New function, defined through lib/strerror-impl.h.
16182         (perror): Use it instead of strerror.
16183         * modules/perror (Files): Add lib/strerror-impl.h.
16184         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
16185
16186 2011-05-19  Eric Blake  <eblake@redhat.com>
16187
16188         strerror_r: fix on newer cygwin
16189         * lib/strerror_r.c (strerror_r): Cygwin now has
16190         __xpg_strerror_r, use it.
16191
16192 2011-05-19  Bruno Haible  <bruno@clisp.org>
16193
16194         strerror_r: Avoid clobbering the strerror buffer when possible.
16195         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
16196         (sys_nerr, sys_errlist): New declarations.
16197         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
16198         HP-UX, native Win32, IRIX, and 32-bit Solaris.
16199         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
16200
16201 2011-05-19  Bruno Haible  <bruno@clisp.org>
16202
16203         strerror_r: Fix test failure on mingw.
16204         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
16205         EXTEND_STRERROR_R.
16206         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
16207         macros from errno.in.h instead.
16208
16209 2011-05-19  Eric Blake  <eblake@redhat.com>
16210
16211         strerror: relax test for Solaris
16212         * tests/test-strerror.c (main): Permit Solaris behavior.
16213         * tests/test-strerror_r.c (main): Likewise.
16214
16215         strerror: enforce POSIX ruling on strerror(0)
16216         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
16217         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
16218         * lib/strerror_r.c (rpl_strerror_r): Work around it.
16219         * doc/posix-functions/strerror.texi (strerror): Document it.
16220         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
16221         * tests/test-strerror.c (main): Strengthen test.
16222         * tests/test-strerror_r.c (main): Likewise.
16223
16224 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16225
16226         intprop-tests: port to older and more-pedantic compilers
16227         * modules/intprops-tests (Files): Add tests/macros.h.
16228         * tests/test-intprops.c: Include macros.h.
16229         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
16230         it's no longer documented to expand to an integer constant expression.
16231         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
16232         argument is floating point, as it's no longer documented to expand
16233         to an integer constant expression in that case.
16234         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
16235         compiler bugs reported by Bruno Haible.  See
16236         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16237         (U0, U1): New constants, to work around the same bugs.  Also,
16238         in tests, use e.g., "(unsigned int) 39" rather than "39u".
16239
16240         intprops: work around C compiler bugs
16241         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
16242         bug in Sun C 5.11 2010/08/13 and other compilers; see
16243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16244
16245         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
16246         * doc/intprops.texi (Integer Type Determination): Fix
16247         documentation for TYPE_IS_INTEGER: it returns an constant
16248         expression, not an integer constant expression.  Fix doc for
16249         TYPE_SIGNED: it returns an integer constant expression only if its
16250         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
16251         hardly worth documented that way....)
16252
16253 2011-05-18  Bruno Haible  <bruno@clisp.org>
16254
16255         strerror_r: Avoid clobbering the strerror buffer when possible.
16256         * lib/strerror_r.c (strerror_r): Merge the three implementations.
16257         Handle gnulib defined errno values here. When strerror() returns NULL
16258         or an empty string, return EINVAL.
16259         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
16260         gnulib defined errno values here.
16261         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
16262
16263 2011-05-18  Eric Blake  <eblake@redhat.com>
16264
16265         fnmatch: avoid compiler warning
16266         * lib/fnmatch_loop.c (FCT): Use correct type.
16267         Reported by Matthias Bolte.
16268
16269 2011-05-13  Jim Meyering  <meyering@redhat.com>
16270
16271         maint.mk: three new prohibit_<HDR>_without_use rules
16272         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
16273         (sc_prohibit_stdio-safer_without_use): Likewise.
16274         (sc_prohibit_xfreopen_without_use): Likewise.
16275
16276 2011-05-17  Jim Meyering  <meyering@redhat.com>
16277
16278         announce-gen: fail if the NEWS delta is empty
16279         If there's nothing noteworthy in NEWS, then either you forgot
16280         or you shouldn't be releasing.
16281         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
16282
16283 2011-05-17  Pádraig Brady <P@draigBrady.com>
16284
16285         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
16286         reserved symbols starting with double underscore from the check.
16287
16288 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16289
16290         intprops: add doc
16291         * doc/intprops.texi: New file, documenting intprops.
16292         * doc/gnulib.texi (Particular Modules): Include it.
16293
16294         verify: add doc to gnulib manual and fix example
16295         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
16296         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
16297         (Compile-time Assertions): Fix example so it can't overflow.
16298
16299 2011-05-17  Jim Meyering  <meyering@redhat.com>
16300
16301         warnings.m4: don't usurp save_CPPFLAGS variable name
16302         * m4/warnings.m4: Prefix local temporary variable name with gl_.
16303
16304         doc: fix typo
16305         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
16306
16307 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16308             Bruno Haible  <bruno@clisp.org>
16309
16310         doc: Tweak recent change.
16311         * README (Portability guidelines): Tweak new text.
16312         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
16313         Interix 6.1.
16314
16315 2011-05-16  Eric Blake  <eblake@redhat.com>
16316
16317         inttypes: avoid autoconf warning
16318         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
16319         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16320
16321 2011-05-16  Sam Steingold <sds@gnu.org>
16322         and Eric Blake  <eblake@redhat.com>
16323
16324         vc-list-files: accept multiple directory operands
16325         * build-aux/vc-list-files: Iterate over all remaining operands.
16326
16327 2011-05-16  Bruno Haible  <bruno@clisp.org>
16328
16329         Fix confusion regarding deprecated modules.
16330         * modules/calloc (Status, Notice): Mark module as deprecated, not
16331         obsolete.
16332         * modules/fnmatch-posix (Status, Notice): Likewise.
16333         * modules/getdate (Status, Notice): Likewise.
16334         * modules/getopt (Status, Notice): Likewise.
16335         * modules/malloc (Status, Notice): Likewise.
16336         * modules/pipe (Status, Notice): Likewise.
16337         * modules/realloc (Status, Notice): Likewise.
16338         * modules/rename-dest-slash (Status, Notice): Likewise.
16339         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
16340         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
16341         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
16342         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
16343         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
16344
16345 2011-05-16  Bruno Haible  <bruno@clisp.org>
16346
16347         doc: List the target platforms.
16348         * doc/gnulib-intro.texi (Target Platforms): New section.
16349         * doc/gnulib.texi (Introduction): Update menu.
16350         * README (Portability guidelines): Refer to the new section. Update
16351         statement about oldest supported environment. Remove rationale why
16352         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
16353         unportable C89 function.
16354         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
16355         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
16356
16357 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16358
16359         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
16360
16361 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16362
16363         intprops-tests: new module
16364         * modules/intprops-tests, tests/test-intprops.c: New files.
16365
16366         intprops: add safe, portable integer overflow checking
16367         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
16368         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
16369         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
16370         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
16371         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
16372         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
16373         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
16374         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
16375         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
16376         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
16377         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
16378
16379 2011-05-12  James Youngman  <jay@gnu.org>
16380
16381         Add a test for glibc's Bugzilla bug #12378.
16382         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
16383         doesn't allow the literal matching of a lone "[" (which is
16384         required by POSIX).
16385         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
16386
16387 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
16388
16389         Sync glibc change fixing Bugzilla bug #12378.
16390         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
16391         beginning and fall back to matching as normal character if the
16392         string ends before the matching ']' is found.  This is what POSIX
16393         requires.
16394
16395 2011-05-13  Eric Blake  <eblake@redhat.com>
16396
16397         getcwd-lgpl: relax test for FreeBSD
16398         * doc/posix-functions/getcwd.texi (getcwd): Document portability
16399         issue.
16400         * tests/test-getcwd-lgpl.c (main): Relax test.
16401         Reported by Matthias Bolte.
16402
16403 2011-05-11  Eric Blake  <eblake@redhat.com>
16404
16405         test-fflush: silence compiler warning
16406         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
16407
16408 2011-05-11  Bruno Haible  <bruno@clisp.org>
16409
16410         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
16411         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
16412         * modules/canonicalize (Depends-on): Add 'nocrash'.
16413         * modules/canonicalize-lgpl (Depends-on): Likewise.
16414         * doc/posix-functions/realpath.texi: Update platforms list.
16415         Reported by Ryan Schmidt <ryandesign@macports.org>.
16416
16417 2011-05-11  Bruno Haible  <bruno@clisp.org>
16418
16419         group-member: Declare function in <unistd.h>.
16420         * lib/unistd.in.h (group_member): New declaration.
16421         * lib/group-member.h: Remove file.
16422         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
16423         * tests/test-unistd-c++.cc: Check signature of group_member.
16424         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
16425         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
16426         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
16427         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
16428         HAVE_GROUP_MEMBER.
16429         * modules/group-member (Files): Remove lib/group-member.h.
16430         (Depends-on): Add unistd. Specify conditions.
16431         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16432         (Include): Change to <unistd.h>.
16433         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
16434         HAVE_GROUP_MEMBER.
16435         * NEWS: Mention the change.
16436         * lib/euidaccess.c: Don't include group-member.h.
16437
16438 2011-05-11  Bruno Haible  <bruno@clisp.org>
16439
16440         group-member: Document module.
16441         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
16442         module.
16443
16444 2011-05-11  Bruno Haible  <bruno@clisp.org>
16445
16446         fclose: Fix mistake earlier today.
16447         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
16448
16449 2011-05-11  Eric Blake  <eblake@redhat.com>
16450
16451         fclose: preserve fflush errors
16452         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
16453         Reported by Jim Meyering.
16454
16455         bootstrap: support a prereq of 'rpcgen -' on RHEL5
16456         * build-aux/bootstrap (check_versions): When no specific version
16457         is required, merely check that the app produces an exit status
16458         that indicates its existence.
16459
16460         maint.mk: drop redundant check
16461         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
16462         the same but better.
16463
16464 2011-05-11  Bruno Haible  <bruno@clisp.org>
16465
16466         fclose: Fix possible link error.
16467         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
16468         unregister_shadow_fd. Improve comments.
16469         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
16470         Eric Blake.
16471
16472 2011-05-11  Jim Meyering  <meyering@redhat.com>
16473
16474         maint.mk: improve "can not" detection and generalize rule name
16475         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
16476         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
16477         Use the same technique as in sc_prohibit_doubled_word, so that
16478         we recognize "can not" also when the words are separated by a newline.
16479         Suggested by Eric Blake.
16480         (perl_filename_lineno_text_): Define.  Factored out of...
16481         (prohibit_doubled_word_): ...here.  Use the new definition.
16482         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
16483         (prohibit_undesirable_word_seq_RE_): New overridable variable.
16484         (ignore_undesirable_word_sequence_RE_): New overridable variable.
16485
16486 2011-05-10  Eric Blake  <eblake@redhat.com>
16487
16488         fclose: avoid double close race when possible
16489         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
16490         all but WINDOWS_SOCKETS.
16491
16492 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
16493
16494         openat: correct new comment
16495         * lib/openat-proc.c (openat_proc_name): Correct the comment.
16496
16497 2011-05-10  Jim Meyering  <meyering@redhat.com>
16498
16499         openat: add comments
16500         * lib/openat-proc.c (openat_proc_name): Add comments,
16501         mostly from Eric Blake.
16502
16503 2011-05-09  Eric Blake  <eblake@redhat.com>
16504
16505         openat: reduce syscalls in first probe of /proc
16506         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
16507         be a directory.  Simplify the probe for .. bugs.
16508         * modules/openat (Depends-on): Drop same-inode.
16509         Reported by Bastien ROUCARIES.
16510
16511 2011-05-09  Jim Meyering  <meyering@redhat.com>
16512
16513         maint.mk: change semantics/name of tight_scope variables
16514         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
16515         Rename variables to align with semantics that make them more useful.
16516
16517         maint.mk: tweak new rule's name not to impinge
16518         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
16519         (sc_tight_scope): Use new rule name rather than $@-0.
16520
16521         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
16522         * top/maint.mk (sc_tight_scope): New rule.
16523         (sc_tight_scope-0): New rule, ifdef'd out.
16524         (_gl_TS_dir): Default.
16525         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
16526         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
16527
16528 2011-05-09  Simon Josefsson  <simon@josefsson.org>
16529
16530         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
16531         Haible <bruno@clisp.org>.
16532
16533 2011-05-08  Bruno Haible  <bruno@clisp.org>
16534
16535         Comments.
16536         * m4/isnanf.m4: Add comment.
16537         * m4/isnanl.m4: Likewise.
16538
16539 2011-05-08  Bruno Haible  <bruno@clisp.org>
16540
16541         glob: Remove obsolete macro.
16542         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
16543
16544 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
16545
16546         intprops: Sun C 5.11 supports __typeof__
16547         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
16548         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
16549         which is new.
16550         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
16551
16552         intprops: switch to usual gnulib indenting and naming
16553         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
16554         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
16555
16556         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
16557
16558 2011-05-08  Jim Meyering  <meyering@redhat.com>
16559
16560         maint.mk: suppress "Entering/Leaving directory" diag in announcement
16561         * top/maint.mk (release-prep): Use make's --no-print-directory
16562         option when generating the announcement.  This eliminates the
16563         pesky "make[2]: Entering/Leaving directory" diagnostics in the
16564         generated announcement template.
16565
16566 2011-05-08  Bruno Haible  <bruno@clisp.org>
16567
16568         tzset: Fix gettimeofday wrapper on Solaris 2.6.
16569         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
16570         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
16571
16572 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
16573
16574         ignore-value, verify: Omit include files from lib_SOURCES.
16575         * modules/ignore-value, modules/verify (Makefile.am):
16576         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
16577         that leads Automake to duplicate use of am__objects_... variables
16578         in Makefile.in.  See
16579         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
16580
16581 2011-05-07  Bruno Haible  <bruno@clisp.org>
16582
16583         fclose: Simplify autoconf macro.
16584         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
16585         defined.
16586
16587 2011-05-07  Bruno Haible  <bruno@clisp.org>
16588
16589         canonicalize-lgpl: Fix autoconf macro ordering bug.
16590         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
16591         gl_STDLIB_H_DEFAULTS.
16592
16593 2011-05-06  Eric Blake  <eblake@redhat.com>
16594
16595         maintainer-makefile: make sc_po_check easier to tune
16596         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
16597         to probe for strings, such as an alternate location for gnulib.
16598
16599         fclose: guarantee behavior on seekable stdin
16600         * modules/fclose (Depends-on): Add fflush.
16601         * doc/posix-functions/fclose.texi (fclose): Document this.
16602         * tests/test-fclose.c (main): Make test for this unconditional.
16603
16604 2011-05-06  Bruno Haible  <bruno@clisp.org>
16605
16606         fflush, fpurge: Relicense under LGPLv2+.
16607         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
16608         * modules/fpurge (License): Likewise.
16609         With permission from Eric Blake and Jim Meyering.
16610         Suggested by Eric Blake.
16611
16612 2011-05-06  Karl Berry  <karl@gnu.org>
16613
16614         * MODULES.html.sh (func_all_modules): remove exit.
16615
16616 2011-05-06  Jim Meyering  <meyering@redhat.com>
16617
16618         maint.mk: use info-gnu@ as the default only for a stable release
16619         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
16620         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
16621         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
16622         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
16623
16624 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16625
16626         assert-h: new module, which supports C1X-style static_assert
16627         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
16628         * lib/verify.h: Revamp so that this can be copied into assert.h,
16629         while retaining the ability to use it standalone as before.
16630         Rename private identifiers so as not to encroach on the
16631         standard C namespace, since this is now used by assert.h.
16632         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
16633         the old verify_true.
16634         (_GL_VERIFY_TRUE): New macro, with much of the contents of
16635         the old verify_true.  Use _GL_VERIFY_TYPE.
16636         (_GL_VERIFY): New macro, with much of the contents of the old verify.
16637         (static_assert): New macro, if _GL_STATIC_ASSERT_H
16638         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
16639         defined when this file is copied into the replacement assert.h.
16640         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
16641         and _Static_assert is not built in.
16642         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
16643         defined, and use the new macros mentioned above.
16644         * doc/posix-headers/assert.texi: Document this.
16645
16646 2011-05-05  Bruno Haible  <bruno@clisp.org>
16647
16648         fclose, fflush: Respect rules for use of AC_LIBOBJ.
16649         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
16650         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
16651         gl_REPLACE_FCLOSE here.
16652         * modules/fflush (Depends-on): Remove fclose.
16653         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
16654         combination with module 'fclose'.
16655
16656 2011-05-05  Bruno Haible  <bruno@clisp.org>
16657
16658         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
16659         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
16660         gl_FUNC_FFLUSH.
16661         (gl_FUNC_FFLUSH): Use it.
16662         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
16663         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
16664         gl_REPLACE_FSEEKO here.
16665
16666 2011-05-05  Bruno Haible  <bruno@clisp.org>
16667
16668         tzset: Relicense under LGPL.
16669         * modules/tzset (License): Change to LGPL.
16670         No agreement needed; it's a no-op.
16671
16672         strtoimax, strtoumax: Relicense under LGPL.
16673         * modules/strtoimax (License): Change to LGPL.
16674         * modules/strtoumax (License): Likewise.
16675         With permission from Jim Meyering, Paul Eggert:
16676         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
16677         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
16678
16679         getgroups: Relicense under LGPL.
16680         * modules/getgroups (License): Change to LGPL.
16681         With permission from Jim Meyering, Paul Eggert, Eric Blake:
16682         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16683         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16685
16686         nanosleep: Relicense under LGPL.
16687         * modules/nanosleep (License): Change to LGPL.
16688         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
16689         Haible:
16690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16691         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16693         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16694
16695         futimens: Relicense under LGPL.
16696         * modules/futimens (License): Change to LGPL.
16697         With permission from Eric Blake:
16698         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16699
16700         fflush: Relicense under LGPL.
16701         * modules/fflush (License): Change to LGPL.
16702         With permission from Eric Blake, Bruno Haible, Jim Meyering:
16703         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16704         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
16706
16707         tmpfile: Relicense under LGPL.
16708         * modules/tmpfile (License): Change to LGPL.
16709         With permission from Ben Pfaff:
16710         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16711
16712         isfinite: Relicense under LGPL.
16713         * modules/isfinite (License): Change to LGPL.
16714         With permission from Ben Pfaff, Bruno Haible:
16715         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16716         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
16717
16718         acosl..tanl: Relicense under LGPL.
16719         * modules/acosl (License): Change to LGPL.
16720         * modules/asinl (License): Likewise.
16721         * modules/atanl (License): Likewise.
16722         * modules/cosl (License): Likewise.
16723         * modules/expl (License): Likewise.
16724         * modules/logl (License): Likewise.
16725         * modules/sinl (License): Likewise.
16726         * modules/sqrtl (License): Likewise.
16727         * modules/tanl (License): Likewise.
16728         Source code originally from glibc and Paolo Bonzini. Agreements:
16729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
16730         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
16731
16732 2011-05-05  Bruno Haible  <bruno@clisp.org>
16733
16734         signal: Define sighandler_t.
16735         * lib/signal.in.h (sighandler_t): New type.
16736         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
16737         whether sighandler_t is defined.
16738         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
16739         * modules/signal (Depends-on): Add extensions.
16740         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
16741         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
16742         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
16743
16744 2011-05-05  Eric Blake  <eblake@redhat.com>
16745
16746         maint: remove useless REPLACE_*_H macros
16747         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
16748         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16749         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16750         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
16751         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16752         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16753         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
16754         * m4/btowc.m4: Update callers.
16755         * m4/dirfd.m4: Likewise.
16756         * m4/duplocale.m4: Likewise.
16757         * m4/fchdir.m4: Likewise.
16758         * m4/fdopendir.m4: Likewise.
16759         * m4/inet_ntop.m4: Likewise.
16760         * m4/inet_pton.m4: Likewise.
16761         * m4/ioctl.m4: Likewise.
16762         * m4/mbrlen.m4: Likewise.
16763         * m4/mbrtowc.m4: Likewise.
16764         * m4/mbsinit.m4: Likewise.
16765         * m4/mbsnrtowcs.m4: Likewise.
16766         * m4/mbsrtowcs.m4: Likewise.
16767         * m4/poll.m4: Likewise.
16768         * m4/setlocale.m4: Likewise.
16769         * m4/wcrtomb.m4: Likewise.
16770         * m4/wcsnrtombs.m4: Likewise.
16771         * m4/wcsrtombs.m4: Likewise.
16772         * m4/wctob.m4: Likewise.
16773         * m4/wcwidth.m4: Likewise.
16774         * modules/posix_spawn: Likewise.
16775         * modules/posix_spawn_file_actions_addclose: Likewise.
16776         * modules/posix_spawn_file_actions_adddup2: Likewise.
16777         * modules/posix_spawn_file_actions_addopen: Likewise.
16778         * modules/posix_spawn_file_actions_destroy: Likewise.
16779         * modules/posix_spawn_file_actions_init: Likewise.
16780         * modules/posix_spawnattr_destroy: Likewise.
16781         * modules/posix_spawnattr_getflags: Likewise.
16782         * modules/posix_spawnattr_getpgroup: Likewise.
16783         * modules/posix_spawnattr_getschedparam: Likewise.
16784         * modules/posix_spawnattr_getschedpolicy: Likewise.
16785         * modules/posix_spawnattr_getsigdefault: Likewise.
16786         * modules/posix_spawnattr_getsigmask: Likewise.
16787         * modules/posix_spawnattr_init: Likewise.
16788         * modules/posix_spawnattr_setflags: Likewise.
16789         * modules/posix_spawnattr_setpgroup: Likewise.
16790         * modules/posix_spawnattr_setschedparam: Likewise.
16791         * modules/posix_spawnattr_setschedpolicy: Likewise.
16792         * modules/posix_spawnattr_setsigdefault: Likewise.
16793         * modules/posix_spawnattr_setsigmask: Likewise.
16794         * modules/posix_spawnp: Likewise.
16795
16796 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
16797
16798         Add option to do-release-commit-and-tag to specify branch.
16799         * build-aux/do-release-commit-and-tag: Add --branch.
16800
16801 2011-05-03  Bruno Haible  <bruno@clisp.org>
16802
16803         Avoid unnecessary compilation units, through conditional dependencies.
16804         * modules/accept (Depends-on): Add conditions to the dependencies.
16805         * modules/acosl (Depends-on): Likewise.
16806         * modules/argz (Depends-on): Likewise.
16807         * modules/asinl (Depends-on): Likewise.
16808         * modules/atanl (Depends-on): Likewise.
16809         * modules/atoll (Depends-on): Likewise.
16810         * modules/bind (Depends-on): Likewise.
16811         * modules/btowc (Depends-on): Likewise.
16812         * modules/canonicalize-lgpl (Depends-on): Likewise.
16813         * modules/ceil (Depends-on): Likewise.
16814         * modules/ceilf (Depends-on): Likewise.
16815         * modules/ceill (Depends-on): Likewise.
16816         * modules/chdir-long (Depends-on): Likewise.
16817         * modules/chown (Depends-on): Likewise.
16818         * modules/close (Depends-on): Likewise.
16819         * modules/connect (Depends-on): Likewise.
16820         * modules/cosl (Depends-on): Likewise.
16821         * modules/dirfd (Depends-on): Likewise.
16822         * modules/dprintf (Depends-on): Likewise.
16823         * modules/dprintf-posix (Depends-on): Likewise.
16824         * modules/error (Depends-on): Likewise.
16825         * modules/euidaccess (Depends-on): Likewise.
16826         * modules/expl (Depends-on): Likewise.
16827         * modules/faccessat (Depends-on): Likewise.
16828         * modules/fchdir (Depends-on): Likewise.
16829         * modules/fclose (Depends-on): Likewise.
16830         * modules/fcntl (Depends-on): Likewise.
16831         * modules/fdopendir (Depends-on): Likewise.
16832         * modules/fflush (Depends-on): Likewise.
16833         * modules/floor (Depends-on): Likewise.
16834         * modules/floorf (Depends-on): Likewise.
16835         * modules/floorl (Depends-on): Likewise.
16836         * modules/fnmatch (Depends-on): Likewise.
16837         * modules/fopen (Depends-on): Likewise.
16838         * modules/fprintf-posix (Depends-on): Likewise.
16839         * modules/frexp (Depends-on): Likewise.
16840         * modules/frexp-nolibm (Depends-on): Likewise.
16841         * modules/frexpl (Depends-on): Likewise.
16842         * modules/frexpl-nolibm (Depends-on): Likewise.
16843         * modules/fseek (Depends-on): Likewise.
16844         * modules/fsusage (Depends-on): Likewise.
16845         * modules/ftell (Depends-on): Likewise.
16846         * modules/ftello (Depends-on): Likewise.
16847         * modules/futimens (Depends-on): Likewise.
16848         * modules/getcwd (Depends-on): Likewise.
16849         * modules/getcwd-lgpl (Depends-on): Likewise.
16850         * modules/getdelim (Depends-on): Likewise.
16851         * modules/getdomainname (Depends-on): Likewise.
16852         * modules/getgroups (Depends-on): Likewise.
16853         * modules/gethostname (Depends-on): Likewise.
16854         * modules/getline (Depends-on): Likewise.
16855         * modules/getlogin_r (Depends-on): Likewise.
16856         * modules/getopt-posix (Depends-on): Likewise.
16857         * modules/getpeername (Depends-on): Likewise.
16858         * modules/getsockname (Depends-on): Likewise.
16859         * modules/getsockopt (Depends-on): Likewise.
16860         * modules/getsubopt (Depends-on): Likewise.
16861         * modules/getusershell (Depends-on): Likewise.
16862         * modules/glob (Depends-on): Likewise.
16863         * modules/grantpt (Depends-on): Likewise.
16864         * modules/iconv_open (Depends-on): Likewise.
16865         * modules/iconv_open-utf (Depends-on): Likewise.
16866         * modules/inet_ntop (Depends-on): Likewise.
16867         * modules/inet_pton (Depends-on): Likewise.
16868         * modules/ioctl (Depends-on): Likewise.
16869         * modules/isapipe (Depends-on): Likewise.
16870         * modules/isfinite (Depends-on): Likewise.
16871         * modules/isinf (Depends-on): Likewise.
16872         * modules/lchown (Depends-on): Likewise.
16873         * modules/ldexpl (Depends-on): Likewise.
16874         * modules/link (Depends-on): Likewise.
16875         * modules/linkat (Depends-on): Likewise.
16876         * modules/listen (Depends-on): Likewise.
16877         * modules/logl (Depends-on): Likewise.
16878         * modules/lstat (Depends-on): Likewise.
16879         * modules/mbrlen (Depends-on): Likewise.
16880         * modules/mbrtowc (Depends-on): Likewise.
16881         * modules/mbsinit (Depends-on): Likewise.
16882         * modules/mbsnrtowcs (Depends-on): Likewise.
16883         * modules/mbsrtowcs (Depends-on): Likewise.
16884         * modules/mbtowc (Depends-on): Likewise.
16885         * modules/memcmp (Depends-on): Likewise.
16886         * modules/mkdir (Depends-on): Likewise.
16887         * modules/mkdtemp (Depends-on): Likewise.
16888         * modules/mkfifo (Depends-on): Likewise.
16889         * modules/mkfifoat (Depends-on): Likewise.
16890         * modules/mknod (Depends-on): Likewise.
16891         * modules/mkostemp (Depends-on): Likewise.
16892         * modules/mkostemps (Depends-on): Likewise.
16893         * modules/mkstemp (Depends-on): Likewise.
16894         * modules/mkstemps (Depends-on): Likewise.
16895         * modules/mktime (Depends-on): Likewise.
16896         * modules/nanosleep (Depends-on): Likewise.
16897         * modules/open (Depends-on): Likewise.
16898         * modules/openat (Depends-on): Likewise.
16899         * modules/perror (Depends-on): Likewise.
16900         * modules/poll (Depends-on): Likewise.
16901         * modules/popen (Depends-on): Likewise.
16902         * modules/posix_spawn (Depends-on): Likewise.
16903         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
16904         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
16905         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
16906         * modules/posix_spawnp (Depends-on): Likewise.
16907         * modules/pread (Depends-on): Likewise.
16908         * modules/printf-posix (Depends-on): Likewise.
16909         * modules/ptsname (Depends-on): Likewise.
16910         * modules/putenv (Depends-on): Likewise.
16911         * modules/pwrite (Depends-on): Likewise.
16912         * modules/readline (Depends-on): Likewise.
16913         * modules/readlink (Depends-on): Likewise.
16914         * modules/readlinkat (Depends-on): Likewise.
16915         * modules/recv (Depends-on): Likewise.
16916         * modules/recvfrom (Depends-on): Likewise.
16917         * modules/regex (Depends-on): Likewise.
16918         * modules/remove (Depends-on): Likewise.
16919         * modules/rename (Depends-on): Likewise.
16920         * modules/renameat (Depends-on): Likewise.
16921         * modules/rmdir (Depends-on): Likewise.
16922         * modules/round (Depends-on): Likewise.
16923         * modules/roundf (Depends-on): Likewise.
16924         * modules/roundl (Depends-on): Likewise.
16925         * modules/rpmatch (Depends-on): Likewise.
16926         * modules/select (Depends-on): Likewise.
16927         * modules/send (Depends-on): Likewise.
16928         * modules/sendto (Depends-on): Likewise.
16929         * modules/setenv (Depends-on): Likewise.
16930         * modules/setlocale (Depends-on): Likewise.
16931         * modules/setsockopt (Depends-on): Likewise.
16932         * modules/shutdown (Depends-on): Likewise.
16933         * modules/sigaction (Depends-on): Likewise.
16934         * modules/signbit (Depends-on): Likewise.
16935         * modules/sigprocmask (Depends-on): Likewise.
16936         * modules/sinl (Depends-on): Likewise.
16937         * modules/sleep (Depends-on): Likewise.
16938         * modules/snprintf (Depends-on): Likewise.
16939         * modules/snprintf-posix (Depends-on): Likewise.
16940         * modules/socket (Depends-on): Likewise.
16941         * modules/sprintf-posix (Depends-on): Likewise.
16942         * modules/sqrtl (Depends-on): Likewise.
16943         * modules/stat (Depends-on): Likewise.
16944         * modules/strchrnul (Depends-on): Likewise.
16945         * modules/strdup-posix (Depends-on): Likewise.
16946         * modules/strerror (Depends-on): Likewise.
16947         * modules/strerror_r-posix (Depends-on): Likewise.
16948         * modules/strndup (Depends-on): Likewise.
16949         * modules/strnlen (Depends-on): Likewise.
16950         * modules/strptime (Depends-on): Likewise.
16951         * modules/strsep (Depends-on): Likewise.
16952         * modules/strsignal (Depends-on): Likewise.
16953         * modules/strstr-simple (Depends-on): Likewise.
16954         * modules/strtod (Depends-on): Likewise.
16955         * modules/strtoimax (Depends-on): Likewise.
16956         * modules/strtok_r (Depends-on): Likewise.
16957         * modules/strtoumax (Depends-on): Likewise.
16958         * modules/symlink (Depends-on): Likewise.
16959         * modules/symlinkat (Depends-on): Likewise.
16960         * modules/tanl (Depends-on): Likewise.
16961         * modules/tcgetsid (Depends-on): Likewise.
16962         * modules/tmpfile (Depends-on): Likewise.
16963         * modules/trunc (Depends-on): Likewise.
16964         * modules/truncf (Depends-on): Likewise.
16965         * modules/truncl (Depends-on): Likewise.
16966         * modules/uname (Depends-on): Likewise.
16967         * modules/unlink (Depends-on): Likewise.
16968         * modules/unlockpt (Depends-on): Likewise.
16969         * modules/unsetenv (Depends-on): Likewise.
16970         * modules/usleep (Depends-on): Likewise.
16971         * modules/utimensat (Depends-on): Likewise.
16972         * modules/vasprintf (Depends-on): Likewise.
16973         * modules/vdprintf (Depends-on): Likewise.
16974         * modules/vdprintf-posix (Depends-on): Likewise.
16975         * modules/vfprintf-posix (Depends-on): Likewise.
16976         * modules/vprintf-posix (Depends-on): Likewise.
16977         * modules/vsnprintf (Depends-on): Likewise.
16978         * modules/vsnprintf-posix (Depends-on): Likewise.
16979         * modules/vsprintf-posix (Depends-on): Likewise.
16980         * modules/wcrtomb (Depends-on): Likewise.
16981         * modules/wcscasecmp (Depends-on): Likewise.
16982         * modules/wcscspn (Depends-on): Likewise.
16983         * modules/wcsdup (Depends-on): Likewise.
16984         * modules/wcsncasecmp (Depends-on): Likewise.
16985         * modules/wcsnrtombs (Depends-on): Likewise.
16986         * modules/wcspbrk (Depends-on): Likewise.
16987         * modules/wcsrtombs (Depends-on): Likewise.
16988         * modules/wcsspn (Depends-on): Likewise.
16989         * modules/wcsstr (Depends-on): Likewise.
16990         * modules/wcstok (Depends-on): Likewise.
16991         * modules/wcswidth (Depends-on): Likewise.
16992         * modules/wctob (Depends-on): Likewise.
16993         * modules/wctomb (Depends-on): Likewise.
16994         * modules/wctype (Depends-on): Likewise.
16995         * modules/wcwidth (Depends-on): Likewise.
16996         * modules/write (Depends-on): Likewise.
16997
16998 2011-05-03  Bruno Haible  <bruno@clisp.org>
16999
17000         Support for conditional dependencies.
17001         * doc/gnulib.texi (Module description): Document the syntax of
17002         conditional dependencies.
17003         * gnulib-tool: New option --conditional-dependencies.
17004         (func_usage): Document it.
17005         (cond_dependencies): New variable.
17006         (func_get_automake_snippet_conditional,
17007         func_get_automake_snippet_unconditional): New functions, extracted from
17008         func_get_automake_snippet.
17009         (func_get_automake_snippet): Use them.
17010         (sed_first_32_chars): New variable.
17011         (func_module_shellfunc_name): New function.
17012         (func_module_shellvar_name): New function.
17013         (func_module_conditional_name): New function.
17014         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17015         func_cond_module_condition): New functions.
17016         (func_modules_transitive_closure): Add support for conditional
17017         dependencies.
17018         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17019         conditional automake snippet in an automake conditional.
17020         (func_emit_autoconf_snippets): Emit shell functions that contain the
17021         code for conditional modules.
17022         (func_import, func_create_testdir): Update specification.
17023
17024 2011-05-03  Eric Blake  <eblake@redhat.com>
17025
17026         test-getaddrinfo: report error information
17027         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17028
17029 2011-05-03  Jim Meyering  <meyering@redhat.com>
17030
17031         bootstrap: avoid build failure when $GZIP is set
17032         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17033         program name.  If defined at all, it is supposed to list gzip options.
17034         Reported by Alan Curry in http://debbugs.gnu.org/8609
17035
17036 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17037
17038         readme-release: new module with release instructions
17039         * modules/readme-release: New module.
17040         * top/README-release: New file, from coreutils, grep, diffutils.
17041         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17042
17043 2011-05-02  Eric Blake  <eblake@redhat.com>
17044
17045         fflush: also replace fclose when fixing fflush
17046         * modules/fflush (Depends-on): Add fclose.
17047         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17048         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17049         memstreams with no backing fd.
17050         * doc/posix-functions/fclose.texi (fclose): Document the use of
17051         fflush module to fix the bug.
17052         * tests/test-fclose.c (main): Relax test when fclose is used in
17053         isolation.
17054
17055         fclose: add some tests
17056         * modules/fclose-tests: New test module.
17057         * tests/test-fclose.c: New file.
17058         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17059
17060         fclose: reduced dependencies
17061         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17062         simpler lseek.
17063         * lib/fclose.c (rpl_fclose): Likewise.
17064         Reported by Simon Josefsson.
17065
17066         exit: drop remaining clients
17067         * modules/argmatch (Depends-on): Replace exit with stdlib.
17068         * modules/copy-file (Depends-on): Likewise.
17069         * modules/execute (Depends-on): Likewise.
17070         * modules/exitfail (Depends-on): Likewise.
17071         * modules/obstack (Depends-on): Likewise.
17072         * modules/pagealign_alloc (Depends-on): Likewise.
17073         * modules/pipe-filter-gi (Depends-on): Likewise.
17074         * modules/pipe-filter-ii (Depends-on): Likewise.
17075         * modules/savewd (Depends-on): Likewise.
17076         * modules/spawn-pipe (Depends-on): Likewise.
17077         * modules/wait-process (Depends-on): Likewise.
17078         * modules/xsetenv (Depends-on): Likewise.
17079         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17080         * modules/git-merge-changelog (Depends-on): Likewise.
17081         * modules/long-options (Depends-on): Likewise.
17082         * modules/pt_chown (Depends-on): Likewise.
17083         * modules/sysexits (Depends-on): Likewise.
17084
17085         freading: relax license from LGPLv3+ to LGPLv2+
17086         * modules/freading (License): Relax LGPL version.
17087
17088 2011-05-02  Bruno Haible  <bruno@clisp.org>
17089
17090         fchdir: Remove unused dependencies.
17091         * modules/fchdir (Depends-on): Remove include_next.
17092
17093 2011-05-02  Bruno Haible  <bruno@clisp.org>
17094
17095         gnulib-tool: Refactor.
17096         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
17097         from func_emit_autoconf_snippets.
17098         (func_emit_autoconf_snippets): Use it.
17099
17100 2011-05-02  Simon Josefsson  <simon@josefsson.org>
17101
17102         * NEWS: Document removal of 'exit'.
17103         * modules/exit: Remove file.
17104
17105 2011-05-01  Bruno Haible  <bruno@clisp.org>
17106
17107         Update DEPENDENCIES.
17108         * DEPENDENCIES (gettext): Recommend the newest release.
17109         Reported by Simon Josefsson.
17110
17111 2011-05-01  Bruno Haible  <bruno@clisp.org>
17112
17113         gnulib-tool: Reduce code duplication.
17114         * gnulib-tool (func_emit_autoconf_snippets): New function.
17115         (func_import, func_create_testdir): Use it.
17116
17117 2011-04-30  Eric Blake  <eblake@redhat.com>
17118
17119         fclose: don't fail on non-seekable input stream
17120         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
17121         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
17122         since fflush is allowed to fail in that case.
17123
17124 2011-04-30  Bruno Haible  <bruno@clisp.org>
17125
17126         dup3: cleanup
17127         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
17128
17129 2011-04-30  Bruno Haible  <bruno@clisp.org>
17130
17131         netdb: Make it work in C++ mode.
17132         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
17133         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
17134         module.
17135         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
17136         gl_MODULE_INDICATOR_FOR_TESTS.
17137         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
17138         * modules/netdb-c++-tests: New file.
17139         * tests/test-netdb-c++.cc: New file.
17140
17141 2011-04-30  Bruno Haible  <bruno@clisp.org>
17142
17143         New modules 'vfscanf', 'vscanf'.
17144         * modules/vfscanf: New file.
17145         * modules/vscanf: New file.
17146         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
17147         here.
17148         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
17149         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
17150
17151 2011-04-30  Bruno Haible  <bruno@clisp.org>
17152
17153         passfd: Add comments.
17154         * lib/passfd.c: Add comments about platforms.
17155
17156 2011-04-30  Bruno Haible  <bruno@clisp.org>
17157
17158         sys_uio: Make <sys/uio.h> self-contained.
17159         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
17160         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
17161
17162 2011-04-30  Bruno Haible  <bruno@clisp.org>
17163
17164         sys_socket: Ensure 'struct iovec' definition.
17165         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
17166         <sys/socket.h>.
17167         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
17168
17169 2011-04-30  Bruno Haible  <bruno@clisp.org>
17170
17171         sys_uio: Protect definition of 'struct iovec'.
17172         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
17173         it as a C struct.
17174
17175 2011-04-30  Bruno Haible  <bruno@clisp.org>
17176
17177         manywarnings: fix indentation
17178         * m4/manywarnings.m4: Indent by 2 spaces consistently.
17179
17180 2011-04-30  Pádraig Brady <P@draigBrady.com>
17181
17182         manywarnings: add -Wno-missing-field-initializers if needed.
17183         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
17184         option if it's needed to allow initialization with { 0, }
17185
17186 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
17187
17188         announce-gen: cosmetic improvement
17189         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
17190
17191 2011-04-29  Jim Meyering  <meyering@redhat.com>
17192
17193         vc-list-files: indent with spaces, not TABs
17194         * build-aux/vc-list-files: Convert leading TABs to spaces,
17195         to match the style of most other files in gnulib.
17196
17197         announce-gen: indent with spaces, not TABs
17198         * build-aux/announce-gen: Convert all TABs to spaces, to match
17199         the style of most other files in gnulib.
17200
17201 2011-04-29  Eric Blake  <eblake@redhat.com>
17202
17203         quotearg: avoid uninitialized variable use
17204         * lib/quotearg.c (quoting_options_from_style): Initialize
17205         remaining fields, and ensure that custom styles are only used via
17206         quoting_options rather than quoting_style.
17207
17208 2011-04-29  Jim Meyering  <meyering@redhat.com>
17209
17210         maint.mk: remove unused VC-tag variable
17211         * top/maint.mk (VC-tag): Remove unused variable.
17212
17213 2011-04-29  Bruno Haible  <bruno@clisp.org>
17214
17215         netdb: fix gai_strerror replacements
17216         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
17217         * modules/netdb: Substitute it.
17218
17219 2011-04-29  Jim Meyering  <meyering@redhat.com>
17220
17221         test-getcwd.c: avoid new set-but-not-used warning
17222         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
17223         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
17224         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
17225         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
17226
17227         test-hash.c: avoid a new shadowing warning
17228         * tests/test-hash.c (main): Don't shadow "dup".
17229
17230 2011-04-28  Eric Blake  <eblake@redhat.com>
17231
17232         getaddrinfo: fix gai_strerror signature
17233         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
17234         and work around mingw with UNICODE defined.
17235         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
17236         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
17237         * modules/netdb (Makefile.am): Substitute it.
17238         * lib/netdb.in.h (gai_strerror): Declare replacement.
17239         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
17240         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
17241         the fix.
17242
17243         getsockopt: avoid compiler warning
17244         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
17245         Reported by Matthias Bolte.
17246
17247         tests: drop unused link dependency
17248         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
17249         * modules/dirent-safer-tests (Makefile.am): Likewise.
17250         * modules/fdopendir-tests (Makefile.am): Likewise.
17251         * modules/mkfifoat-tests (Makefile.am): Likewise.
17252         * modules/openat-safer-tests (Makefile.am): Likewise.
17253         * modules/openat-tests (Makefile.am): Likewise.
17254         * modules/readlinkat-tests (Makefile.am): Likewise.
17255         * modules/symlinkat-tests (Makefile.am): Likewise.
17256         * modules/linkat-tests (Makefile.am): Likewise.
17257         (Depends-on): Switch to filenamecat-lgpl.
17258         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
17259         LIBINTL.
17260         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
17261         * tests/test-linkat.c (main): Don't require xalloc.
17262
17263         hash, mgetgroups: drop xalloc dependency
17264         * lib/hash.c (includes): Adjust includes.
17265         * lib/mgetgroups.c (includes): Likewise.
17266         (xgetgroups): Move...
17267         * lib/xgetgroups.c: ...to new file.
17268         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
17269         * modules/xgetgroups: New file, split from...
17270         * modules/mgetgroups: ...here.
17271         (Depends-on): Add xalloc-oversized.
17272         * modules/hash (Depends-on): Likewise.
17273         * modules/hash-tests (Depends-on): Drop xalloc.
17274         (test_hash_LDADD): Drop unused library.
17275         * tests/test-hash.c (main): Break xalloc dependency.
17276         (includes): Drop unused include.
17277
17278         xalloc-oversized: new module
17279         * modules/xalloc-oversized: New module.
17280         * modules/xalloc (Depends-on): Add it.
17281         * lib/xalloc.h (xalloc_oversized): Move...
17282         * lib/xalloc-oversized.h: ...into new file.
17283
17284         utimecmp: drop dependency on xmalloc
17285         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
17286         due to memory pressure.
17287         * modules/utimecmp (Depends-on): Drop xalloc.
17288
17289 2011-04-27  Eric Blake  <eblake@redhat.com>
17290
17291         getcwd: fix mingw bugs
17292         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
17293         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
17294         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
17295
17296 2011-04-27  Bruno Haible  <bruno@clisp.org>
17297
17298         mkstemps: Ensure declaration on MacOS X 10.5.
17299         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
17300         * doc/glibc-functions/mkstemps.texi: Document header file problem on
17301         MacOS X.
17302
17303 2011-04-27  Bruno Haible  <bruno@clisp.org>
17304
17305         mkstemp: More documentation.
17306         * doc/posix-functions/mkstemp.texi: Document header file problem on
17307         MacOS X.
17308
17309 2011-04-27  Bruno Haible  <bruno@clisp.org>
17310
17311         mkstemp: Tweak configure message when cross-compiling.
17312         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
17313         result as a guess.
17314
17315 2011-04-27  Bruno Haible  <bruno@clisp.org>
17316
17317         clean-temp: Clarify what it does.
17318         * lib/clean-temp.h: Add more comments.
17319         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
17320         module.
17321         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
17322         * doc/glibc-functions/mkstemps.texi: Likewise.
17323         * doc/glibc-functions/mkostemps.texi: Likewise.
17324
17325 2011-04-27  Eric Blake  <eblake@redhat.com>
17326
17327         fchdir: avoid extra chdir and fix test
17328         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
17329         getcwd-lgpl.
17330         * lib/fchdir.c (get_name): Any absolute name will do; it does not
17331         have to be canonical.
17332         (canonicalize_file_name): Drop unused macro.
17333         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
17334
17335         filenamecat-lgpl: fix licence
17336         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
17337         when it was first created.
17338
17339         linkat, renameat: add missing dependency
17340         * modules/linkat (Depends-on): Require getcwd-lgpl.
17341         * modules/renameat (Depends-on): Likewise.
17342
17343         tests: reduce dependencies
17344         * tests/test-linkat.c (main): Use lighter-weight getcwd.
17345         * tests/test-renameat.c (main): Likewise.
17346         * modules/linkat-tests (Depends-on): Relax dependency.
17347         * modules/renameat-tests (Depends-on): Likewise.
17348         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
17349         dependency explicit.
17350
17351         save-cwd: reduce default dependency
17352         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
17353         * lib/save-cwd.c: Update comments.
17354         * NEWS: Document the semantic change.
17355
17356         getcwd: enhance tests
17357         * tests/test-getcwd-lgpl.c: New file, taken from...
17358         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
17359         repeat long path stress tests from m4 probe.
17360         * modules/getcwd-lgpl-tests: New module.
17361         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
17362         * m4/getcwd-abort-bug.m4: Update comment.
17363         * m4/getcwd-path-max.m4: Likewise.
17364
17365         getcwd-lgpl: new module
17366         * modules/getcwd-lgpl: New module.
17367         * lib/getcwd-lgpl.c: New file.
17368         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17369         * MODULES.html.sh (lacking POSIX:2008): Likewise.
17370         * modules/getcwd (configure.ac): Set C witness.
17371         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
17372
17373         getcwd: tweak comments
17374         * m4/getcwd-abort-bug.m4: Fix comments.
17375         * m4/getcwd-path-max.m4: Likewise.
17376         * m4/getcwd.m4: Likewise.
17377
17378 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17379         and Eric Blake  <eblake@redhat.com>
17380
17381         mkstemp: replace if system version uses wrong permissions
17382         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
17383         read/write mode bits set in file created by mkstemp.
17384         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
17385
17386 2011-04-27  Eric Blake  <eblake@redhat.com>
17387
17388         passfd: avoid compiler warning
17389         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
17390         Reported by Laine Stump.
17391
17392 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
17393
17394         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
17395         required by the NetBSD (and perhaps other 4.4BSD derived) join.
17396
17397 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17398         and Eric Blake  <eblake@redhat.com>
17399
17400         mkstemp: mention clean-temp module
17401         * lib/mkstemp.c: Add comment.
17402         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
17403
17404 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
17405
17406         inttypes: also provide default values for 32-bit tests
17407         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
17408         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
17409
17410 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
17411
17412         strtoumax: remove dependency on strtoimax
17413         This is like the strtoull change of yesterday.
17414         * modules/strtoumax (Files): Add lib/strtoimax.c.
17415         (Depends-on): Remove strtoimax and add verify.
17416
17417         inttypes-incomplete: new module
17418         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
17419         all but the PRI* and SCN* parts of gl_INTTYPES_H.
17420         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
17421         of gl_INTTYPES_H.
17422         (gl_INTTYPES_H): Rewrite in terms of these new macros.
17423         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
17424         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
17425         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
17426         * modules/strtoumax, modules/xstrtol (Depends-on):
17427         Depend on inttypes-incomplete, not inttypes.
17428         * modules/inttypes-incomplete: New module, containing the contents
17429         of the old modules/inttypes module, except that the Files: section
17430         omits m4/inttypes-pri.m4, and the configure.ac section invokes
17431         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
17432         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
17433         (Depends-on): Depend only on inttypes-incomplete.
17434         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
17435
17436         inttypes: omit now-redundant strtoimax and strtoumax work
17437         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
17438         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
17439
17440         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
17441         This supports apps that need pointers to strtoimax and strtoumax,
17442         and ports to HP-UX 11.00 64.bit, which has macros that expand to
17443         nonexistent functions.  See
17444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
17445         et seq.
17446         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
17447         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
17448         a macro.
17449         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17450
17451 2011-04-25  Simon Josefsson  <simon@josefsson.org>
17452
17453         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
17454
17455 2011-04-25  Bruno Haible  <bruno@clisp.org>
17456
17457         strtol, strtoul: Mark modules as obsolete.
17458         * modules/strtol (Status, Notice): New sections.
17459         * modules/strtoul (Status, Notice): New sections.
17460
17461 2011-04-25  Bruno Haible  <bruno@clisp.org>
17462
17463         strtod: Remove check for strtod, unless supporting old platforms.
17464         * modules/strtod-obsolete: New file.
17465         * m4/strtod-obsolete.m4: New file.
17466         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
17467         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
17468         * modules/strtod (Depends-on): Add strtod-obsolete.
17469         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
17470
17471 2011-04-25  Bruno Haible  <bruno@clisp.org>
17472
17473         strcase: Make module obsolete.
17474         * modules/strcase (Status, Notice): New sections.
17475
17476 2011-04-25  Bruno Haible  <bruno@clisp.org>
17477
17478         dup2: Remove check for dup2, unless supporting old obsolete platforms.
17479         * modules/dup2-obsolete: New file.
17480         * m4/dup2-obsolete.m4: New file.
17481         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
17482         gl_FUNC_DUP2_OBSOLETE is not also defined.
17483         * modules/dup2 (Depends-on): Add dup2-obsolete.
17484         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
17485
17486 2011-04-25  Bruno Haible  <bruno@clisp.org>
17487
17488         strnlen: Avoid memchr related link error on old obsolete platforms.
17489         * modules/memchr-obsolete: New file.
17490         * m4/memchr-obsolete.m4: New file.
17491         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
17492         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
17493         * modules/memchr (Depends-on): Add memchr-obsolete.
17494         * modules/strnlen (Depends-on): Likewise.
17495         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
17496
17497 2011-04-25  Jim Meyering  <meyering@redhat.com>
17498
17499         maint.mk: makefile_at_at_check extend and clean up
17500         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
17501         in addition to */Makefile.am.
17502         Exempt legitimate uses of @VAR@ notation, e.g.,
17503         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
17504         Remove obsolete coreutils-specific comment.
17505         Prompted by discussion here:
17506         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
17507
17508 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
17509
17510         strtoul: remove dependency on strtol
17511         This is so that 'configure' need not check for strtol merely because
17512         the application needs strtoul.
17513         * modules/strtoul (Files): Add lib/strtol.c.
17514         (Depends-on): Remove strtol.
17515
17516         strtoull: remove dependency on strtoul
17517         This is like the strtoll change.
17518         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
17519         (Depends-on): Remove strtoul.
17520
17521         strtoll: remove dependency on strtol
17522         This is so that 'configure' need not check for strtol merely because
17523         the application needs strtoll.
17524         * modules/strtoll (Files): Add lib/strtol.c.
17525         (Depends-on): Remove strtol.
17526
17527 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17528
17529         inttypes: Move some configure check to module 'imaxdiv'.
17530         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
17531         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
17532         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
17533
17534 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17535
17536         inttypes: Move some configure check to module 'imaxabs'.
17537         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
17538         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
17539         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
17540
17541 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17542
17543         inttypes: Remove configure tests that are not needed since 2009-12-31.
17544         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
17545         gl_cv_header_working_inttypes_h.
17546
17547 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17548
17549         * modules/strnlen (Depends-on): Remove memchr.
17550         The strnlen implementation doesn't need the memchr module's fixes; see
17551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
17552
17553         strtol: remove dependency on wchar
17554         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
17555         * modules/strtol (Depends-on): Remove wchar.
17556
17557 2011-04-21  Eric Blake  <eblake@redhat.com>
17558
17559         passfd: fix test regression on Linux
17560         * modules/passfd-tests (configure.ac): Correct socketpair check.
17561
17562         passfd: speed up configure and drop unused code
17563         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
17564         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
17565         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
17566         Instead of probing at configure for unix_scm_rights_bsd44_way,
17567         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
17568         check to a struct member probe.
17569         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
17570         (sendfd, recvfd): Update preprocessor checks.
17571         * modules/passfd (Files): Reflect rename, and drop unused file.
17572         (Depends-on): Drop unused dependency.
17573
17574         passfd: allow compilation on mingw
17575         * modules/sys_socket (Depends-on): Add sys_uio.
17576         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
17577         iovec and a minimal struct msghdr.
17578         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
17579         * tests/test-sys_socket.c (main): Enhance test.
17580         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
17581         guaranteed to provide what we need.
17582         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
17583         * modules/passfd-tests (Depends-on): Add sys_wait.
17584         * tests/test-passfd.c (main): Skip test on mingw, for now.
17585         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
17586         partial 'struct msghdr' implementation.
17587
17588         sys_uio: new module
17589         * modules/sys_uio: New module.
17590         * modules/sys_uio-tests: Likewise.
17591         * lib/sys_uio.in.h: New file.
17592         * m4/sys_uio_h.m4: Likewise.
17593         * tests/test-sys_uio.c: Likewise.
17594         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
17595         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
17596
17597 2011-04-20  Jim Meyering  <meyering@redhat.com>
17598
17599         useless-if-before-free: avoid false-positive
17600         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
17601         disjunct so that it too requires a terminating ";".  Without that,
17602         this script would identify as useless one statement from gcc that
17603         was not:
17604           if (aligned_ptr)
17605             free (((void **) aligned_ptr) [-1]);
17606
17607 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
17608
17609         doc: update users.txt.
17610         * users.txt: Add barcode.
17611
17612 2011-04-19  Bruno Haible  <bruno@clisp.org>
17613
17614         ioctl: Remove link dependency on native Windows.
17615         * lib/fd-hook.h: Renamed from lib/close-hook.h.
17616         (gl_close_fn, gl_ioctl_fn): New types.
17617         (struct fd_hook): Renamed from struct close_hook. Change type of
17618         private_close_fn field. Add private_ioctl_fn field.
17619         (close_hook_fn): Add parameter for primary close method.
17620         (execute_close_hooks, execute_all_close_hooks): Likewise.
17621         (ioctl_hook_fn): New type.
17622         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
17623         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17624         argument.
17625         (unregister_fd_hook): Renamed from unregister_close_hook.
17626         * lib/fd-hook.c: Renamed from lib/close-hook.c.
17627         Don't include <unistd.h>.
17628         (close): Remove undef.
17629         (anchor): Update.
17630         (execute_close_hooks): Add argument for primary close method.
17631         (execute_all_close_hooks): Likewise.
17632         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
17633         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17634         argument. Allow each argument to be NULL.
17635         (unregister_fd_hook): Renamed from unregister_close_hook.
17636         * lib/close.c (rpl_close): Pass 'close' function pointer to
17637         execute_all_close_hooks.
17638         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
17639         (primary_ioctl): New function.
17640         (ioctl): Don't call ioctlsocket here. Instead, call
17641         execute_all_ioctl_hooks.
17642         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
17643         close method.
17644         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
17645         (fd_sockets_hook): Renamed from close_sockets_hook.
17646         (gl_sockets_startup, gl_sockets_cleanup): Update.
17647         * modules/fd-hook: Renamed from modules/close-hook. Update.
17648         * modules/close (Depends-on): Add fd-hook, remove close-hook.
17649         * modules/sockets (Depends-on): Likewise.
17650         * modules/ioctl (Depends-on): Add fd-hook.
17651         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
17652         GNULIB_SOCKET.
17653
17654 2011-04-19  Bruno Haible  <bruno@clisp.org>
17655
17656         Move the support of O_NONBLOCK in open() to the 'open' module.
17657         * modules/nonblocking (Depends-on): Remove 'open'.
17658         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
17659         gl_cv_have_open_O_NONBLOCK.
17660         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
17661         O_NONBLOCK support.
17662         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
17663
17664 2011-04-17  Bruno Haible  <bruno@clisp.org>
17665
17666         pipe2: Simplify code.
17667         * lib/pipe2.c (pipe2): Reduce code duplication.
17668
17669 2011-04-17  Bruno Haible  <bruno@clisp.org>
17670
17671         nonblocking: Add comment.
17672         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
17673
17674 2011-04-17  Bruno Haible  <bruno@clisp.org>
17675
17676         nonblocking: Add tests for sockets.
17677         * tests/test-nonblocking-socket.sh: New file.
17678         * tests/test-nonblocking-socket-main.c: New file.
17679         * tests/test-nonblocking-socket-child.c: New file.
17680         * tests/test-nonblocking-socket.h: New file.
17681         * tests/socket-server.h: New file.
17682         * tests/socket-client.h: New file.
17683         * modules/nonblocking-socket-tests: New file.
17684         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
17685
17686 2011-04-17  Bruno Haible  <bruno@clisp.org>
17687
17688         nonblocking: Add tests for pipes.
17689         * tests/test-nonblocking-pipe.sh: New file.
17690         * tests/test-nonblocking-pipe-main.c: New file.
17691         * tests/test-nonblocking-pipe-child.c: New file.
17692         * tests/test-nonblocking-pipe.h: New file.
17693         * tests/test-nonblocking-writer.h: New file.
17694         * tests/test-nonblocking-reader.h: New file.
17695         * tests/test-nonblocking-misc.h: New file.
17696         * modules/nonblocking-pipe-tests: New file.
17697         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
17698
17699 2011-04-16  Bruno Haible  <bruno@clisp.org>
17700
17701         gettext: Clarify the needed programmer actions.
17702         * modules/gettext (Notice): New field.
17703         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
17704
17705 2011-04-16  Bruno Haible  <bruno@clisp.org>
17706
17707         strchrnul: Tweak last commit.
17708         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
17709         bug.
17710         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
17711         as in _GL_FUNCDECL_SYS.
17712         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
17713         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
17714
17715 2011-04-15  Eric Blake  <eblake@redhat.com>
17716
17717         strchrnul: work around cygwin bug
17718         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
17719         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
17720         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
17721         * modules/string (Makefile.am): Substitute it.
17722         * lib/string.in.h (strchrnul): Use it.
17723
17724 2011-04-15  Bruno Haible  <bruno@clisp.org>
17725
17726         Don't require lib/stdio-write.c when only module 'stdio' is used.
17727         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
17728         invocation.
17729         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
17730
17731 2011-04-14  Bruno Haible  <bruno@clisp.org>
17732
17733         Support non-blocking pipe I/O in read() on native Windows.
17734         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
17735         (read): New declaration.
17736         * lib/read.c: New file.
17737         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
17738         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
17739         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
17740         vscanf): New declarations.
17741         * lib/stdio-read.c: New file.
17742         * m4/read.m4: New file.
17743         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
17744         REPLACE_READ.
17745         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
17746         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17747         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
17748         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
17749         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
17750         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17751         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17752         * modules/read: New file.
17753         * modules/nonblocking (Files): Add lib/stdio-read.c.
17754         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
17755         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
17756         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17757         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17758         * modules/pread (Depends-on): Add read.
17759         * modules/safe-read (Depends-on): Likewise.
17760         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
17761         gets, scanf, vfscanf, vscanf): Verify signatures.
17762         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
17763         problem with non-blocking pipes.
17764         * doc/posix-functions/fgetc.texi: Likewise.
17765         * doc/posix-functions/fgets.texi: Likewise.
17766         * doc/posix-functions/fread.texi: Likewise.
17767         * doc/posix-functions/fscanf.texi: Likewise.
17768         * doc/posix-functions/getc.texi: Likewise.
17769         * doc/posix-functions/getchar.texi: Likewise.
17770         * doc/posix-functions/gets.texi: Likewise.
17771         * doc/posix-functions/scanf.texi: Likewise.
17772         * doc/posix-functions/vfscanf.texi: Likewise.
17773         * doc/posix-functions/vscanf.texi: Likewise.
17774
17775 2011-04-14  Bruno Haible  <bruno@clisp.org>
17776
17777         Support non-blocking pipe I/O in write() on native Windows.
17778         * lib/write.c (rpl_write): Split a write request that failed merely
17779         because the byte count was larger than the pipe buffer's size.
17780         * doc/posix-functions/write.texi: Mention the problem with large byte
17781         counts.
17782
17783 2011-04-14  Bruno Haible  <bruno@clisp.org>
17784
17785         wchar: Ensure that wchar_t gets defined on uClibc.
17786         * lib/wchar.in.h: On uClibc, include <stddef.h>.
17787         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
17788
17789 2011-04-13  Bruno Haible  <bruno@clisp.org>
17790
17791         safe-write, full-read: Avoid unnecessary compilation units.
17792         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
17793         (Depends-on): Remove safe-read. Add ssize_t.
17794         * modules/full-read (Files): Add lib/full-write.c.
17795         (Depends-on): Add full-write.
17796
17797 2011-04-13  Bruno Haible  <bruno@clisp.org>
17798
17799         Support non-blocking pipe I/O and SIGPIPE in pwrite().
17800         * modules/pwrite (Depends-on): Add 'write'.
17801
17802 2011-04-13  Bruno Haible  <bruno@clisp.org>
17803
17804         Support non-blocking pipe I/O in write() on native Windows.
17805         * lib/unistd.in.h (write): Enable replacement also if
17806         GNULIB_UNISTD_H_NONBLOCKING is 1.
17807         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
17808         (rpl_write): When failing to write on a non-blocking pipe, change
17809         errno from ENOSPC to EAGAIN.
17810         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
17811         putchar, puts, vfprintf, vprintf): Enable replacement also if
17812         GNULIB_STDIO_H_NONBLOCKING is 1.
17813         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
17814         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
17815         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
17816         CALL_WITH_SIGPIPE_EMULATION.
17817         (CALL_WITH_SIGPIPE_EMULATION): Use them.
17818         * m4/nonblocking.m4: New file.
17819         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
17820         for non-blocking I/O support.
17821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17822         GNULIB_UNISTD_H_NONBLOCKING.
17823         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
17824         required for non-blocking I/O support.
17825         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
17826         * modules/nonblocking (Files): Add m4/nonblocking.m4,
17827         lib/stdio-write.c, m4/asm-underscore.m4.
17828         (Depends-on): Add stdio, unistd.
17829         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
17830         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
17831         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
17832         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
17833         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
17834         problem with non-blocking pipes.
17835         * doc/posix-functions/fputc.texi: Likewise.
17836         * doc/posix-functions/fputs.texi: Likewise.
17837         * doc/posix-functions/fwrite.texi: Likewise.
17838         * doc/posix-functions/printf.texi: Likewise.
17839         * doc/posix-functions/putc.texi: Likewise.
17840         * doc/posix-functions/putchar.texi: Likewise.
17841         * doc/posix-functions/puts.texi: Likewise.
17842         * doc/posix-functions/vfprintf.texi: Likewise.
17843         * doc/posix-functions/vprintf.texi: Likewise.
17844         * doc/posix-functions/write.texi: Likewise.
17845
17846 2011-04-10  Jim Meyering  <meyering@redhat.com>
17847
17848         maint.mk: prohibit doubled words
17849         Detect them also when they're separated by a newline.
17850         There are 3 ways to customize it:
17851           - disable the test on a per file basis, as usual with rules using
17852             $(VC_LIST_EXCEPT)
17853           - replace the default doubled-word-selecting regexp (affects all files)
17854           - ignore a particular file-vs-doubled-word match
17855         I nearly used that last one to ignore the "is is" match in
17856         coreutils' NEWS file, since the text was "ls -is is ..."
17857         To do that, I would have added this line to cfg.mk:
17858           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
17859         but it would have ignored any "is is" match in NEWS.
17860         Low probability, but still...
17861         Instead, I changed the text, slightly:
17862           -  ls -is is now consistent with ls -lis in ignoring values returned
17863           +  "ls -is" is now consistent with ls -lis in ignoring values returned
17864         * top/maint.mk (prohibit_double_word_RE_): Provide default.
17865         (prohibit_doubled_word_): Define.
17866         (sc_prohibit_doubled_word): New rule.
17867         (sc_prohibit_the_the): Remove.  Subsumed by the above.
17868
17869 2011-04-10  Jim Meyering  <meyering@redhat.com>
17870
17871         maint: fix doubled-word typo in comment
17872         * m4/gethostname.m4: s/is is/it is/
17873         * m4/getdomainname.m4: Likewise.
17874
17875 2011-04-10  Jim Meyering  <meyering@redhat.com>
17876
17877         maint: remove doubled word: s/it it/it/
17878         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
17879
17880 2011-04-10  Jim Meyering  <meyering@redhat.com>
17881
17882         maint.mk: remove useless semicolon and backslash
17883         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
17884         semicolon and backslash.
17885
17886 2011-04-10  Bruno Haible  <bruno@clisp.org>
17887
17888         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
17889         * modules/stdint-tests (Depends-on): Add wchar.
17890
17891 2011-04-10  Jim Meyering  <meyering@redhat.com>
17892
17893         maint: remove doubled words in comments, e.g., s/a a/a/
17894         * lib/strptime.c (day_of_the_week): s/the the/the/
17895         * tests/test-chown.h (test_chown): s/a a/a/
17896
17897         test-chown.h: correct a cast
17898         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
17899         when the destination is a stat.st_gid.
17900
17901 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
17902
17903         getaddrinfo: Fix test for sa_len member.
17904         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
17905         include <sys/types.h> before <sys/socket.h>.
17906
17907 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17908
17909         maint: change "can not" to "cannot"
17910         * doc/posix-functions/iconv.texi (iconv): This one crossed line
17911         boundaries.
17912
17913 2011-04-09  Jim Meyering  <meyering@redhat.com>
17914
17915         maint: change "a a" to "a"
17916         * tests/test-lchown.h (test_lchown): s/a a/a/
17917
17918         maint.mk: prohibit \<the the\>
17919         * top/maint.mk (sc_prohibit_the_the): New rule.
17920
17921         maint: fix "the the" in comment
17922         * lib/count-one-bits.h: s/the the/the/
17923
17924         maint: change "can not" to "cannot"
17925         But do not change the occurrences in maintain.texi or in
17926         build-aux/po/Makefile.in.in, which I presume comes from gettext.
17927         * doc/gnulib-tool.texi: s/can not/cannot/
17928         * doc/posix-functions/accept.texi (accept): Likewise.
17929         * doc/posix-functions/socket.texi (socket): Likewise.
17930         * lib/mbrtowc.c: Likewise.
17931
17932         maint.mk: prohibit use of "can not"
17933         * top/maint.mk (sc_prohibit_can_not): New rule.
17934         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
17935
17936 2011-04-09  Bruno Haible  <bruno@clisp.org>
17937
17938         careadlinkat: Guard against misuse of careadlinkatcwd.
17939         * lib/careadlinkat.c: Include <stdlib.h>.
17940         (careadlinkatcwd): Check that the fd argument is as expected.
17941
17942 2011-04-09  Bruno Haible  <bruno@clisp.org>
17943
17944         careadlinkat: Use common coding style.
17945         * lib/careadlinkat.c: Move gnulib includes after system includes.
17946
17947 2011-04-09  Bruno Haible  <bruno@clisp.org>
17948
17949         careadlinkat: Clarify specification.
17950         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
17951         (careadlinkatcwd): Add comment.
17952         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
17953
17954 2011-04-09  Bruno Haible  <bruno@clisp.org>
17955
17956         areadlinkat: Avoid link error on many platforms.
17957         * modules/areadlinkat (Depends-on): Add areadlink.
17958
17959 2011-04-09  Bruno Haible  <bruno@clisp.org>
17960
17961         allocator, careadlinkat: Fix double-inclusion guard.
17962         * lib/allocator.h: Fix double-inclusion guard.
17963         * lib/careadlinkat.h: Likewise.
17964
17965 2011-04-09  Bruno Haible  <bruno@clisp.org>
17966
17967         relocatable-prog-wrapper: Update after module 'areadlink' changed.
17968         * lib/relocwrapper.c: Update dependencies hierarchy.
17969         * build-aux/install-reloc: Update list of files to be compiled.
17970         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
17971         lib/allocator.[hc].
17972
17973 2011-04-08  Eric Blake  <eblake@redhat.com>
17974
17975         strftime: silence gnulib-tool warning
17976         * modules/strftime-tests (Depends-on): Drop automatic dependency.
17977
17978 2011-04-08  Bruno Haible  <bruno@clisp.org>
17979
17980         verify: Fix syntax error with GCC 4.6 in C++ mode.
17981         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
17982         (HAVE_STATIC_ASSERT): New macro.
17983         (verify_true, verify): Use 'static_assert' if it is supported and
17984         '_Static_assert' is not supported.
17985
17986 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
17987
17988         allocator: New module.
17989         * modules/allocator, lib/allocator.c: New files.
17990         * lib/allocator.h (stdlib_allocator): New decl.
17991         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
17992         Remove.  Do not include <stdlib.h>.
17993         (careadlinkat): Use stdlib_allocator instead of rolling our own.
17994         * modules/careadlinkat (Files): Remove lib/allocator.h.
17995         (Depends-on): Add allocator.
17996
17997         stdlib: let modules use system malloc, realloc
17998         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
17999         if !_GL_USE_STDLIB_ALLOC.
18000         (malloc, realloc): Limit this change to a smaller scope.
18001
18002         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18003         (malloc, realloc): Don't #undef; no longer needed.
18004         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18005         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18006         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18007         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18008         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18009         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18010         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18011         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18012
18013         careadlinkat: rename members to avoid problem
18014         * lib/allocator.h (struct allocator): Rename members from
18015         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18016         and realloc are #define'd.  Reported by Eric Blake in
18017         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18018         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18019
18020 2011-04-08  Eric Blake  <eblake@redhat.com>
18021
18022         nonblocking: reduce dependency
18023         * tests/test-nonblocking.c: Only test sockets when in use.
18024         * modules/nonblocking-tests (Depends-on): Drop socket.
18025         (Makefile.am): Link even if sockets are not present.
18026         * modules/pipe2-tests (Makefile.am): Likewise.
18027         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18028
18029         pipe2: fix O_NONBLOCK support on mingw
18030         * modules/pipe2 (Depends-on): Add nonblocking.
18031         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18032         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18033         * tests/test-nonblocking.c (main): Likewise.
18034         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18035
18036         fcntl-h: fix O_ACCMODE on cygwin
18037         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18038         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18039
18040         pipe-filter: drop O_NONBLOCK workarounds
18041         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18042         * modules/pipe-filter-ii (Depends-on): Likewise.
18043         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18044
18045         nonblocking: provide O_NONBLOCK for mingw
18046         * modules/nonblocking (Depends-on): Add open.
18047         (configure.ac): Set new witness macro.
18048         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18049         * modules/fcntl-h (Makefile.am): Substitute it.
18050         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18051         nonblocking module is in use.
18052         * lib/nonblocking.c: Adjust portability test.
18053         * lib/open.c (open): Don't let native open see gnulib flag.
18054         * tests/test-fcntl-h.c (main): Enhance test.
18055         * tests/test-open.h (test_open): Likewise.
18056         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18057
18058         careadlinkat: fix compilation error on mingw
18059         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18060         within struct allocator.
18061
18062 2011-04-06  Eric Blake  <eblake@redhat.com>
18063
18064         binary-io: relicense under LGPLv2+
18065         * modules/binary-io (License): Relax to LGPLv2+.
18066         Requested for libvirt, and required by pipe2.
18067
18068 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18069
18070         verify: use _Static_assert if available
18071         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18072         (verify_true, verify): Use it if available.  This generates better
18073         diagnostics with GCC 4.6.0 and later.
18074
18075 2011-04-05  Bruno Haible  <bruno@clisp.org>
18076
18077         Remove leftover generated .h files after config.status changed.
18078
18079         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18080         GL_GENERATE_ALLOCA_H.
18081         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18082         GL_GENERATE_ALLOCA_H evaluates to false.
18083
18084         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18085         GL_GENERATE_ARGZ_H.
18086         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18087         evaluates to false.
18088
18089         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18090         GL_GENERATE_BYTESWAP_H.
18091         * modules/byteswap (Makefile.am): Remove byteswap.h if
18092         GL_GENERATE_BYTESWAP_H evaluates to false.
18093
18094         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
18095         GL_GENERATE_ERRNO_H.
18096         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
18097         evaluates to false.
18098
18099         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
18100         GL_GENERATE_FLOAT_H.
18101         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
18102         evaluates to false.
18103
18104         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
18105         GL_GENERATE_FNMATCH_H.
18106         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
18107         GL_GENERATE_FNMATCH_H evaluates to false.
18108
18109         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
18110         GL_GENERATE_GLOB_H.
18111         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
18112         evaluates to false.
18113
18114         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
18115         automake conditional GL_GENERATE_ICONV_H.
18116         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
18117         evaluates to false.
18118
18119         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
18120         GL_GENERATE_NETINET_IN_H.
18121         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
18122         GL_GENERATE_NETINET_IN_H evaluates to false.
18123
18124         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
18125         conditional GL_GENERATE_PTHREAD_H.
18126         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
18127         * modules/pthread (Makefile.am): Remove pthread.h if
18128         GL_GENERATE_PTHREAD_H evaluates to false.
18129
18130         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
18131         GL_GENERATE_SCHED_H.
18132         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
18133         evaluates to false.
18134
18135         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
18136         conditional GL_GENERATE_SELINUX_CONTEXT_H.
18137         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
18138         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
18139
18140         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
18141         GL_GENERATE_STDARG_H.
18142         * modules/stdarg (Makefile.am): Remove stdarg.h if
18143         GL_GENERATE_STDARG_H evaluates to false.
18144
18145         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
18146         GL_GENERATE_STDBOOL_H.
18147         * modules/stdbool (Makefile.am): Remove stdbool.h if
18148         GL_GENERATE_STDBOOL_H evaluates to false.
18149
18150         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
18151         conditional GL_GENERATE_STDDEF_H.
18152         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
18153         * modules/stddef (Makefile.am): Remove stddef.h if
18154         GL_GENERATE_STDDEF_H evaluates to false.
18155
18156         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
18157         GL_GENERATE_STDINT_H.
18158         * modules/stdint (Makefile.am): Remove stdint.h if
18159         GL_GENERATE_STDINT_H evaluates to false.
18160
18161         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
18162         GL_GENERATE_SYSEXITS_H.
18163         * modules/sysexits (Makefile.am): Remove sysexits.h if
18164         GL_GENERATE_SYSEXITS_H evaluates to false.
18165
18166         Reported by Karl Berry and Ralf Wildenhues.
18167
18168 2011-04-05  Bruno Haible  <bruno@clisp.org>
18169
18170         Ensure to rebuild generated .h files when config.status has changed.
18171         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
18172         config.status.
18173         * modules/ctype (Makefile.am): Likewise.
18174         * modules/dirent (Makefile.am): Likewise.
18175         * modules/errno (Makefile.am): Likewise.
18176         * modules/fcntl-h (Makefile.am): Likewise.
18177         * modules/float (Makefile.am): Likewise.
18178         * modules/getopt-posix (Makefile.am): Likewise.
18179         * modules/glob (Makefile.am): Likewise.
18180         * modules/iconv-h (Makefile.am): Likewise.
18181         * modules/inttypes (Makefile.am): Likewise.
18182         * modules/langinfo (Makefile.am): Likewise.
18183         * modules/locale (Makefile.am): Likewise.
18184         * modules/math (Makefile.am): Likewise.
18185         * modules/netdb (Makefile.am): Likewise.
18186         * modules/netinet_in (Makefile.am): Likewise.
18187         * modules/poll-h (Makefile.am): Likewise.
18188         * modules/pthread (Makefile.am): Likewise.
18189         * modules/pty (Makefile.am): Likewise.
18190         * modules/sched (Makefile.am): Likewise.
18191         * modules/search (Makefile.am): Likewise.
18192         * modules/selinux-h (Makefile.am): Likewise.
18193         * modules/signal (Makefile.am): Likewise.
18194         * modules/spawn (Makefile.am): Likewise.
18195         * modules/stdarg (Makefile.am): Likewise.
18196         * modules/stdbool (Makefile.am): Likewise.
18197         * modules/stddef (Makefile.am): Likewise.
18198         * modules/stdint (Makefile.am): Likewise.
18199         * modules/stdio (Makefile.am): Likewise.
18200         * modules/stdlib (Makefile.am): Likewise.
18201         * modules/string (Makefile.am): Likewise.
18202         * modules/strings (Makefile.am): Likewise.
18203         * modules/sys_file (Makefile.am): Likewise.
18204         * modules/sys_ioctl (Makefile.am): Likewise.
18205         * modules/sys_select (Makefile.am): Likewise.
18206         * modules/sys_socket (Makefile.am): Likewise.
18207         * modules/sys_stat (Makefile.am): Likewise.
18208         * modules/sys_time (Makefile.am): Likewise.
18209         * modules/sys_times (Makefile.am): Likewise.
18210         * modules/sys_utsname (Makefile.am): Likewise.
18211         * modules/sys_wait (Makefile.am): Likewise.
18212         * modules/sysexits (Makefile.am): Likewise.
18213         * modules/termios (Makefile.am): Likewise.
18214         * modules/time (Makefile.am): Likewise.
18215         * modules/unistd (Makefile.am): Likewise.
18216         * modules/wchar (Makefile.am): Likewise.
18217         * modules/wctype-h (Makefile.am): Likewise.
18218         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
18219
18220 2011-04-05  Bruno Haible  <bruno@clisp.org>
18221
18222         pipe2: Relicense under LGPLv2+.
18223         * modules/pipe2 (License): Change to LGPLv2+.
18224         Requested by Eric Blake, for libvirt.
18225
18226 2011-04-05  Bruce Korb  <bkorb@gnu.org>
18227
18228         bootstrap: compute gnulib_extra_files after updating build_aux
18229         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
18230         change build_aux or also supply gnulib_extra_files.  Handle correctly.
18231
18232 2011-04-05  Eric Blake  <eblake@redhat.com>
18233
18234         bootstrap: preserve git whitelist item sorting
18235         * build-aux/bootstrap (sort_patterns): New function.
18236         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
18237
18238 2011-04-05  Simon Josefsson  <simon@josefsson.org>
18239
18240         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
18241         sc_space_tab check.
18242
18243 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18244
18245         areadlink, areadlinkat: rewrite in terms of careadlinkat
18246         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
18247         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
18248         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
18249         (malloc, realloc): Remove #undefs.
18250         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
18251         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
18252         readlink, ssize_t, stdint, unistd.
18253         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
18254         areadlink, stdint.
18255
18256         careadlinkat: new module
18257         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
18258         * modules/careadlinkat: New files, written by me with
18259         a review and feedback from Ben Pfaff in
18260         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
18261
18262 2011-04-01  Bruno Haible  <bruno@clisp.org>
18263
18264         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
18265         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
18266         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
18267         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
18268         Reported by Bruce Korb <bruce.korb@gmail.com>.
18269
18270 2011-04-01  Bruno Haible  <bruno@clisp.org>
18271
18272         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
18273         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
18274         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
18275         * modules/wcpcpy (Depends-on): Add extensions.
18276         * modules/wcpncpy (Depends-on): Likewise.
18277         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
18278         systems.
18279         * doc/posix-functions/wcpncpy.texi: Likewise.
18280         * doc/posix-functions/wcwidth.texi: Likewise.
18281
18282 2011-03-31  Eric Blake  <eblake@redhat.com>
18283
18284         nonblocking: fix mingw test failures
18285         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
18286         non-blocking flag on regular file.
18287         (get_nonblocking_flag): Set errno on invalid fd.
18288         * tests/test-nonblocking.c (main): Avoid test failure on
18289         directories if fchdir is not active.
18290         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
18291
18292 2011-03-31  Bruno Haible  <bruno@clisp.org>
18293
18294         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
18295         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
18296         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
18297         Reported by Simon Josefsson <simon@josefsson.org>.
18298
18299 2011-03-31  Bruno Haible  <bruno@clisp.org>
18300         and Eric Blake  <eblake@redhat.com>
18301
18302         nonblocking: new module
18303         * modules/nonblocking: New module.
18304         * modules/nonblocking-tests: Likewise.
18305         * lib/nonblocking.h: New file.
18306         * lib/nonblocking.c: Likewise.
18307         * tests/test-nonblocking.c: New test.
18308         * lib/ioctl.c (ioctl) [mingw]: Update comment.
18309
18310 2011-03-30  Bruno Haible  <bruno@clisp.org>
18311
18312         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
18313         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
18314         instead of 'printf' format for GCC >= 4.4.
18315         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
18316         (fprintf, printf, vfprintf, vprintf): Declare with
18317         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
18318         the system's vfprintf() function.
18319         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
18320
18321 2011-03-30  Eric Blake  <eblake@redhat.com>
18322
18323         passfd: fix scoping bug
18324         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
18325         before sendmsg/recvmsg.
18326
18327         passfd: standardize coding conventions
18328         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
18329         can be learned at compile time.
18330         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
18331         ifdefs.
18332         (sendfd, recvfd): Follow gnulib code conventions.
18333
18334         passfd: fix incorrect sendmsg arguments
18335         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
18336         incorrect msg_controllen value.
18337         * modules/passfd-tests (Depends-on): Check for alarm.
18338         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
18339         Reported by Bastien ROUCARIES.
18340
18341 2011-03-30  Bruno Haible  <bruno@clisp.org>
18342
18343         c-strcasestr: Relicense under LGPLv2+.
18344         * modules/c-strcasestr (License): Change to LGPLv2+.
18345         Requested by Eric Blake, for libvirt.
18346
18347 2011-03-30  Simon Josefsson  <simon@josefsson.org>
18348
18349         * users.txt: Add libidn2.  Fix libtasn1 link.
18350
18351 2011-03-30  Jim Meyering  <meyering@redhat.com>
18352
18353         tests: readlink* ("",... fails with EINVAL on newer kernels
18354         readlink and readlinkat have typically failed with ENOENT for
18355         the invalid, empty file name,  "".  However, with the advent
18356         of linux-2.6.39, they fail with EINVAL.
18357         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
18358         when operating on the empty file name.
18359         * tests/test-readlink.h (test_readlink): Likewise.
18360
18361 2011-03-29  Bruno Haible  <bruno@clisp.org>
18362
18363         Relicense some modules under LGPLv2+, for libidn2.
18364         * modules/array-mergesort (License): Change to LGPLv2+.
18365         * modules/c-strcaseeq (License): Likewise.
18366         * modules/striconveh (License): Likewise.
18367         * modules/striconveha (License): Likewise.
18368         * modules/uniconv/base (License): Likewise.
18369         * modules/uniconv/u8-conv-from-enc (License): Likewise.
18370         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
18371         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
18372         * modules/unictype/base (License): Likewise.
18373         * modules/unictype/bidiclass-of (License): Likewise.
18374         * modules/unictype/category-M (License): Likewise.
18375         * modules/unictype/category-none (License): Likewise.
18376         * modules/unictype/category-of (License): Likewise.
18377         * modules/unictype/category-test (License): Likewise.
18378         * modules/unictype/category-test-withtable (License): Likewise.
18379         * modules/unictype/combining-class (License): Likewise.
18380         * modules/unictype/joiningtype-of (License): Likewise.
18381         * modules/unictype/scripts (License): Likewise.
18382         * modules/uninorm/base (License): Likewise.
18383         * modules/uninorm/canonical-decomposition (License): Likewise.
18384         * modules/uninorm/composition (License): Likewise.
18385         * modules/uninorm/decompose-internal (License): Likewise.
18386         * modules/uninorm/decomposition-table (License): Likewise.
18387         * modules/uninorm/nfc (License): Likewise.
18388         * modules/uninorm/nfd (License): Likewise.
18389         * modules/uninorm/u32-normalize (License): Likewise.
18390         * modules/unistr/base (License): Likewise.
18391         * modules/unistr/u32-cpy (License): Likewise.
18392         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
18393         * modules/unistr/u32-to-u8 (License): Likewise.
18394         * modules/unistr/u32-uctomb (License): Likewise.
18395         * modules/unistr/u8-check (License): Likewise.
18396         * modules/unistr/u8-mblen (License): Likewise.
18397         * modules/unistr/u8-mbtouc (License): Likewise.
18398         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
18399         * modules/unistr/u8-mbtoucr (License): Likewise.
18400         * modules/unistr/u8-prev (License): Likewise.
18401         * modules/unistr/u8-strlen (License): Likewise.
18402         * modules/unistr/u8-to-u32 (License): Likewise.
18403         * modules/unistr/u8-uctomb (License): Likewise.
18404         * modules/unitypes (License): Likewise.
18405         Requested by Simon Josefsson.
18406
18407 2011-03-29  Simon Josefsson  <simon@josefsson.org>
18408
18409         lib-symbol-visibility: Add a notice.
18410         * modules/lib-symbol-visibility (Notice): New field.
18411
18412 2011-03-29  Bruno Haible  <bruno@clisp.org>
18413
18414         getaddrinfo: Doc fix.
18415         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
18416         section "fixed in Gnulib".
18417
18418 2011-03-28  Simon Josefsson  <simon@josefsson.org>
18419
18420         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
18421         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
18422
18423 2011-03-26  Bruno Haible  <bruno@clisp.org>
18424
18425         unictype/property-byname: Reduce the number of load-time relocations.
18426         * lib/unictype/pr_byname.c: Include <stdlib.h>.
18427         (UC_PROPERTY_INDEX_*): New enumeration values.
18428         (uc_property_byname): Convert an index from the lookup table to an
18429         uc_property_t.
18430         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
18431         values.
18432
18433 2011-03-26  Bruno Haible  <bruno@clisp.org>
18434
18435         unictype/property-byname: Allow omitted word separators and aliases.
18436         * lib/unictype/pr_byname.gperf: Add property names without word
18437         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
18438         for 'space'.
18439
18440 2011-03-26  Bruno Haible  <bruno@clisp.org>
18441
18442         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
18443         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
18444         also hyphens to space.
18445         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
18446         without spaces.
18447         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
18448
18449 2011-03-26  Bruno Haible  <bruno@clisp.org>
18450
18451         unictype/joiningtype-byname: Recognize long names as well.
18452         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
18453         a long name.
18454         * lib/unictype/joiningtype_byname.c: Include <string.h>,
18455         unictype/joiningtype_byname.h.
18456         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
18457         * lib/unictype/joiningtype_byname.gperf: New file.
18458         * modules/unictype/joiningtype-byname (Files): Add
18459         lib/unictype/joiningtype_byname.gperf.
18460         (Depends-on): Add gperf.
18461         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
18462         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
18463         long names.
18464
18465         Tests for module 'unictype/joiningtype-longname'.
18466         * modules/unictype/joiningtype-longname-tests: New file.
18467         * tests/unictype/test-joiningtype_longname.c: New file.
18468
18469         New module 'unictype/joiningtype-longname'.
18470         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
18471         * lib/unictype/joiningtype_longname.c: New file.
18472         * modules/unictype/joiningtype-longname: New file.
18473         * modules/unictype/joiningtype-all (Depends-on): Add
18474         unictype/joiningtype-longname.
18475
18476 2011-03-26  Bruno Haible  <bruno@clisp.org>
18477
18478         unictype/bidiclass-byname: Recognize long names as well.
18479         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
18480         name.
18481         * lib/unictype/bidi_byname.c: Include <string.h>,
18482         unictype/bidi_byname.h.
18483         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
18484         * lib/unictype/bidi_byname.gperf: New file.
18485         * modules/unictype/bidiclass-byname (Files): Add
18486         lib/unictype/bidi_byname.gperf.
18487         (Depends-on): Add gperf.
18488         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
18489         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
18490         long names.
18491
18492         Tests for module 'unictype/bidiclass-longname'.
18493         * modules/unictype/bidiclass-longname-tests: New file.
18494         * tests/unictype/test-bidi_longname.c: New file.
18495
18496         New module 'unictype/bidiclass-longname'.
18497         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
18498         * lib/unictype/bidi_longname.c: New file.
18499         * modules/unictype/bidiclass-longname: New file.
18500         * modules/unictype/bidiclass-all (Depends-on): Add
18501         unictype/bidiclass-longname.
18502
18503 2011-03-26  Bruno Haible  <bruno@clisp.org>
18504
18505         unictype/bidi*: Rename modules.
18506         * modules/unictype/bidiclass-all: Renamed from
18507         modules/unictype/bidicategory-all.
18508         * modules/unictype/bidiclass-name: Renamed from
18509         modules/unictype/bidiclass-name.
18510         (Description): Update.
18511         * modules/unictype/bidiclass-name-tests: Renamed from
18512         modules/unictype/bidicategory-name-tests.
18513         * modules/unictype/bidiclass-byname: Renamed from
18514         modules/unictype/bidicategory-byname.
18515         (Description): Update.
18516         * modules/unictype/bidiclass-byname-tests: Renamed from
18517         modules/unictype/bidicategory-byname-tests.
18518         * modules/unictype/bidiclass-of: Renamed from
18519         modules/unictype/bidicategory-of.
18520         (Description): Update.
18521         * modules/unictype/bidiclass-of-tests: Renamed from
18522         modules/unictype/bidicategory-of-tests.
18523         * modules/unictype/bidiclass-test: Renamed from
18524         modules/unictype/bidicategory-test.
18525         (Description): Update.
18526         * modules/unictype/bidiclass-test-tests: Renamed from
18527         modules/unictype/bidicategory-test-tests.
18528         * modules/unictype/bidicategory-all: New file, a simple redirection.
18529         * modules/unictype/bidicategory-name: Likewise.
18530         * modules/unictype/bidicategory-byname: Likewise.
18531         * modules/unictype/bidicategory-of: Likewise.
18532         * modules/unictype/bidicategory-test: Likewise.
18533         * modules/unictype/property-bidi-* (Dependencies): Update.
18534         * lib/unictype/bidi_*.c: Update comment.
18535
18536 2011-03-26  Bruno Haible  <bruno@clisp.org>
18537
18538         unictype/bidi*: Rename functions, part 2.
18539         * modules/unictype/bidicategory-name (configure.ac): Update required
18540         libunistring version.
18541         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
18542
18543 2011-03-25  Bruno Haible  <bruno@clisp.org>
18544
18545         New module 'unictype/combining-class-all'.
18546         * modules/unictype/combining-class-all: New file.
18547
18548         Tests for module 'unictype/combining-class-byname'.
18549         * modules/unictype/combining-class-byname-tests: New file.
18550         * tests/unictype/test-combiningclass_byname.c: New file.
18551
18552         New module 'unictype/combining-class-byname'.
18553         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
18554         * lib/unictype/combiningclass_byname.c: New file.
18555         * lib/unictype/combiningclass_byname.gperf: New file.
18556         * modules/unictype/combining-class-byname: New file.
18557
18558         Tests for module 'unictype/combining-class-longname'.
18559         * modules/unictype/combining-class-longname-tests: New file.
18560         * tests/unictype/test-combiningclass_longname.c: New file.
18561
18562         New module 'unictype/combining-class-longname'.
18563         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
18564         * lib/unictype/combiningclass_longname.c: New file.
18565         * modules/unictype/combining-class-longname: New file.
18566
18567         Tests for module 'unictype/combining-class-name'.
18568         * modules/unictype/combining-class-name-tests: New file.
18569         * tests/unictype/test-combiningclass_name.c: New file.
18570
18571         New module 'unictype/combining-class-name'.
18572         * lib/unictype.in.h (uc_combining_class_name): New declaration.
18573         * lib/unictype/combiningclass_name.c: New file.
18574         * modules/unictype/combining-class-name: New file.
18575
18576 2011-03-25  Bruno Haible  <bruno@clisp.org>
18577
18578         unictype/combining-class: Rename source files.
18579         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
18580         of unictype/combining.h.
18581         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
18582         Update.
18583         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
18584         * modules/unictype/combining-class (Description): Fix.
18585         (Files, Makefile.am): Update.
18586         * tests/unictype/test-combiningclass.c: Renamed from
18587         tests/unictype/test-combining.c.
18588         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
18589
18590 2011-03-25  Bruno Haible  <bruno@clisp.org>
18591
18592         unictype: Update list of canonical combining classes.
18593         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
18594
18595 2011-03-25  Bruno Haible  <bruno@clisp.org>
18596
18597         unictype/category-byname: Recognize long names as well.
18598         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
18599         a long name.
18600         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
18601         unictype/categ_byname.h.
18602         (UC_CATEGORY_INDEX_*): New enumeration values.
18603         (uc_general_category_byname): Use uc_general_category_lookup and
18604         convert from index to value.
18605         * lib/unictype/categ_byname.gperf: New file.
18606         * modules/unictype/category-byname (Files): Add
18607         lib/unictype/categ_byname.gperf.
18608         (Depends-on): Add gperf.
18609         (Makefile.am): Add rule for generating unictype/categ_byname.h.
18610         * tests/unictype/test-categ_byname.c (main): Test the recognition of
18611         long names.
18612
18613         Tests for module 'unictype/category-longname'.
18614         * modules/unictype/category-longname-tests: New file.
18615         * tests/unictype/test-categ_longname.c: New file.
18616
18617         New module 'unictype/category-longname'.
18618         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
18619         * lib/unictype/categ_longname.c: New file.
18620         * modules/unictype/category-longname: New file.
18621         * modules/unictype/category-all (Depends-on): Add it.
18622
18623 2011-03-25  Bruno Haible  <bruno@clisp.org>
18624
18625         Tests for module 'unictype/category-LC'.
18626         * modules/unictype/category-LC-tests: New file.
18627         * tests/unictype/test-categ_LC.c: New file, automatically generated.
18628
18629         New module 'unictype/category-LC'.
18630         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
18631         (UC_CATEGORY_LC): New declaration.
18632         (UC_CASED_LETTER): New macro.
18633         * lib/gen-uni-tables.c (is_category_LC): New function.
18634         (output_categories): Also handle category LC.
18635         (UC_CATEGORY_MASK_LC): New enumeration value.
18636         (general_category_byname): Also handle category LC.
18637         * lib/unictype/categ_LC.c: New file.
18638         * lib/unictype/categ_LC.h: New file, automatically generated.
18639         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
18640         category LC.
18641         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
18642         * modules/unictype/category-LC: New file.
18643         * modules/unictype/category-byname (Depends-on): Add
18644         unictype/category-LC.
18645         * modules/unictype/category-all (Depends-on): Likewise.
18646
18647 2011-03-25  Eric Blake  <eblake@redhat.com>
18648
18649         xmalloc: revert yesterday's regression
18650         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
18651         realloc's underlying behavior (allowing allocation of zero-size
18652         objects, especially if malloc-gnu is also in use).
18653
18654 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
18655
18656         maint.mk: add missing version to VC-tag
18657         * top/maint.mk: git tag was missing actual tag name; add it.
18658
18659         valgrind: do leak checking, and exit with code 1 on error (not 0)
18660         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
18661         to VALGRIND.
18662
18663 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
18664
18665         posix-modules: say what it does.
18666         * posix-modules: Add a line to the --help output saying what it does.
18667
18668 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
18669
18670         xmalloc: Do not leak if underlying realloc is C99 compatible.
18671         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
18672         This avoids a leak on C99-based systems.  See
18673         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
18674
18675 2011-03-24  Eric Blake  <eblake@redhat.com>
18676
18677         realloc: document portability problem
18678         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
18679         passing 0 size to realloc.
18680
18681 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
18682
18683         doc: update users.txt
18684         * users.txt: Add cvsps, tmpwatch
18685
18686 2011-03-23  Matt Rice  <ratmice@gmail.com>
18687
18688         doc: update users.txt
18689         * users.txt: Add gdb.
18690
18691 2011-03-23  Jim Meyering  <meyering@redhat.com>
18692
18693         doc: update users.txt
18694         Looking through matches up to the following URL (there are still
18695         several more pages), I found several projects that use gnulib:
18696         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
18697         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
18698         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
18699
18700 2011-03-22  Bruno Haible  <bruno@clisp.org>
18701
18702         unictype/bidi*: Rename functions.
18703         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
18704         uc_bidi_class, uc_is_bidi_class): New declarations.
18705         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
18706         uc_bidi_category_byname.
18707         (uc_bidi_category_byname): New function.
18708         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
18709         u_bidi_category_name.
18710         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
18711         (uc_bidi_category_name): New function.
18712         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
18713         uc_bidi_category.
18714         (uc_bidi_category): New function.
18715         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
18716         uc_is_bidi_category. Invoke uc_bidi_class.
18717         (uc_is_bidi_category): New function.
18718         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
18719         instead of uc_bidi_category_byname.
18720         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
18721         instead of uc_bidi_category_name.
18722         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
18723         uc_bidi_category.
18724         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
18725         instead of uc_is_bidi_category.
18726
18727 2011-03-21  Bruno Haible  <bruno@clisp.org>
18728
18729         New module 'unictype/joininggroup-all'.
18730         * modules/unictype/joininggroup-all: New file.
18731
18732         Tests for module 'unictype/joininggroup-of'.
18733         * modules/unictype/joininggroup-of-tests: New file.
18734         * tests/unictype/test-joininggroup_of.c: New file.
18735         * tests/unictype/test-joininggroup_of.h: New file, automatically
18736         generated by gen-uni-tables.
18737
18738         New module 'unictype/joininggroup-of'.
18739         * modules/unictype/joininggroup-of: New file.
18740         * lib/unictype/joininggroup_of.c: New file.
18741         * lib/unictype/joininggroup_of.h: New file, automatically generated by
18742         gen-uni-tables.
18743
18744         Tests for module 'unictype/joininggroup-byname'.
18745         * modules/unictype/joininggroup-byname-tests: New file.
18746         * tests/unictype/test-joininggroup_byname.c: New file.
18747
18748         New module 'unictype/joininggroup-byname'.
18749         * modules/unictype/joininggroup-byname: New file.
18750         * lib/unictype/joininggroup_byname.c: New file.
18751         * lib/unictype/joininggroup_byname.gperf: New file.
18752
18753         Tests for module 'unictype/joininggroup-name'.
18754         * modules/unictype/joininggroup-name-tests: New file.
18755         * tests/unictype/test-joininggroup_name.c: New file.
18756
18757         New module 'unictype/joininggroup-name'.
18758         * modules/unictype/joininggroup-name: New file.
18759         * lib/unictype/joininggroup_name.c: New file.
18760         * lib/unictype/joininggroup_name.h: New file.
18761
18762         New module 'unictype/joiningtype-all'.
18763         * modules/unictype/joiningtype-all: New file.
18764
18765         Tests for module 'unictype/joiningtype-of'.
18766         * modules/unictype/joiningtype-of-tests: New file.
18767         * tests/unictype/test-joiningtype_of.c: New file.
18768         * tests/unictype/test-joiningtype_of.h: New file, automatically
18769         generated by gen-uni-tables.
18770
18771         New module 'unictype/joiningtype-of'.
18772         * modules/unictype/joiningtype-of: New file.
18773         * lib/unictype/joiningtype_of.c: New file.
18774         * lib/unictype/joiningtype_of.h: New file, automatically generated by
18775         gen-uni-tables.
18776
18777         Tests for module 'unictype/joiningtype-byname'.
18778         * modules/unictype/joiningtype-byname-tests: New file.
18779         * tests/unictype/test-joiningtype_byname.c: New file.
18780
18781         New module 'unictype/joiningtype-byname'.
18782         * modules/unictype/joiningtype-byname: New file.
18783         * lib/unictype/joiningtype_byname.c: New file.
18784
18785         Tests for module 'unictype/joiningtype-name'.
18786         * modules/unictype/joiningtype-name-tests: New file.
18787         * tests/unictype/test-joiningtype_name.c: New file.
18788
18789         New module 'unictype/joiningtype-name'.
18790         * modules/unictype/joiningtype-name: New file.
18791         * lib/unictype/joiningtype_name.c: New file.
18792
18793         unictype: Add support for Arabic shaping properties.
18794         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
18795         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
18796         declarations.
18797         (UC_JOINING_GROUP_*): New enumeration values.
18798         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
18799         declarations.
18800         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
18801         (unicode_joining_type): New variable.
18802         (UC_JOINING_GROUP_*): New enumeration values.
18803         (unicode_joining_group): New variable.
18804         (fill_arabicshaping, joining_type_as_c_identifier,
18805         output_joining_type_test, output_joining_type,
18806         joining_group_as_c_identifier, output_joining_group_test,
18807         output_joining_group): New functions.
18808         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
18809         fill_arabicshaping and output_joining_type_test, output_joining_type,
18810         output_joining_group_test, output_joining_group.
18811         Reported by Simon Josefsson.
18812
18813 2011-03-21  Jim Meyering  <meyering@redhat.com>
18814
18815         strftime: fix a bug in yesterday's change
18816         * lib/strftime.c (add): Accommodate width's initial value of -1.
18817         Otherwise, nstrftime would copy uninitialized data into
18818         the result buffer.
18819
18820 2011-03-21  Jim Meyering  <meyering@redhat.com>
18821
18822         tests: add strftime-tests module
18823         * tests/test-strftime.c: New file.
18824         * modules/strftime-tests: New module.
18825
18826 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18827
18828         strftime: don't assume a byte count fits in 'int'
18829         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
18830         found this problem by static analysis, using gcc -Wstrict-overflow
18831         (GCC 4.5.2, x86-64).  This reported an optimization that depended
18832         on an integer overflow having undefined behavior, but it turns out
18833         that the argument is a size, which might not fit in 'int' anyway,
18834
18835 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18836
18837         stdio: don't require ignore_value around fwrite
18838
18839         This patch works around libc bug 11959
18840         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
18841         Without this patch, applications must often write
18842         ignore_value (fwrite (...)) even though the ignore_value is
18843         not helpful here.  It's common to write many objects, using
18844         fwrite/printf/etc., and then use ferror to detect output error.
18845
18846         I considered making this patch optional, but decided against it,
18847         because libc is obviously being inconsistent here: there is no
18848         reason libc should insist that user code must inspect fwrite
18849         return's value without also insisting that it inspect printf's,
18850         putchar's, etc.  If user code wants to have a strict style where
18851         all these functions' values are checked (so that ferror need not
18852         be checked), we could add support for that style in a new gnulib
18853         module, but in the meantime it's better to be consistent and to
18854         support common usage.
18855
18856         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
18857         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
18858         that we are compiling in checking mode, and if not C++, and
18859         if not already wrapping fwrite for some other reason.
18860         (fwrite): #define to rpl_fwrite if the latter is defined.
18861
18862 2011-03-20  Bruno Haible  <bruno@clisp.org>
18863
18864         verror: Fix compilation error introduced on 2011-02-13.
18865         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
18866         instead of __attribute__.
18867         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18868
18869 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18870             Bruno Haible  <bruno@clisp.org>
18871
18872         socklen: do not depend on sys_socket
18873         While trying to modify Emacs to use gnulib's socklen module,
18874         I discovered a circular dependency: socklen depends on sys_socket
18875         and vice versa.  Emacs can use socklen, but it does not need
18876         sys_socket because it has its own substitute for sys/socket.h.
18877         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
18878         gl_TYPE_SOCKLEN_T.
18879         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
18880         gl_PREREQ_SYS_H_SOCKET.
18881         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
18882         gl_PREREQ_SYS_H_SOCKET.
18883         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
18884         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
18885         * modules/socklen (Depends-on): Do not depend on sys_socket.
18886         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
18887
18888 2011-03-20  Jim Meyering  <meyering@redhat.com>
18889
18890         maint.mk: sort file names *after* new transformation
18891         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
18892         prefix would have led to an unwarranted failure in GNU parted.
18893         Sort after that transformation.
18894
18895 2011-03-19  Jim Meyering  <meyering@redhat.com>
18896
18897         maint.mk: fix po-file syntax-check rule
18898         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
18899         Patch by Bruno Haible.
18900
18901 2011-03-19  Bruno Haible  <bruno@clisp.org>
18902
18903         socklen: Update comment.
18904         * m4/socklen.m4: Update comment about platforms.
18905
18906 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18907             Bruno Haible  <bruno@clisp.org>
18908
18909         inet_ntop, inet_pton: Simplify.
18910         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
18911         documented to provide socklen_t and we already depend on sys_socket.
18912         * modules/inet_pton (Depends-on): Likewise.
18913         * lib/arpa_inet.in.h: Adjust comment.
18914
18915 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18916             Bruno Haible  <bruno@clisp.org>
18917
18918         netdb: Simplify.
18919         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
18920         documented to provide socklen_t and we already depend on sys_socket.
18921         * lib/netdb.in.h: Adjust comment.
18922
18923 2011-03-19  Bruno Haible  <bruno@clisp.org>
18924
18925         sys_socket, netdb: Document problem with socklen_t.
18926         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
18927         platforms.
18928         * doc/posix-headers/netdb.texi: Likewise.
18929
18930 2011-03-18  Eric Blake  <eblake@redhat.com>
18931
18932         maint.mk: let po check work in VPATH build
18933         * top/maint.mk (po_file): Allow cfg.mk override.
18934         (sc_po_check): Allow VPATH use.
18935         Reported by Jiri Denemark.
18936
18937 2011-03-16  Jim Meyering  <meyering@redhat.com>
18938
18939         maint.mk: allow fine-grained syntax-check exclusion via Make variables
18940         Before, you would have had to create one .x-sc_ file per rule in order
18941         to exempt offending files.  Now, you may instead use a Make variable --
18942         usually defined in cfg.mk -- whose name identifies the affected rule.
18943         * top/maint.mk (_sc_excl): Define.
18944         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
18945         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
18946
18947 2011-03-13  Bruno Haible  <bruno@clisp.org>
18948
18949         ignore-value tests: Avoid warnings.
18950         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
18951         empty for gcc < 3.4.
18952
18953 2011-03-13  Bruno Haible  <bruno@clisp.org>
18954
18955         passfd: Fix link error on Solaris.
18956         * modules/passfd (Description): Correct.
18957         (Depends-on): Add socketlib.
18958         (Link): New section.
18959         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
18960
18961 2011-03-13  Bruno Haible  <bruno@clisp.org>
18962
18963         passfd: Fix link error on AIX 5.2.
18964         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
18965
18966 2011-03-13  Bruno Haible  <bruno@clisp.org>
18967
18968         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
18969         * lib/sys_socket.in.h: Include <stddef.h>.
18970         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
18971         CMSG_FIRSTHDR. Remove unused variable.
18972
18973 2011-03-13  Bruno Haible  <bruno@clisp.org>
18974
18975         passfd: Fix compilation error on OpenBSD.
18976         * lib/passfd.c: Include <sys/uio.h>.
18977
18978 2011-03-13  Bruno Haible  <bruno@clisp.org>
18979
18980         passfd test: Fix warnings.
18981         * tests/test-passfd.c: Include <sys/wait.h>.
18982         (main): Fix typo.
18983
18984 2011-03-13  Bruno Haible  <bruno@clisp.org>
18985
18986         passfd module, part 4, tweaks.
18987         * tests/test-passfd.c: Reorder includes.
18988         (main): Fix perror and printf calls.
18989
18990 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
18991
18992         passfd module, part 4.
18993         * modules/passfd-tests: New file.
18994         * tests/test-passfd.c: New file.
18995
18996 2011-03-13  Jim Meyering  <meyering@redhat.com>
18997
18998         Makefile: rely on GNU make; derive syntax-check rule names
18999         Rather than requiring that each sc_ rule be listed as a dependent
19000         of "check", use features of GNU make to derive the list.
19001         * Makefile (syntax-check-rules): Define.
19002         (check): Depend on the new variable, not the hard-coded list.
19003
19004 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19005             Bruno Haible  <bruno@clisp.org>
19006
19007         passfd module, part 3.
19008         * lib/passfd.h (recvfd): Add a flags argument.
19009         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19010         (recvfd): Add a flags argument.
19011         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19012         exists.
19013         * modules/passfd (Depends-on): Add cloexec.
19014         Suggested by Eric Blake.
19015
19016 2011-03-13  Bruno Haible  <bruno@clisp.org>
19017
19018         passfd module, part 2, tweaks.
19019         * modules/passfd (Files): Reorder.
19020         (Depends-on): Remove errno.
19021         (Include): Remove <sys/socket.h>, <sys/un.h>.
19022         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19023         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19024         specification header. Include <sys/socket.h> always. Don't include
19025         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19026         (sendfd): Clarify that it sets errno when it fails.
19027         (recvfd): Fix specification.
19028
19029 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19030
19031         passfd module, part 2.
19032         * modules/passfd: New file.
19033         * lib/passfd.h: New file.
19034         * lib/passfd.c: New file.
19035
19036 2011-03-12  Bruno Haible  <bruno@clisp.org>
19037
19038         wcswidth, mbswidth: Avoid integer overflow.
19039         * lib/wcswidth.c: Include <limits.h>.
19040         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19041         * lib/mbswidth.c: Include <limits.h>.
19042         (mbsnwidth): Avoid 'int' overflow.
19043         Reported by Jim Meyering.
19044
19045 2011-03-12  Bruno Haible  <bruno@clisp.org>
19046
19047         futimens, utimensat: Avoid endless recursion on Solaris 10.
19048         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19049         Solaris.
19050         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19051         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19052
19053 2011-03-11  Jim Meyering  <meyering@redhat.com>
19054
19055         maint.mk: relax a regexp to accommodate other formatting styles
19056         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19057         between "ngettext" and the following "(".
19058
19059 2011-03-11  Pádraig Brady <P@draigBrady.com>
19060
19061         maint.mk: suppress a false positive warning
19062         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19063         diagnostics are marked with ngettext.
19064
19065 2011-03-10  Eric Blake  <eblake@redhat.com>
19066
19067         wchar: add explicit dependencies, for Tru64
19068         * modules/mbmemcasecoll (Depends-on): Add wchar.
19069         * modules/mbtowc (Depends-on): Likewise.
19070         * modules/vasnprintf (Depends-on): Likewise.
19071         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19072         * modules/wctomb (Depends-on): Likewise.
19073         Reported by Peter O'Gorman.
19074
19075 2011-03-08  Bruno Haible  <bruno@clisp.org>
19076
19077         passfd module, part 1, tweaks.
19078         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19079         Improve indentation. Improve AC_MSG_CHECKING messages.
19080         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19081         gl_SOCKET_FAMILIES.
19082
19083 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19084
19085         passfd module, part 1.
19086         * m4/afunix.m4: New file.
19087         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19088         sockets.
19089
19090 2011-03-08  Bruno Haible  <bruno@clisp.org>
19091
19092         regex-quote: New API.
19093         * lib/regex-quote.h: Include <stdbool.h>.
19094         (struct regex_quote_spec): New type.
19095         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19096         New declarations.
19097         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19098         'const struct regex_quote_spec *' argument.
19099         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
19100         (pcre_special): New constant.
19101         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19102         New functions.
19103         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19104         'const struct regex_quote_spec *' argument.
19105         * modules/regex-quote (Depends-on): Add stdbool.
19106         * tests/test-regex-quote.c (check): Update for new API. Add test for
19107         anchored results.
19108         * NEWS: Mention the API change.
19109         Reported by Reuben Thomas and Eric Blake.
19110
19111 2011-03-06  Bruno Haible  <bruno@clisp.org>
19112
19113         regex-quote: Fix creation of POSIX extended regular expressions.
19114         * lib/regex-quote.c (ere_special): Add grouping and alternation
19115         operators.
19116
19117 2011-03-05  Bruno Haible  <bruno@clisp.org>
19118
19119         doc: Improve doc regarding autopoint vs. gnulib.
19120         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
19121         disable autopoint while running autoreconf.
19122         Suggested by Ralf Wildenhues.
19123
19124 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19125
19126         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
19127         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
19128
19129 2011-03-03  Bruce Korb  <bkorb@gnu.org>
19130
19131         parse-duration: remove xalloc.h dependency
19132         * lib/parse-duration.c (parse_period): handle NULL return from
19133         strdup instead of calling xstrdup().
19134         * modules/parse-duration: remove "xalloc" dependency
19135
19136 2011-03-03  Matthew Booth  <mbooth@redhat.com>
19137
19138         bootstrap: honor m4_base when running aclocal
19139         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
19140
19141 2011-03-02  Jim Meyering  <meyering@redhat.com>
19142
19143         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
19144         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
19145         on request from Matt Booth.
19146
19147 2011-03-01  Eric Blake  <eblake@redhat.com>
19148
19149         test-link: work on Hurd
19150         * tests/test-link.h (test_link): Hurd rejects linking directories
19151         with EISDIR instead of the POSIX-mandated EPERM.
19152
19153 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
19154
19155         stdio: simplify by moving files to printf-posix, sigpipe
19156         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
19157         since this symbol is needed only if printf is replaced.
19158         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
19159         Require gl_ASM_SYMBOL_PREFIX.
19160         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
19161         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
19162         (Depends-on): Add 'raise'.
19163         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
19164         * modules/stdio (Files): Remove lib/stdio-write.c,
19165         m4/asm-underscore.m4.
19166         (Depends-on): Remove 'raise'.
19167
19168         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
19169         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
19170         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
19171         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
19172
19173 2011-02-28  Bruno Haible  <bruno@clisp.org>
19174
19175         localcharset: Assume ANSI C behaviour of free().
19176         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
19177         calling free().
19178         Suggested by Simon Josefsson <simon@josefsson.org>.
19179
19180 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
19181             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
19182             Bruno Haible  <bruno@clisp.org>  (tiny change)
19183
19184         On Cygwin, use /proc file system instead of win32 API.
19185         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
19186         Win32 file names.
19187         (DllMain): Simplify by removing Cygwin specific code.
19188         (find_shared_library_fullname): Use Linux specific implementation also
19189         for Cygwin.
19190         (get_shared_library_fullname): Update accordingly.
19191         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
19192         Win32 file names.
19193         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
19194         Cygwin specific code.
19195
19196 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
19197             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
19198
19199         Fix OpenMP flag detection for various Fortran compilers.
19200         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
19201         OpenMP-conditional compilation construct, to force compile
19202         failure with missing OpenMP flag.
19203         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
19204
19205 2011-02-25  Eric Blake  <eblake@redhat.com>
19206
19207         strstr: expand test coverage
19208         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
19209         compilation.
19210         * tests/test-memmem.c (main): Duplicate tests.
19211         * tests/test-strcasestr.c (main): Likewise.
19212         * tests/test-c-strcasestr.c (main): Likewise.
19213
19214 2011-02-25  Jim Meyering  <meyering@redhat.com>
19215
19216         maint.mk: detect missing-NL-at-EOF, too
19217         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
19218         it also detects when a file lacks a newline at EOF.
19219         (require_exactly_one_NL_at_EOF_): Renamed from
19220         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
19221         since people may well have .x-sc_... file names tied to the
19222         existing name.  Suggested by Eric Blake.
19223
19224 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
19225
19226         dirname: move m4/dos.m4 functionality into lib/dosname.h
19227
19228         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
19229         extracts symbols from it, puts them into config.h; but it's much
19230         easier to use the symbols directly.  filename.h already does this,
19231         but it disagrees with dos.m4 in some respects.  This patch
19232         introduces a different include file dosname.h that packages up
19233         dos.m4, and then later we can work on merging filename.h and
19234         dosname.h.  Applications that need only the easy-to-configure
19235         symbols should consider including dosname.h rather than dirname.h.
19236         * NEWS: Mention incompatible changes.
19237         * m4/dos.m4: Remove.
19238         * lib/dosname.h, modules/dosname: New files.
19239         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
19240         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
19241         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
19242         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
19243         Include dosname.h, not dirname.h.
19244         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
19245         Include dosname.h, for definitions of symbols like ISSLASH
19246         that used to be in config.h.
19247         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
19248         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19249         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19250         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19251         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
19252         * modules/rmdir (Files): Likewise.
19253         * modules/stat (Files): Likewise.
19254         * modules/unlink (Files): Likewise.
19255         * modules/dirname-lgpl (Depends-on): Add dosname.
19256         * modules/lstat (Depends-on): Likewise.
19257         * modules/openat (Depends-on): Likewise.
19258         * modules/rmdir (Depends-on): Likewise.
19259         * modules/savewd (Depends-on): Likewise.
19260         * modules/stat (Depends-on): Likewise.
19261         * modules/unlink (Depends-on): Likewise.
19262         * modules/openat (Depends-on): Remove dirname-lgpl.
19263         * modules/savewd (Depends-on): Likewise.
19264         * tests/test-dirname.c: Do not use removed symbols like
19265         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
19266         the remaining symbols, e.g., ISSLASH ('\\').
19267
19268 2011-02-25  Eric Blake  <eblake@redhat.com>
19269
19270         strstr: revert patches that introduced bug and pessimization
19271         * lib/str-two-way.h: Add another reference.
19272         (two_way_short_needle, two_way_long_needle): Revert changes from
19273         2011-02-24; they pessimize search speed.
19274         (critical_factorization): Partially revert changes from
19275         2010-06-22; they violate the requirement that the left half of the
19276         needle be smaller than the period of the needle.
19277
19278 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19279
19280         filenamecat: remove unnecessary dependency on dirname-lgpl
19281         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
19282         is no direct dependency, just an indirect one via filenamecat-lgpl.
19283
19284         remove: remove unnecessary use of m4/dos.m4
19285         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
19286         * modules/remove (FILES): Remove m4/dos.m4.
19287
19288         * lib/openat-proc.c: Don't include dirname.h; not needed.
19289
19290         backupfile: remove unnecessary use of m4/dos.m4
19291         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
19292         of its symbols are used by the backupfile code.  backupfile.c does
19293         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
19294         for the rare case of programs that want all their backup file
19295         names to live within 8+3 limits, and dos.m4 doesn't address that.
19296         * modules/backupfile (Files): Remove m4/dos.m4.
19297
19298 2011-02-24  Jim Meyering  <meyering@redhat.com>
19299
19300         strstr: fix a bug whereby strstr would mistakenly return NULL
19301         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
19302         in period calculation.
19303         (two_way_long_needle): Likewise.
19304         The original problem was reported by Mike Stump in
19305         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
19306         Ralf Wildenhues provided the short needle and haystack.
19307         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
19308         Add a more involved test to trigger the bug in two_way_long_needle.
19309
19310 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19311
19312         gnulib-tool: remove use of bold display in help screen
19313         * gnulib-tool (func_usage): Do not use bold display anymore in the
19314         help screen.  That was just meant to be a temporary emphasis for a
19315         backward-incompatible change.
19316
19317 2011-02-23  Bruno Haible  <bruno@clisp.org>
19318
19319         Fix misindentation of preprocessor directives.
19320         * lib/argp-namefrob.h: Reindent preprocessor directives.
19321         * lib/getopt_int.h (struct _getopt_data): Likewise.
19322         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
19323         * lib/vasnprintf.c (decode_long_double): Likewise.
19324         * tests/test-argmatch.c: Insert blank lines, for clarity.
19325         * tests/test-exclude.c: Likewise.
19326
19327 2011-02-22  Bruno Haible  <bruno@clisp.org>
19328
19329         ioctl: Fix for MacOS X in 64-bit mode.
19330         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
19331         value.
19332         Suggested by Eric Blake.
19333         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
19334
19335 2011-02-22  Jim Meyering  <meyering@redhat.com>
19336
19337         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
19338         * Makefile (sc_cpp_indent_check): Don't limit the check to files
19339         in lib/.
19340
19341 2011-02-22  Eric Blake  <eblake@redhat.com>
19342
19343         maint: avoid any CDPATH issue
19344         * Makefile (sc_cpp_indent_check): Anchor cd argument.
19345
19346         maint: adjust cpp indentation for my modules, as well
19347         * Makefile (sc_cpp_indent_check): Add my name.
19348         * lib/fbufmode.c: Filter through cppi.
19349         * lib/fpurge.c: Likewise.
19350         * lib/freadable.c: Likewise.
19351         * lib/freading.c: Likewise.
19352         * lib/fwritable.c: Likewise.
19353         * lib/fwriting.c: Likewise.
19354         * lib/sigaction.c: Likewise.
19355
19356 2011-02-22  Jim Meyering  <meyering@redhat.com>
19357
19358         maint: adjust cpp indentation to reflect nesting depth
19359         I.e., in a block of code that begins with an unnested "#if",
19360         put one space between the "#" in column 1 and following token.
19361         For example,
19362         -#include <sys/vfs.h>
19363         +# include <sys/vfs.h>
19364         Do this only in .c files that are part of a module I maintain.
19365         * lib/linkat.c: Filter through cppi.
19366         * lib/nanosleep.c: Likewise.
19367         * lib/openat.c: Likewise.
19368         * lib/openat-die.c: Likewise.
19369         * lib/dup3.c: Likewise.
19370         * lib/fchownat.c: Likewise.
19371         * lib/flock.c: Likewise.
19372         * lib/fsync.c: Likewise.
19373         * lib/fts.c: Likewise.
19374         * lib/getpass.c: Likewise.
19375         * lib/gettimeofday.c: Likewise.
19376         * lib/userspec.c: Likewise.
19377         * Makefile (sc_cpp_indent_check): New rule, to check this.
19378
19379 2011-02-22  Bruno Haible  <bruno@clisp.org>
19380
19381         New module 'wctomb'.
19382         * lib/stdlib.in.h (wctomb): New declaration.
19383         * lib/wctomb.c: New file.
19384         * lib/wctomb-impl.h: New file.
19385         * m4/wctomb.m4: New file.
19386         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
19387         REPLACE_WCTOMB.
19388         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
19389         REPLACE_WCTOMB.
19390         * modules/wctomb: New file.
19391         * tests/test-stdlib-c++.cc: Test signature of wctomb.
19392         * doc/posix-functions/wctomb.texi: Mention the new module.
19393         * modules/wctob (Depends-on): Add wctomb.
19394
19395 2011-02-22  Bruno Haible  <bruno@clisp.org>
19396
19397         New module 'mbtowc'.
19398         * lib/stdlib.in.h (mbtowc): New declaration.
19399         * lib/mbtowc.c: New file.
19400         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
19401         * m4/mbtowc.m4: New file.
19402         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
19403         REPLACE_MBTOWC.
19404         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
19405         REPLACE_MBTOWC.
19406         * modules/mbtowc: New file.
19407         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
19408         * doc/posix-functions/mbtowc.texi: Mention the new module.
19409         * modules/btowc (Depends-on): Add mbtowc.
19410
19411 2011-02-22  Bruno Haible  <bruno@clisp.org>
19412
19413         wcrtomb: Add more tests for native Windows platforms.
19414         * tests/test-wcrtomb-w32-1.sh: New file.
19415         * tests/test-wcrtomb-w32-2.sh: New file.
19416         * tests/test-wcrtomb-w32-3.sh: New file.
19417         * tests/test-wcrtomb-w32-4.sh: New file.
19418         * tests/test-wcrtomb-w32-5.sh: New file.
19419         * tests/test-wcrtomb-w32.c: New file.
19420         * modules/wcrtomb-tests (Files): Add them.
19421         (Makefile.am): Arrange to run these tests.
19422         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
19423         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
19424
19425 2011-02-20  Bruno Haible  <bruno@clisp.org>
19426
19427         wcrtomb: Enhance test.
19428         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
19429
19430 2011-02-20  Bruno Haible  <bruno@clisp.org>
19431
19432         mbrtowc: Tiny optimization.
19433         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
19434
19435 2011-02-20  Jim Meyering  <meyering@redhat.com>
19436
19437         test-exclude.c: remove unmatched #endif
19438         * tests/test-exclude.c: Remove stray #endif, left over from
19439         the change of a week ago.
19440
19441 2011-02-19  Jim Meyering  <meyering@redhat.com>
19442
19443         git-version-gen: skip "-dirty" check when appropriate
19444         * build-aux/git-version-gen: Don't run any git commands when the
19445         version string comes from .tarball-version.  Prior to this, we
19446         would run git update-index --refresh even from a just-unpacked
19447         tarball directory, and that could affect a .git/ directory in a
19448         parent of the build directory.  Reported by Mike Frysinger.
19449
19450 2011-02-19  Bruno Haible  <bruno@clisp.org>
19451
19452         unictype/property-byname: Reduce the size of the 'data' segment.
19453         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
19454
19455 2011-02-19  Bruno Haible  <bruno@clisp.org>
19456
19457         unictype/scripts: Reduce the size of the 'data' segment.
19458         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
19459         '%pic'.
19460         * lib/unictype/scripts_byname.gperf: Regenerated.
19461
19462 2011-02-19  Bruno Haible  <bruno@clisp.org>
19463
19464         stdint: Update documentation.
19465         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
19466
19467 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
19468
19469         stdint: omit redundant check for wchar.h
19470         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
19471         always tests whether wchar.h exists, so remove the now-redundant test.
19472
19473 2011-02-18  Bruno Haible  <bruno@clisp.org>
19474
19475         stdint: Cut dependency to module 'wchar'.
19476         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
19477         include the necessary prerequisites.
19478         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
19479         * modules/stdint (Depends-on): Remove wchar.
19480         (Makefile.am): Substitute HAVE_WCHAR_H.
19481         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
19482
19483 2011-02-18  Eric Blake  <eblake@redhat.com>
19484
19485         longlong: skip, rather than fail, on cross-compilation
19486         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
19487         when cross-compiling; regression from 2011-02-16.
19488
19489 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19490
19491         * NEWS: Mention 2011-02-08 change to stdlib.
19492
19493 2011-02-17  Bruno Haible  <bruno@clisp.org>
19494
19495         getloadavg: Add comments about platforms.
19496         * m4/getloadavg.m4: Add comment.
19497         * lib/getloadavg.c: Likewise.
19498
19499 2011-02-17  Bruno Haible  <bruno@clisp.org>
19500
19501         getloadavg: Fix link error on Solaris 2.6.
19502         * modules/getloadavg (Link): New section.
19503         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
19504         linking test-getloadavg.
19505         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
19506         getloadavg.
19507
19508 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19509
19510         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
19511         It was 'int', but this doesn't match the IRIX 6.5 manual.
19512         Suggested by Bruno Haible in
19513         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
19514
19515 2011-02-17  Bruno Haible  <bruno@clisp.org>
19516
19517         havelib: Fix comments.
19518         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
19519         change.
19520
19521 2011-02-17  Bruno Haible  <bruno@clisp.org>
19522
19523         havelib: Update config.rpath.
19524         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
19525
19526 2011-02-17  Bruno Haible  <bruno@clisp.org>
19527
19528         getloadavg test: Add some plausibility checks.
19529         * tests/test-getloadavg.c (check_avg): Print a warning when the value
19530         is improbable.
19531
19532 2011-02-16  Eric Blake  <eblake@redhat.com>
19533
19534         maintainer-makefile: make syntax-check a no-op from tarballs
19535         * top/maint.mk (no-vc-detected): New rule.
19536         (local-checks-available): Use it to avoid hanging if someone tries
19537         'make syntax-check' from a tarball.  Also append to any non-syntax
19538         checks already defined in cfg.mk.
19539
19540 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
19541
19542         longlong: tune, particularly for common case of c99
19543
19544         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
19545         or running anything if c99, or if unsigned long long int does not
19546         work.  In either case, we know the answer without further tests.
19547         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
19548         it at most once, and use its results for both long long int and
19549         unsigned long long int.  This is more likely to be efficient in
19550         the common case where the program wants to check for both long
19551         long int and unsigned long long int.
19552         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
19553         since the answer is already known.
19554
19555 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
19556
19557         getloadavg: set errno
19558         * lib/getloadavg.c: Set errno when returning -1.  If no other
19559         error number looks appropriate, set it to ENOSYS if the getloadavg
19560         looks like it can't possibly ever work, ENOTSUP otherwise.
19561         Suggested by Bruno Haible in
19562         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
19563
19564         getloadavg: trim unused parts and speed up 'configure'
19565         * NEWS: Document this.
19566         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
19567         always compiled if getloadavg is absent.
19568         Move test code to ...
19569         * tests/test-getloadavg.c: New file, containing previous
19570         contents of test from lib/getloadavg.c.  It also contains
19571         suggestions by Bruno Haible in
19572         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
19573         * modules/getloadavg-tests: New file.
19574         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
19575         Do tests in the same order as they're needed for getloadavg.c.
19576         Omit setgid-related tests that generate symbols KMEM_GROUP,
19577         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
19578         Do only the tests that are needed to see whether the system has
19579         getloadavg, moving the other tests into ...
19580         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
19581         NLIST_NAME_UNION; nobody should be using it.  Do not define
19582         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
19583         relevant, as the user of this module shouldn't care how getloadavg
19584         is implemented.
19585
19586         getloadavg: omit unused var
19587         * lib/getloadavg.c (getloadavg): Omit unused local variable.
19588
19589 2011-02-15  Jim Meyering  <meyering@redhat.com>
19590
19591         doc: update users.txt
19592         * users.txt: Update iwhd's URL.
19593
19594 2011-02-13  Bruno Haible  <bruno@clisp.org>
19595
19596         Consistent macro naming for macros that use GCC __attribute__.
19597         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
19598         _ATTRIBUTE_NONNULL_.
19599         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
19600         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
19601         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
19602         ATTRIBUTE_DEPRECATED.
19603         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
19604         ATTRIBUTE_NORETURN.
19605         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19606         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19607         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19608         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19609         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
19610         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
19611         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
19612         ATTRIBUTE_SENTINEL.
19613         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
19614         ATTRIBUTE_RETURN_CHECK.
19615         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
19616         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
19617         ATTRIBUTE_NORETURN.
19618         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
19619         Reported by Paul Eggert.
19620
19621 2011-02-13  Bruno Haible  <bruno@clisp.org>
19622
19623         Don't interfere with a program's definition of __attribute__.
19624         * lib/argp.h (__attribute__): Remove definition.
19625         (_GL_ATTRIBUTE_FORMAT): New macro.
19626         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
19627         * lib/argp-fmtstream.h (__attribute__): Remove definition.
19628         (_GL_ATTRIBUTE_FORMAT): New macro.
19629         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
19630         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
19631         GCC 3 or newer.
19632         * lib/error.h (__attribute__): Remove definition.
19633         (_GL_ATTRIBUTE_FORMAT): New macro.
19634         (error, error_at_line): Use it.
19635         * lib/hash.h (__attribute__): Remove definition.
19636         (ATTRIBUTE_WUR): Update definition. Define always.
19637         * lib/openat.h (__attribute__): Remove definition.
19638         (ATTRIBUTE_NORETURN): Update definition. Define always.
19639         * lib/sigpipe-die.h (__attribute__): Remove definition.
19640         (ATTRIBUTE_NORETURN): Update definition. Define always.
19641         * lib/vasnprintf.h (__attribute__): Remove definition.
19642         (_GL_ATTRIBUTE_FORMAT): New macro.
19643         (asnprintf, vasnprintf): Use it.
19644         * lib/xalloc.h (__attribute__): Remove definition.
19645         (ATTRIBUTE_NORETURN): Update definition. Define always.
19646         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
19647         * lib/xmemdup0.h (__attribute__): Remove definition.
19648         (ATTRIBUTE_NORETURN): Update definition. Define always.
19649         * lib/xprintf.h (__attribute__): Remove definition.
19650         (_GL_ATTRIBUTE_FORMAT): New macro.
19651         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
19652         * lib/xstrtol.h (__attribute__): Remove definition.
19653         (ATTRIBUTE_NORETURN): Update definition. Define always.
19654         * lib/xvasprintf.h (__attribute__): Remove definition.
19655         (_GL_ATTRIBUTE_FORMAT): New macro.
19656         (xasprintf, xvasprintf): Use it.
19657         * tests/test-argmatch.c (__attribute__): Remove definition.
19658         (ATTRIBUTE_NORETURN): Update definition. Define always.
19659         * tests/test-exclude.c (__attribute__): Remove definition.
19660         (ATTRIBUTE_NORETURN): Update definition. Define always.
19661         Reported by Paul Eggert.
19662
19663 2011-02-13  Bruno Haible  <bruno@clisp.org>
19664
19665         mbrtowc: Add more tests for native Windows platforms.
19666         * tests/test-mbrtowc-w32-1.sh: New file.
19667         * tests/test-mbrtowc-w32-2.sh: New file.
19668         * tests/test-mbrtowc-w32-3.sh: New file.
19669         * tests/test-mbrtowc-w32-4.sh: New file.
19670         * tests/test-mbrtowc-w32-5.sh: New file.
19671         * tests/test-mbrtowc-w32.c: New file.
19672         * modules/mbrtowc-tests (Files): Add them.
19673         (Makefile.am): Arrange to run these tests.
19674         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
19675         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
19676
19677 2011-02-13  Bruno Haible  <bruno@clisp.org>
19678
19679         mbrtowc: Work around native Windows bug.
19680         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
19681         guess when no suitable locale for testing was found.
19682         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
19683
19684 2011-02-13  Bruno Haible  <bruno@clisp.org>
19685
19686         mbsinit: Work around mingw bug.
19687         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
19688         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
19689         Windows.
19690         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
19691
19692 2011-02-13  Bruno Haible  <bruno@clisp.org>
19693
19694         mbsinit: Don't crash for a NULL argument.
19695         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
19696         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
19697
19698 2011-02-13  Bruno Haible  <bruno@clisp.org>
19699
19700         Don't interfere with a program's definition of __attribute__.
19701         * lib/stdio.in.h (__attribute__): Remove definition.
19702         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
19703         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
19704         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
19705         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
19706         * lib/string.in.h (__attribute__): Remove definition.
19707         Reported by Paul Eggert.
19708
19709 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19710
19711         stdlib: don't get in the way of non-GCC __attribute__
19712         See thread starting at
19713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
19714         Revert previous stdlib change, installing the following instead:
19715         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
19716         to get in the way of a non-GCC compiler that supports __attribute__.
19717         (_GL_ATTRIBUTE_RETURN): New macro.
19718         (_Exit): Use it instead of __attribute__.
19719
19720 2011-02-12  Bruno Haible  <bruno@clisp.org>
19721
19722         quotearg test: Avoid test failure on mingw.
19723         * tests/test-quotearg.sh: Convert the locale identifier from native
19724         Windows syntax to Unix syntax.
19725
19726 2011-02-12  Bruno Haible  <bruno@clisp.org>
19727
19728         setlocale: Prefer gnulib's override over libintl's override.
19729         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
19730         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
19731         GNULIB_defined_setlocale is set.
19732
19733 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19734
19735         stdlib: support non-GCC __attribute__
19736
19737         Fix a serious and tricky problem encountered when attempting to
19738         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
19739         5.5, but it crashed due to memory corruption on Solaris 10 with
19740         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
19741         bits that are otherwise zero.  This tagging is optional inside
19742         Emacs but is preferred and is used when __attribute__ ((__aligned
19743         (8))) works, as it does with both recent-enough GCC and with Sun C
19744         5.11.  However, Sun C 5.11 is not GCC and does not #define
19745         __GNUC__ and __GNUC_MINOR__.
19746
19747         When I added the getloadavg module to Emacs, it brought in
19748         stdlib.in.h, which contained this fragment:
19749
19750            #ifndef __attribute__
19751            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
19752            #  define __attribute__(Spec)   /* empty */
19753            # endif
19754            #endif
19755
19756         When files that include <stdlib.h> were compiled with Sun C 5.11,
19757         the above code disabled __attribute__ ((__aligned (8))), which
19758         caused variables to not be properly aligned, which eventually led
19759         to the pointer corruption mentioned above.  (This was a bit hard
19760         to diagnose, unfortunately.)
19761
19762         Several "#define __attribute__(X) /* empty */" code snippets need
19763         to be eradicated from Gnulib to work with non-GCC compilers that
19764         support __attribute__.  The Autoconf way to do this is to test for
19765         each kind of attribute that we want support for, and selectively
19766         enable that in source code.
19767
19768         Fix this problem just for stdlib.h, by adding a test for the
19769         __noreturn__ attribute, and change stdlib.in.h to use that test
19770         when needed.  This technique can be easily generalized to the
19771         other *.in.h files and attributes, and a similar technique can be
19772         used for *.h and *.c files.  This patch is enough to solve the
19773         problem for Emacs + getloadavg, and I thought I'd publish it for
19774         feedback before undertaking further, similar fixes in other
19775         modules.
19776
19777         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
19778         because it's not needed for stdlib.h.  It merely substitutes the
19779         value directly into stdlib.h.  We may well need to #define it, or
19780         similar symbols, for other modules, but it's nice to also have an
19781         option to not #define it for applications like Emacs that do not
19782         need it.
19783
19784         * lib/stdlib.in.h (__attribute__): Do not #define.
19785         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
19786         be defined only if the _Exit module is also used.
19787         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
19788         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
19789         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
19790         platforms.
19791         * modules/_Exit (Files): Add m4/attribute.m4.
19792         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
19793         * m4/attribute.m4: New file.
19794
19795 2011-02-12  Bruno Haible  <bruno@clisp.org>
19796
19797         wcsrtombs: Work around bug on native Windows.
19798         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
19799         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
19800         instead of len.
19801         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
19802
19803 2011-02-12  Bruno Haible  <bruno@clisp.org>
19804
19805         mbsrtowcs: Work around bug on native Windows.
19806         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
19807         against mingw bug.
19808         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
19809
19810 2011-02-12  Bruno Haible  <bruno@clisp.org>
19811
19812         Avoid setlocale bugs in tests.
19813         * modules/btowc (Dependencies): Add setlocale.
19814         * modules/c-strcase (Dependencies): Likewise.
19815         * modules/mbmemcasecmp (Dependencies): Likewise.
19816         * modules/mbmemcasecoll (Dependencies): Likewise.
19817         * modules/mbrtowc (Dependencies): Likewise.
19818         * modules/mbscasecmp (Dependencies): Likewise.
19819         * modules/mbscasestr (Dependencies): Likewise.
19820         * modules/mbschr (Dependencies): Likewise.
19821         * modules/mbscspn (Dependencies): Likewise.
19822         * modules/mbsinit (Dependencies): Likewise.
19823         * modules/mbsncasecmp (Dependencies): Likewise.
19824         * modules/mbsnrtowcs (Dependencies): Likewise.
19825         * modules/mbspbrk (Dependencies): Likewise.
19826         * modules/mbspcasecmp (Dependencies): Likewise.
19827         * modules/mbsrchr (Dependencies): Likewise.
19828         * modules/mbsrtowcs (Dependencies): Likewise.
19829         * modules/mbsspn (Dependencies): Likewise.
19830         * modules/mbsstr (Dependencies): Likewise.
19831         * modules/nl_langinfo (Dependencies): Likewise.
19832         * modules/quotearg (Dependencies): Likewise.
19833         * modules/unicase/locale-language (Dependencies): Likewise.
19834         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
19835         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
19836         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
19837         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
19838         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
19839         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
19840         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
19841         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
19842         * modules/vasnprintf-posix (Dependencies): Likewise.
19843         * modules/wcrtomb (Dependencies): Likewise.
19844         * modules/wcsnrtombs (Dependencies): Likewise.
19845         * modules/wcsrtombs (Dependencies): Likewise.
19846
19847 2011-02-12  Bruno Haible  <bruno@clisp.org>
19848
19849         setlocale: Workaround native Windows bug.
19850         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
19851         succeeds but sets LC_CTYPE to "C", report a failure.
19852         * tests/test-setlocale2.sh: New file.
19853         * tests/test-setlocale2.c: New file.
19854         * modules/setlocale-tests (Files): Add the new files.
19855         (Makefile.am): Enable test-setlocale2.sh test.
19856         * doc/posix-functions/setlocale.texi: Mention workaround.
19857
19858 2011-02-11  Bruno Haible  <bruno@clisp.org>
19859
19860         Tests for module 'setlocale'.
19861         * modules/setlocale-tests: New file.
19862         * tests/test-setlocale1.sh: New file.
19863         * tests/test-setlocale1.c: New file.
19864
19865         New module 'setlocale'.
19866         * lib/locale.in.h (setlocale): New declaration.
19867         * lib/setlocale.c: New file, based on
19868         gettext/gettext-runtime/intl/setlocale.c.
19869         * m4/setlocale.m4: New file.
19870         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
19871         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
19872         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
19873         REPLACE_SETLOCALE.
19874         * modules/setlocale: New file.
19875         * tests/test-locale-c++.cc: Test the declaration of setlocale.
19876         * doc/posix-functions/setlocale.texi: Mention the new module.
19877
19878 2011-02-11  Bruno Haible  <bruno@clisp.org>
19879
19880         Prepare for locale dependent tests on mingw.
19881         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
19882         because it has the wrong locale encoding.
19883         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
19884         French_France.1252 instead of "fr".
19885         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
19886         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
19887         because it has the wrong locale encoding.
19888         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
19889         native Windows, try Turkish_Turkey.65001.
19890         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
19891         Chinese_China.54936.
19892
19893         Prepare for locale dependent tests on mingw.
19894         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
19895         differently.
19896         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19897         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19898         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19899         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19900
19901 2011-02-11  Eric Blake  <eblake@redhat.com>
19902
19903         strptime: avoid compiler warnings
19904         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
19905         compiler warnings about dead code.
19906         Reported by Daniel P. Berrange.
19907
19908 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
19909
19910         doc: update users.txt
19911         * users.txt: Add rcs.
19912
19913 2011-02-10  John W. Eaton  <jwe@gnu.org>
19914
19915         doc: update users.txt
19916         * users.txt: Add octave.
19917
19918 2011-02-10  Jim Meyering  <meyering@redhat.com>
19919
19920         doc: update users.txt
19921         * users.txt: Add iwhd.
19922
19923 2011-02-09  Bruno Haible  <bruno@clisp.org>
19924
19925         gnulib-tool: Make copyright notice adjustment more robust.
19926         * gnulib-tool (func_import): In sed_transform_main_lib_file,
19927         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
19928         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
19929         License".
19930         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
19931
19932 2011-02-06  Bruno Haible  <bruno@clisp.org>
19933
19934         New module 'towctrans'.
19935         * modules/towctrans: New file.
19936         * lib/wctype.in.h (towctrans): New declaration.
19937         * lib/towctrans.c: New file.
19938         * lib/towctrans-impl.h: New file.
19939         * m4/towctrans.m4: New file.
19940         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
19941         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
19942         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
19943         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
19944         * doc/posix-functions/towctrans.texi: Mention the new module.
19945
19946 2011-02-06  Bruno Haible  <bruno@clisp.org>
19947
19948         New module 'wctrans'.
19949         * modules/wctrans: New file.
19950         * lib/wctype.in.h (wctrans): New declaration.
19951         * lib/wctrans.c: New file.
19952         * lib/wctrans-impl.h: New file.
19953         * m4/wctrans.m4: New file.
19954         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
19955         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
19956         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
19957         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
19958         * doc/posix-functions/wctrans.texi: Mention the new module.
19959
19960 2011-02-06  Bruno Haible  <bruno@clisp.org>
19961
19962         New module 'iswctype'.
19963         * modules/iswctype: New file.
19964         * lib/wctype.in.h (iswctype): New declaration.
19965         * lib/iswctype.c: New file.
19966         * lib/iswctype-impl.h: New file.
19967         * m4/iswctype.m4: New file.
19968         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
19969         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
19970         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
19971         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
19972         * doc/posix-functions/iswctype.texi: Mention the new module and the
19973         HP-UX 11.00 problem.
19974
19975 2011-02-06  Bruno Haible  <bruno@clisp.org>
19976
19977         New module 'wctype'.
19978         * modules/wctype: Change to represent the wctype() substitute.
19979         * lib/wctype.in.h (wctype): New declaration.
19980         * lib/wctype.c: New file.
19981         * lib/wctype-impl.h: New file.
19982         * m4/wctype.m4: New file.
19983         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
19984         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
19985         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
19986         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
19987         * doc/posix-functions/wctype.texi: Mention the new module and the
19988         HP-UX 11.00 problem.
19989
19990 2011-02-06  Bruno Haible  <bruno@clisp.org>
19991
19992         wctype-h: Ensure wctype_t and wctrans_t are defined.
19993         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
19994         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
19995         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
19996         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
19997         HAVE_WCTRANS_T.
19998         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
19999
20000 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20001
20002         flock: fix license typo
20003
20004         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20005         omitted.
20006
20007 2011-02-08  Bruno Haible  <bruno@clisp.org>
20008
20009         Split large sed scripts, for HP-UX sed.
20010         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20011         to avoid HP-UX limit of 99 commands, in the near future.
20012         * modules/stdlib (Makefile.am): Likewise.
20013         * modules/unistd (Makefile.am): Likewise.
20014         * modules/wchar (Makefile.am): Likewise.
20015         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20016         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20017         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20018
20019 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20020             Bruno Haible  <bruno@clisp.org>
20021
20022         stdlib: improve random_r modularization
20023         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20024         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20025         you also need the random_r module to get this material right.
20026         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20027         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20028         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20029
20030 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20031
20032         stdlib: don't depend on stdint
20033         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20034         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20035         be independent of whether stdint.h is needed.
20036         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20037         here, instead of ...
20038         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20039         struct random_data should be using the random_r module, not just
20040         the stdlib module (which wouldn't make sense: what package needs
20041         just struct random_data without also needing random_r?).
20042         * modules/stdlib (Depends-on): Remove stdint.
20043
20044         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20045         See the thread rooted at
20046         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20047         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20048         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20049         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20050         __VMS)); previously it was always included (via fcntl--.h).
20051         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20052         hand; this is good enough for load averages.  Also, do not use
20053         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20054         flags directly if available and don't bother otherwise.  (Packages
20055         that need the extra reliability should use the modules that define
20056         these flags on older platforms that lack them.)
20057         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20058         fcntl-safer.
20059
20060 2011-02-08  Jim Meyering  <meyering@redhat.com>
20061
20062         di-set.h, ino-map.h: add multiple-inclusion guard
20063         Technically, the guard is required only for ino-map.h, due to its
20064         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20065         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20066         * lib/ino-map.h: Likewise.
20067
20068 2011-02-06  Bruno Haible  <bruno@clisp.org>
20069
20070         iswblank: Ensure declaration on glibc systems.
20071         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20072         * modules/iswblank (Dependencies): Add 'extensions'.
20073         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20074
20075 2011-02-06  Bruno Haible  <bruno@clisp.org>
20076
20077         New module 'iswblank'.
20078         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20079         * modules/iswblank: New file.
20080         * modules/wctype-h (Files): Remove lib/iswblank.c.
20081         (Makefile.am): Substitute GNULIB_ISWBLANK.
20082         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20083         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20084         (gl_WCTYPE_H_DEFAULTS): New macro.
20085         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20086         * modules/iswblank-tests: New file.
20087         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20088         * tests/test-wctype-h.c (main): Remove iswblank tests.
20089         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20090         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20091         of 'wctype-h'.
20092         * NEWS: Mention the change.
20093         * modules/mbchar (Depends-on): Add iswblank.
20094
20095 2011-02-08  Bruno Haible  <bruno@clisp.org>
20096
20097         di-set tests: Refactor.
20098         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
20099         unnecessary includes.
20100         (ASSERT): Remove macro.
20101         (main): Make C90 compliant by avoiding variable declaration after
20102         statement.
20103         * modules/di-set-tests (Files): Add tests/macros.h.
20104
20105 2011-02-08  Bruno Haible  <bruno@clisp.org>
20106
20107         ino-map tests: Refactor.
20108         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
20109         unnecessary includes.
20110         (ASSERT): Remove macro.
20111         (main): Make C90 compliant by avoiding variable declaration after
20112         statement.
20113         * modules/ino-map-tests (Files): Add tests/macros.h.
20114
20115 2011-02-08  Jim Meyering  <meyering@redhat.com>
20116
20117         di-set: add "const" to a cast
20118         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
20119         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
20120
20121 2011-02-06  Bruno Haible  <bruno@clisp.org>
20122
20123         Rename module 'wctype' to 'wctype-h'.
20124         * modules/wctype-h: Renamed from modules/wctype.
20125         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
20126         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
20127         (Files, Depends-on, Makefile.am): Update.
20128         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
20129         (Files, Makefile.am): Update.
20130         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
20131         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
20132         * doc/posix-headers/wctype.texi: Update.
20133         * doc/posix-functions/iswalnum.texi: Update.
20134         * doc/posix-functions/iswalpha.texi: Update.
20135         * doc/posix-functions/iswblank.texi: Update.
20136         * doc/posix-functions/iswcntrl.texi: Update.
20137         * doc/posix-functions/iswdigit.texi: Update.
20138         * doc/posix-functions/iswgraph.texi: Update.
20139         * doc/posix-functions/iswlower.texi: Update.
20140         * doc/posix-functions/iswprint.texi: Update.
20141         * doc/posix-functions/iswpunct.texi: Update.
20142         * doc/posix-functions/iswspace.texi: Update.
20143         * doc/posix-functions/iswupper.texi: Update.
20144         * doc/posix-functions/iswxdigit.texi: Update.
20145         * doc/posix-functions/towlower.texi: Update.
20146         * doc/posix-functions/towupper.texi: Update.
20147         * NEWS: Mention the change.
20148         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
20149         * modules/mbchar (Dependencies): Likewise.
20150         * modules/mbswidth (Dependencies): Likewise.
20151         * modules/quotearg (Dependencies): Likewise.
20152         * modules/regex (Dependencies): Likewise.
20153         * modules/wcscasecmp (Dependencies): Likewise.
20154         * modules/wcsncasecmp (Dependencies): Likewise.
20155         * modules/wcwidth (Dependencies): Likewise.
20156
20157 2011-02-06  Bruno Haible  <bruno@clisp.org>
20158
20159         New module 'wcswidth'.
20160         * modules/wcswidth: New file.
20161         * lib/wchar.in.h (wcswidth): New declaration.
20162         * lib/wcswidth.c: New file.
20163         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
20164         * m4/wcswidth.m4: New file.
20165         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
20166         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
20167         REPLACE_WCSWIDTH.
20168         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
20169         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
20170         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
20171         * doc/posix-functions/wcswidth.texi: Mention the new module.
20172
20173 2011-02-06  Bruno Haible  <bruno@clisp.org>
20174
20175         New module 'wcstok'.
20176         * modules/wcstok: New file.
20177         * lib/wchar.in.h (wcstok): New declaration.
20178         * lib/wcstok.c: New file.
20179         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
20180         * m4/wcstok.m4: New file.
20181         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
20182         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
20183         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
20184         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
20185         * doc/posix-functions/wcstok.texi: Mention the new module.
20186
20187 2011-02-06  Bruno Haible  <bruno@clisp.org>
20188
20189         New module 'wcsstr'.
20190         * modules/wcsstr: New file.
20191         * lib/wchar.in.h (wcsstr): New declaration.
20192         * lib/wcsstr.c: New file.
20193         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
20194         * m4/wcsstr.m4: New file.
20195         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
20196         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
20197         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
20198         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
20199         * doc/posix-functions/wcsstr.texi: Mention the new module.
20200
20201 2011-02-06  Bruno Haible  <bruno@clisp.org>
20202
20203         New module 'wcspbrk'.
20204         * modules/wcspbrk: New file.
20205         * lib/wchar.in.h (wcspbrk): New declaration.
20206         * lib/wcspbrk.c: New file.
20207         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
20208         * m4/wcspbrk.m4: New file.
20209         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
20210         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
20211         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
20212         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
20213         * doc/posix-functions/wcspbrk.texi: Mention the new module.
20214
20215 2011-02-06  Bruno Haible  <bruno@clisp.org>
20216
20217         New module 'wcsspn'.
20218         * modules/wcsspn: New file.
20219         * lib/wchar.in.h (wcsspn): New declaration.
20220         * lib/wcsspn.c: New file.
20221         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
20222         * m4/wcsspn.m4: New file.
20223         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
20224         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
20225         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
20226         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
20227         * doc/posix-functions/wcsspn.texi: Mention the new module.
20228
20229 2011-02-06  Bruno Haible  <bruno@clisp.org>
20230
20231         New module 'wcscspn'.
20232         * modules/wcscspn: New file.
20233         * lib/wchar.in.h (wcscspn): New declaration.
20234         * lib/wcscspn.c: New file.
20235         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
20236         * m4/wcscspn.m4: New file.
20237         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
20238         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
20239         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
20240         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
20241         * doc/posix-functions/wcscspn.texi: Mention the new module.
20242
20243 2011-02-06  Bruno Haible  <bruno@clisp.org>
20244
20245         New module 'wcsrchr'.
20246         * modules/wcsrchr: New file.
20247         * lib/wchar.in.h (wcsrchr): New declaration.
20248         * lib/wcsrchr.c: New file.
20249         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
20250         * m4/wcsrchr.m4: New file.
20251         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
20252         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
20253         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
20254         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
20255         * doc/posix-functions/wcsrchr.texi: Mention the new module.
20256
20257 2011-02-06  Bruno Haible  <bruno@clisp.org>
20258
20259         New module 'wcschr'.
20260         * modules/wcschr: New file.
20261         * lib/wchar.in.h (wcschr): New declaration.
20262         * lib/wcschr.c: New file.
20263         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
20264         * m4/wcschr.m4: New file.
20265         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
20266         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
20267         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
20268         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
20269         * doc/posix-functions/wcschr.texi: Mention the new module.
20270
20271 2011-02-06  Bruno Haible  <bruno@clisp.org>
20272
20273         New module 'wcsdup'.
20274         * modules/wcsdup: New file.
20275         * lib/wchar.in.h (wcsdup): New declaration.
20276         * lib/wcsdup.c: New file.
20277         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
20278         * m4/wcsdup.m4: New file.
20279         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
20280         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
20281         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
20282         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
20283         * doc/posix-functions/wcsdup.texi: Mention the new module.
20284
20285 2011-02-06  Bruno Haible  <bruno@clisp.org>
20286
20287         New module 'wcsxfrm'.
20288         * modules/wcsxfrm: New file.
20289         * lib/wchar.in.h (wcsxfrm): New declaration.
20290         * lib/wcsxfrm.c: New file.
20291         * lib/wcsxfrm-impl.h: New file.
20292         * m4/wcsxfrm.m4: New file.
20293         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
20294         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
20295         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
20296         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
20297         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
20298
20299 2011-02-06  Bruno Haible  <bruno@clisp.org>
20300
20301         New module 'wcscoll'.
20302         * modules/wcscoll: New file.
20303         * lib/wchar.in.h (wcscoll): New declaration.
20304         * lib/wcscoll.c: New file.
20305         * lib/wcscoll-impl.h: New file.
20306         * m4/wcscoll.m4: New file.
20307         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
20308         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
20309         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
20310         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
20311         * doc/posix-functions/wcscoll.texi: Mention the new module.
20312
20313 2011-02-06  Bruno Haible  <bruno@clisp.org>
20314
20315         New module 'wcsncasecmp'.
20316         * modules/wcsncasecmp: New file.
20317         * lib/wchar.in.h (wcsncasecmp): New declaration.
20318         * lib/wcsncasecmp.c: New file.
20319         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
20320         * m4/wcsncasecmp.m4: New file.
20321         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
20322         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
20323         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
20324         HAVE_WCSNCASECMP.
20325         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
20326         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
20327
20328 2011-02-06  Bruno Haible  <bruno@clisp.org>
20329
20330         New module 'wcscasecmp'.
20331         * modules/wcscasecmp: New file.
20332         * lib/wchar.in.h (wcscasecmp): New declaration.
20333         * lib/wcscasecmp.c: New file.
20334         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
20335         * m4/wcscasecmp.m4: New file.
20336         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
20337         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
20338         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
20339         HAVE_WCSCASECMP.
20340         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
20341         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
20342
20343 2011-02-05  Bruno Haible  <bruno@clisp.org>
20344
20345         New module 'wcsncmp'.
20346         * modules/wcsncmp: New file.
20347         * lib/wchar.in.h (wcsncmp): New declaration.
20348         * lib/wcsncmp.c: New file.
20349         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
20350         * m4/wcsncmp.m4: New file.
20351         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
20352         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
20353         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
20354         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
20355         * doc/posix-functions/wcsncmp.texi: Mention the new module.
20356
20357 2011-02-05  Bruno Haible  <bruno@clisp.org>
20358
20359         New module 'wcscmp'.
20360         * modules/wcscmp: New file.
20361         * lib/wchar.in.h (wcscmp): New declaration.
20362         * lib/wcscmp.c: New file.
20363         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
20364         * m4/wcscmp.m4: New file.
20365         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
20366         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
20367         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
20368         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
20369         * doc/posix-functions/wcscmp.texi: Mention the new module.
20370
20371 2011-02-05  Bruno Haible  <bruno@clisp.org>
20372
20373         New module 'wcsncat'.
20374         * modules/wcsncat: New file.
20375         * lib/wchar.in.h (wcsncat): New declaration.
20376         * lib/wcsncat.c: New file.
20377         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
20378         * m4/wcsncat.m4: New file.
20379         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
20380         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
20381         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
20382         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
20383         * doc/posix-functions/wcsncat.texi: Mention the new module.
20384
20385 2011-02-05  Bruno Haible  <bruno@clisp.org>
20386
20387         New module 'wcscat'.
20388         * modules/wcscat: New file.
20389         * lib/wchar.in.h (wcscat): New declaration.
20390         * lib/wcscat.c: New file.
20391         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
20392         * m4/wcscat.m4: New file.
20393         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
20394         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
20395         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
20396         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
20397         * doc/posix-functions/wcscat.texi: Mention the new module.
20398
20399 2011-02-05  Bruno Haible  <bruno@clisp.org>
20400
20401         New module 'wcpncpy'.
20402         * modules/wcpncpy: New file.
20403         * lib/wchar.in.h (wcpncpy): New declaration.
20404         * lib/wcpncpy.c: New file.
20405         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
20406         * m4/wcpncpy.m4: New file.
20407         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
20408         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
20409         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
20410         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
20411         * doc/posix-functions/wcpncpy.texi: Mention the new module.
20412
20413 2011-02-05  Bruno Haible  <bruno@clisp.org>
20414
20415         New module 'wcsncpy'.
20416         * modules/wcsncpy: New file.
20417         * lib/wchar.in.h (wcsncpy): New declaration.
20418         * lib/wcsncpy.c: New file.
20419         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
20420         * m4/wcsncpy.m4: New file.
20421         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
20422         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
20423         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
20424         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
20425         * doc/posix-functions/wcsncpy.texi: Mention the new module.
20426
20427 2011-02-05  Bruno Haible  <bruno@clisp.org>
20428
20429         New module 'wcpcpy'.
20430         * modules/wcpcpy: New file.
20431         * lib/wchar.in.h (wcpcpy): New declaration.
20432         * lib/wcpcpy.c: New file.
20433         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
20434         * m4/wcpcpy.m4: New file.
20435         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
20436         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
20437         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
20438         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
20439         * doc/posix-functions/wcpcpy.texi: Mention the new module.
20440
20441 2011-02-05  Bruno Haible  <bruno@clisp.org>
20442
20443         New module 'wcscpy'.
20444         * modules/wcscpy: New file.
20445         * lib/wchar.in.h (wcscpy): New declaration.
20446         * lib/wcscpy.c: New file.
20447         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
20448         * m4/wcscpy.m4: New file.
20449         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
20450         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
20451         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
20452         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
20453         * doc/posix-functions/wcscpy.texi: Mention the new module.
20454
20455 2011-02-05  Bruno Haible  <bruno@clisp.org>
20456
20457         New module 'wcsnlen'.
20458         * modules/wcsnlen: New file.
20459         * lib/wchar.in.h (wcsnlen): New declaration.
20460         * lib/wcsnlen.c: New file.
20461         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
20462         * m4/wcsnlen.m4: New file.
20463         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
20464         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
20465         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
20466         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
20467         * doc/posix-functions/wcsnlen.texi: Mention the new module.
20468
20469 2011-02-05  Bruno Haible  <bruno@clisp.org>
20470
20471         New module 'wcslen'.
20472         * modules/wcslen: New file.
20473         * lib/wchar.in.h (wcslen): New declaration.
20474         * lib/wcslen.c: New file.
20475         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
20476         * m4/wcslen.m4: New file.
20477         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
20478         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
20479         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
20480         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
20481         * doc/posix-functions/wcslen.texi: Mention the new module.
20482
20483 2011-02-05  Bruno Haible  <bruno@clisp.org>
20484
20485         New module 'wmemset'.
20486         * modules/wmemset: New file.
20487         * lib/wchar.in.h (wmemset): New declaration.
20488         * lib/wmemset.c: New file.
20489         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
20490         * m4/wmemset.m4: New file.
20491         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
20492         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
20493         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
20494         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
20495         * doc/posix-functions/wmemset.texi: Mention the new module.
20496
20497 2011-02-05  Bruno Haible  <bruno@clisp.org>
20498
20499         New module 'wmemmove'.
20500         * modules/wmemmove: New file.
20501         * lib/wchar.in.h (wmemmove): New declaration.
20502         * lib/wmemmove.c: New file.
20503         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
20504         * m4/wmemmove.m4: New file.
20505         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
20506         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
20507         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
20508         HAVE_WMEMMOVE.
20509         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
20510         * doc/posix-functions/wmemmove.texi: Mention the new module.
20511
20512 2011-02-05  Bruno Haible  <bruno@clisp.org>
20513
20514         New module 'wmemcpy'.
20515         * modules/wmemcpy: New file.
20516         * lib/wchar.in.h (wmemcpy): New declaration.
20517         * lib/wmemcpy.c: New file.
20518         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
20519         * m4/wmemcpy.m4: New file.
20520         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
20521         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
20522         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
20523         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
20524         * doc/posix-functions/wmemcpy.texi: Mention the new module.
20525
20526 2011-02-05  Bruno Haible  <bruno@clisp.org>
20527
20528         New module 'wmemcmp'.
20529         * modules/wmemcmp: New file.
20530         * lib/wchar.in.h (wmemcmp): New declaration.
20531         * lib/wmemcmp.c: New file.
20532         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
20533         * m4/wmemcmp.m4: New file.
20534         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
20535         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
20536         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
20537         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
20538         * doc/posix-functions/wmemcmp.texi: Mention the new module.
20539
20540 2011-02-07  Jim Meyering  <meyering@redhat.com>
20541
20542         di-set, ino-map: new modules, from coreutils
20543         * lib/di-set.c: New file.
20544         * lib/di-set.h: Likewise.
20545         * lib/ino-map.c: Likewise.
20546         * lib/ino-map.h: Likewise.
20547         * modules/di-set: Likewise.
20548         * modules/di-set-tests: Likewise.
20549         * modules/ino-map: Likewise.
20550         * modules/ino-map-tests: Likewise.
20551         * tests/test-di-set.c: Likewise.
20552         * tests/test-ino-map.c: Likewise.
20553
20554 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
20555
20556         getloadavg: merge minor changes from Emacs
20557
20558         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
20559         (getloadavg): Use memset, not bzero.
20560
20561         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
20562         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
20563         clash (bug#86).
20564
20565 2010-11-14  Bruno Haible  <bruno@clisp.org>
20566
20567         Allow multiple gnulib generated replacements to coexist.
20568         * lib/getopt.in.h (struct option): Avoid identical redefinition.
20569         * lib/inttypes.in.h (imaxdiv_t): Likewise.
20570         * lib/langinfo.in.h (nl_item): Likewise.
20571         * lib/math.in.h (_NaN, NAN): Likewise.
20572         * lib/netdb.in.h (struct addrinfo): Likewise.
20573         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
20574         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
20575         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
20576         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
20577         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
20578         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
20579         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
20580         pthread_mutexattr_init, pthread_mutexattr_settype,
20581         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
20582         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
20583         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
20584         pthread_spin_trylock, pthread_spin_unlock): Likewise.
20585         * lib/sched.in.h (struct sched_param): Likewise.
20586         * lib/se-selinux.in.h (security_class_t, security_context_t,
20587         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
20588         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
20589         lsetfilecon, fsetfilecon, security_check_context,
20590         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
20591         Likewise.
20592         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
20593         Likewise.
20594         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
20595         _gl_function_taking_int_returning_void_t, union sigval,
20596         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
20597         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
20598         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
20599         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
20600         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
20601         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
20602         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
20603         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
20604         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
20605         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
20606         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
20607         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
20608         socklen_t, rpl_fd_isset): Likewise.
20609         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
20610         * lib/sys_time.in.h (struct timeval): Likewise.
20611         * lib/sys_times.in.h (struct tms): Likewise.
20612         * lib/sys_utsname.in.h (struct utsname):
20613         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
20614         * lib/unistd.in.h (getpagesize): Likewise.
20615         * lib/wchar.in.h (mbstate_t): Likewise.
20616         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20617         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
20618         towlower, towupper): Likewise.
20619         Reported by Sam Steingold <sds@gnu.org>.
20620
20621 2011-02-05  Eric Blake  <eblake@redhat.com>
20622
20623         unsetenv: work around Haiku issues
20624         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
20625         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
20626
20627 2010-12-30  Bruce Korb  <bkorb@gnu.org>
20628
20629         libposix: avoid calling error() within libposix
20630         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
20631         is defined.
20632
20633 2011-02-05  Eric Blake  <eblake@redhat.com>
20634
20635         strerror_r-posix: port to cygwin
20636         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
20637         implementation.
20638         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
20639         * tests/test-strerror_r.c (main): Fix test.
20640         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
20641         issue.
20642
20643 2011-02-05  Bruno Haible  <bruno@clisp.org>
20644
20645         New module 'wmemchr'.
20646         * modules/wmemchr: New file.
20647         * lib/wchar.in.h (wmemchr): New declaration.
20648         * lib/wmemchr.c: New file.
20649         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
20650         * m4/wmemchr.m4: New file.
20651         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
20652         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
20653         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
20654         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
20655         * doc/posix-functions/wmemchr.texi: Mention the new module.
20656
20657 2011-02-04  Eric Blake  <eblake@redhat.com>
20658
20659         fdopendir: detect FreeBSD bug
20660         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
20661         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
20662
20663 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
20664
20665         stdbool: do not define HAVE_STDBOOL_H
20666         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
20667         AC_HEADER_STDBOOL.  All uses changed.  Do not define
20668         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
20669         imported from the latest Autoconf git.  It was motivated by Emacs,
20670         which uses gnulib but does not need HAVE_STDBOOL_H.
20671
20672 2011-02-04  Bruno Haible  <bruno@clisp.org>
20673
20674         wcsnrtombs: Prepare for new module wwcsnrtombs.
20675         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
20676         * lib/wcsnrtombs.c: Include it.
20677         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
20678
20679         wcsrtombs: Prepare for new module wwcsrtombs.
20680         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
20681         * lib/wcsrtombs.c: Include it.
20682         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
20683
20684         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
20685         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
20686         * lib/mbsnrtowcs.c: Include it.
20687         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
20688
20689         mbsrtowcs: Prepare for new module mbsrtowwcs.
20690         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
20691         * lib/mbsrtowcs.c: Include it.
20692         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
20693
20694 2011-02-04  Bruno Haible  <bruno@clisp.org>
20695
20696         vasnprintf: Reduce use of malloc for small format strings.
20697         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
20698         (arguments): Add room for the first 7 arguments.
20699         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
20700         (char_directives, u8_directives, u16_directives, u32_directives): Add
20701         room for the first 7 directives.
20702         * lib/printf-parse.c: Include <string.h>.
20703         (PRINTF_PARSE): Change memory handling code so that it uses the first
20704         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
20705         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
20706         Reported by Pádraig Brady <P@draigbrady.com>.
20707
20708 2011-01-31  Eric Blake  <eblake@redhat.com>
20709
20710         dup2: work around Haiku bug
20711         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
20712         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
20713         * doc/posix-functions/dup2.texi (dup2): Document the bug.
20714         * tests/test-dup2.c (main): Enhance test.
20715
20716 2011-01-31  Simon Josefsson  <simon@josefsson.org>
20717
20718         doc: off_t is not available in eglibc 2.11.2 stdio.h.
20719         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
20720         declared by eglibc 2.11.2.
20721         * lib/stdio.in.h: Likewise.
20722
20723 2011-01-31  Eric Blake  <eblake@redhat.com>
20724
20725         ignore-value: add missing test dependency
20726         * tests/test-ignore-value.c: Revert previous change; stdio.h
20727         provides off_t.
20728         * modules/ignore-value-tests (Depends-on): Add missing dependency.
20729
20730 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
20731
20732         mktime: clarify long_int width checking
20733         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
20734         the top level, to make it clearer that the assumption about
20735         long_int width is being checked.  See
20736         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
20737
20738 2011-01-30  Simon Josefsson  <simon@josefsson.org>
20739
20740         ignore-value: Fix self-test.
20741         * tests/test-ignore-value.c: Include sys/types.h for off_t.
20742
20743 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
20744
20745         TYPE_MAXIMUM: avoid theoretically undefined behavior
20746         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
20747         negative number, which the C Standard says has undefined behavior.
20748         In practice this is not a problem, but might as well do it by the book.
20749         Reported by Rich Felker and Eric Blake; see
20750         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
20751         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
20752         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20753         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20754         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
20755         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20756         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
20757
20758         mktime: #undef mktime before #defining it
20759         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
20760
20761         mktime: systematically normalize tm_isdst comparisons
20762         * lib/mktime.c (isdst_differ): New function.
20763         (__mktime_internal): Use it systematically for all isdst comparisons.
20764         This completes the fix for libc BZ #6723, and removes the need for
20765         normalizing tm_isdst.  See
20766         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
20767         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
20768
20769         mktime: fix some integer overflow issues and sidestep the rest
20770
20771         This was prompted by a bug report by Benjamin Lindner for MinGW
20772         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
20773         His bug is due to signed integer overflow (0 - INT_MIN), and I
20774         I scanned through mktime.c looking for other integer overflow
20775         problems, fixing all the bugs I found.
20776
20777         Although the C Standard says the resulting code is still not safe
20778         in the presence of integer overflow, in practice it should be good
20779         enough for all real-world two's-complement implementations, except
20780         for debugging environments that deliberately trap on integer
20781         overflow (e.g., gcc -ftrapv).
20782
20783         * lib/mktime.c (WRAPV): New macro.
20784         (SHR): Also check that long_int and time_t shift right in the
20785         usual way, before using the fast-but-unportable method.
20786         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
20787         used.  The code already assumed two's complement, so there's
20788         no need to test for alternatives.  All uses removed.
20789         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
20790         the C standard.  Problem reported by Rich Felker in
20791         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
20792         (twos_complement_arithmetic): Also check long_int and time_t.
20793         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
20794         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
20795         (__mktime_internal): Avoid integer overflow with unary subtraction
20796         in two instances where -1 - X is an adequate replacement for -X,
20797         since the calculations are approximate.
20798
20799 2011-01-29  Eric Blake  <eblake@redhat.com>
20800
20801         mktime: avoid infinite loop
20802         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
20803         type; behavior is still undefined but portable to all known targets.
20804         Reported by Rich Felker.
20805
20806 2011-01-29  Simon Josefsson  <simon@josefsson.org>
20807
20808         rename, unlink, same-inode: Relicense.
20809         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
20810         * modules/unlink (License): Likewise.
20811         * modules/same-inode (License): Likewise.
20812
20813 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20814
20815         mktime: avoid problems on NetBSD 5 / i386
20816         * lib/mktime.c (long_int): New type.  This works around a problem
20817         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
20818         but time_t is 64 bits, and where I expect the existing code is
20819         wrong in some cases.
20820         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
20821         (ydhms_diff): Bring back the compile-time check for wide-enough
20822         year and yday.
20823
20824         mktime: fix misspelling in comment
20825         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
20826         This merges all recent glibc changes of importance.
20827
20828 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20829
20830         move-if-change: cope with concurrent mv of identical file.
20831         * build-aux/move-if-change (CMPPROG): Accept environment
20832         variable as an override for `cmp'.
20833         (usage): Document CMPPROG.
20834         Adjust comparison to drop stdout.  Cope with failure of mv if
20835         the target file exists and is identical to the source, for
20836         parallel builds.
20837         Report from H.J. Lu against binutils in PR binutils/12283.
20838
20839 2011-01-28  Bruce Korb  <bkorb@gnu.org>
20840
20841         * users.txt: Mention sharutils.
20842
20843 2011-01-28  Simon Josefsson  <simon@josefsson.org>
20844
20845         * users.txt: Mention OATH Toolkit.
20846
20847 2011-01-27  Bruno Haible  <bruno@clisp.org>
20848
20849         Prepare for supporting FreeBSD 10.
20850         * build-aux/config.libpath: Remove handling of freebsd1*.
20851
20852 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
20853
20854         Prepare for supporting FreeBSD 10.
20855         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
20856         match FreeBSD 10.0.
20857
20858 2011-01-27  Bruno Haible  <bruno@clisp.org>
20859
20860         vma-iter, get-rusage-as: Add OpenBSD support.
20861         * modules/vma-iter (configure.ac): Test for mquery.
20862         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
20863         * lib/vma-iter.c: Include <sys/mman.h>.
20864         (vma_iterate): Add an implementation based on mquery().
20865         * lib/resource-ext.h (get_rusage_as): Update comments.
20866         * lib/get-rusage-as.c: Likewise.
20867         * lib/get-rusage-data.c: Likewise.
20868
20869 2011-01-26  Karl Berry  <karl@gnu.org>
20870
20871         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
20872         variables to make it easier to override the makeinfo program used.
20873
20874 2011-01-26  Eric Blake  <eblake@redhat.com>
20875
20876         fcntl: work around Haiku F_DUPFD bugs
20877         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
20878         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
20879         cloexec bit on duplication.
20880         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
20881
20882 2011-01-26  Bruno Haible  <bruno@clisp.org>
20883
20884         Enable memory leak tests on AIX.
20885         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
20886         * tests/test-fprintf-posix3.c (main): Likewise.
20887
20888 2011-01-26  Bruno Haible  <bruno@clisp.org>
20889
20890         Tests for module 'get-rusage-data'.
20891         * modules/get-rusage-data-tests: New file.
20892         * tests/test-get-rusage-data.c: New file.
20893
20894         New module 'get-rusage-data'.
20895         * lib/resource-ext.h (get_rusage_data): New declaration.
20896         * lib/get-rusage-data.c: New file.
20897         * modules/get-rusage-data: New file.
20898
20899 2011-01-25  Bruno Haible  <bruno@clisp.org>
20900
20901         get-rusage-as: Allow for easier testing.
20902         * lib/resource-ext.h (get_rusage_as): Add comment.
20903         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
20904         (main): New function for interactive testing.
20905
20906 2011-01-25  Bruno Haible  <bruno@clisp.org>
20907
20908         vma-iter: Treat Haiku like BeOS.
20909         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
20910         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
20911
20912 2011-01-25  Eric Blake  <eblake@redhat.com>
20913
20914         c-stack: fix regression on cygwin when libsigsegv is present
20915         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
20916
20917 2011-01-24  Bruno Haible  <bruno@clisp.org>
20918
20919         vma-iter: Avoid empty intervals.
20920         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
20921         on an empty interval.
20922
20923 2011-01-24  Jim Meyering  <meyering@redhat.com>
20924
20925         u64: remove unnecessary #include
20926         * lib/u64.h: Don't include <stddef.h>.  It was not used.
20927
20928 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20929
20930         Allow the user to avoid the HAVE_RAW_DECL_* macros.
20931         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
20932
20933 2011-01-23  Bruno Haible  <bruno@clisp.org>
20934
20935         New module 'vma-iter'.
20936         * lib/vma-iter.h: New file.
20937         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
20938         * modules/vma-iter: New file.
20939         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
20940         for get_rusage_as_via_iterator.
20941         (vma_iterate_callback): New function.
20942         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
20943         * modules/get-rusage-as (Depends-on): Add vma-iter.
20944
20945 2011-01-23  Bruno Haible  <bruno@clisp.org>
20946
20947         uninorm: Tweak includes.
20948         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
20949         Reported by Jim Meyering.
20950
20951 2011-01-23  Bruno Haible  <bruno@clisp.org>
20952
20953         get-rusage-as: Improve on NetBSD.
20954         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
20955         /proc, like on FreeBSD.
20956
20957 2011-01-23  Jim Meyering  <meyering@redhat.com>
20958
20959         xreadlink.h: remove unnecessary #include
20960         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
20961
20962         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
20963         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
20964
20965 2011-01-23  Bruno Haible  <bruno@clisp.org>
20966
20967         get-rusage-as: Fix bug.
20968         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
20969         original limit when aborting the first loop.
20970
20971 2011-01-23  Bruno Haible  <bruno@clisp.org>
20972
20973         wctype: Ensure valid C syntax.
20974         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
20975         unconditionally, instead of gl_NEXT_HEADERS conditionally.
20976
20977 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
20978
20979         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
20980         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
20981         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
20982         as they are needed only for configure's test case.
20983         This removes two unnecessary symbols from config.h.
20984
20985         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
20986         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
20987         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
20988         AC_CHECK_HEADERS_ONCE on a header that we also invoke
20989         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
20990         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
20991         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
20992         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
20993         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20994         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20995         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
20996         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20997         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20998         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
20999         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21000         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21001         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21002         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21003
21004 2011-01-21  Eric Blake  <eblake@redhat.com>
21005
21006         maintainer-makefile: work with older git for submodule check
21007         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21008         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21009         Reported by Matthias Bolte.
21010
21011         bootstrap: minor portability fixes
21012         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21013         (usage): Omit leading capital and trailing . on help phrases, per
21014         GNU Coding Standards.
21015         (check_versions, top level): Prefix messages with script name.
21016
21017 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21018
21019         bootstrap: support --no-git option
21020         * build-aux/bootstrap: Add --no-git option, to be used when
21021         --gnulib-srcdir points to the exact desired checkout.
21022
21023 2011-01-21  Eric Blake  <eblake@redhat.com>
21024
21025         strerror_r-posix: work with glibc 2.13
21026         * lib/strerror_r.c (strerror_r): Fix return type.
21027
21028 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21029             Bruno Haible  <bruno@clisp.org>
21030
21031         uN_strstr: New unit tests.
21032         * modules/unistr/u8-strstr-tests: New file.
21033         * modules/unistr/u16-strstr-tests: New file.
21034         * modules/unistr/u32-strstr-tests: New file.
21035         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21036         * tests/unistr/test-u8-strstr.c: New file.
21037         * tests/unistr/test-u16-strstr.c: New file.
21038         * tests/unistr/test-u32-strstr.c: New file.
21039
21040 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21041             Bruno Haible  <bruno@clisp.org>
21042
21043         Make uN_strstr functions O(n) worst-case.
21044         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21045         16-bit and 32-bit unit cases, use the unibyte algorithm from
21046         lib/mbsstr.c.
21047         * lib/unistr/u8-strstr.c: Include <string.h>.
21048         (UNIT_IS_UINT8_T): New macro.
21049         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21050         (U_STRLEN, U_STRNLEN): New macros.
21051         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21052         (U_STRLEN, U_STRNLEN): New macros.
21053         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21054         (configure.ac): Update required libunistring version.
21055         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21056         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21057         malloca.
21058         (configure.ac): Update required libunistring version.
21059         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21060         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21061         malloca.
21062         (configure.ac): Update required libunistring version.
21063
21064 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21065             Bruno Haible  <bruno@clisp.org>
21066
21067         Prepare for faster uN_strstr functions.
21068         * lib/str-kmp.h: Support definable UNITs.
21069         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21070         needle_len argument.
21071         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21072         * lib/mbscasestr.c (mbscasestr): Likewise.
21073
21074 2011-01-21  Pádraig Brady <P@draigBrady.com>
21075
21076         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21077         * tests/test-malloca.c (main): Unset the environment variable
21078         to greatly speed up the test.
21079         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21080         * modules/malloca-tests: Depend on unsetenv.
21081
21082 2011-01-21  Pádraig Brady <P@draigBrady.com>
21083
21084         ignore-value: remove stdint dependency
21085         * lib/ignore-value.h: Remove <stdint.h>
21086         * modules/ignore-value: Remove stdint dependency.
21087
21088 2011-01-21  Jim Meyering  <meyering@redhat.com>
21089
21090         maint.mk: adjust variable name to be consistent with other gl_ vars
21091         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21092         to be lower case.
21093
21094 2011-01-20  Jim Meyering  <meyering@redhat.com>
21095
21096         maint.mk: make "check" depend on public-submodule-commit by default
21097         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
21098
21099 2011-01-20  Bruno Haible  <bruno@clisp.org>
21100
21101         mbfile, mbiter: Complete change from 2008-12-21.
21102         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
21103         * m4/mbiter.m4 (gl_MBITER): Likewise.
21104
21105 2011-01-20  Jim Meyering  <meyering@redhat.com>
21106
21107         init.sh: insert space between each function name and "()"
21108         * tests/init.sh: Make it a little easier to see that a function's
21109         name is "warn_", and not "warn" when looking at the first part of
21110         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
21111
21112 2011-01-20  Jim Meyering  <meyering@redhat.com>
21113
21114         mountlist: clean up code formatting
21115         * lib/mountlist.c (read_file_system_list): Split a long line,
21116         correct bracing style, use NULL in place of "(struct statfs *)0",
21117         don't parenthesize return value, add spaces around "=" and after
21118         ";-in-for-stmt".
21119
21120 2011-01-14  Markus Duft <mduft@gentoo.org>
21121
21122         mountlist: add support for Interix
21123         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
21124         Apply statvfs to all entries of /dev/fs.
21125         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
21126         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
21127
21128 2011-01-20  Jim Meyering  <meyering@redhat.com>
21129
21130         maint.mk: improve the public-submodule-commit rule
21131         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
21132         to suppress printing of its commands... unless V=1.
21133         Add git submodule's --quiet option to suppress printing of e.g.,
21134         "Entering gnulib" output.
21135         "cd" into $(srcdir) before running git submodule.
21136
21137 2011-01-20  Bruno Haible  <bruno@clisp.org>
21138
21139         include_next: Fix bug introduced on 2011-01-18.
21140         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
21141         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
21142         ac_cv_header_... variable if the second argument is not 'check'.
21143         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
21144         gl_NEXT_HEADERS_INTERNAL.
21145
21146 2011-01-20  Bruno Haible  <bruno@clisp.org>
21147
21148         Allow the user to avoid the GNULIB_TEST_* macros.
21149         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
21150         Suggested by Paul Eggert.
21151
21152 2011-01-14  Jim Meyering  <meyering@redhat.com>
21153
21154         bootstrap: avoid failure when there is no .gitmodules file
21155         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
21156         has been assigned to, even when its value is the empty string.
21157         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
21158         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
21159         Reported by John W. Eaton <jwe@gnu.org>.
21160
21161 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21162
21163         assume <ctype.h>, ..., <time.h> exist
21164         For years gnulib has been assuming the existence of the headers
21165         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
21166         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
21167         them, since they don't appear to be needed.
21168         * README (Portability guidelines): Document this.
21169         * lib/flock.c: Assume <fcntl.h> exists.
21170         * lib/regex_internal.h: Assume <locale.h> exists.
21171         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
21172         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
21173         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
21174         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
21175         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
21176         * m4/regex.m4 (gl_REGEX): Likewise.
21177         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
21178         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
21179         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
21180         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
21181         * tests/test-argp.c: Likewise.
21182         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
21183
21184         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
21185         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
21186         AA_APPLE_UNIVERSAL_BUILD.  See
21187         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
21188         * NEWS: Document this.
21189
21190 2011-01-19  Eric Blake  <eblake@redhat.com>
21191
21192         c-stack: assume stack overflow if SA_SIGINFO unsupported
21193         * lib/c-stack.c (SIGACTION_WORKS): Rename...
21194         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
21195         sigaction will work.
21196         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
21197         behavior match Linux.
21198         * tests/test-c-stack.c (main): Prefer NULL for pointers.
21199
21200         stdbool-tests: accomodate Haiku
21201         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
21202
21203         binary-io: fix O_TEXT on Haiku
21204         * modules/binary-io (Depends-on): Add fcntl-h.
21205         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
21206         than blindly undefining O_TEXT.
21207         Reported by Scott McCreary.
21208
21209 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21210
21211         include_next: do not check for standard headers like stddef.h
21212
21213         I found this problem when modifying Emacs to use gnulib.
21214         I noticed that it added HAVE_STDDEF_H to config.h, even though
21215         gnulib always assumes <stddef.h> exists as per README and this
21216         symbol is unnecessary.
21217         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
21218         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
21219         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
21220         faster for headers like stddef.h that are known to exist.
21221         (gl_CHECK_NEXT_HEADERS): Use it.
21222         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
21223         rather than gl_CHECK_NEXT_HEADERS.
21224         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
21225         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
21226
21227 2011-01-18  Eric Blake  <eblake@redhat.com>
21228
21229         ansi-c++-opt: skip C++ dependency style if C++ is unused
21230         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
21231         tests when we know C++ compilation is not desired.
21232         Reported by Scott McCreary.
21233
21234 2011-01-18  Bruno Haible  <bruno@clisp.org>
21235
21236         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
21237         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
21238         (main): Perform test also when getrlimit and setrlimit don't exist or
21239         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
21240         limiting the address space size using setrlimit, compare the address
21241         space size before and after the the test.
21242         * tests/test-dprintf-posix2.c: Likewise.
21243         * tests/test-fprintf-posix3.sh: Update skip messages.
21244         * tests/test-dprintf-posix2.sh: Likewise.
21245         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
21246         * modules/dprintf-posix-tests (Depends-on): Likewise.
21247         Reported by Bruce Korb <bkorb@gnu.org> and
21248         Gary V. Vaughan <gary@gnu.org>.
21249
21250 2011-01-18  Bruno Haible  <bruno@clisp.org>
21251
21252         get-rusage-as: Improvement for Cygwin.
21253         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
21254         areas that are merely reserved.
21255
21256 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21257
21258         strftime: remove dependencies on multibyte modules
21259
21260         strftime depended on mbrlen, mbsinit, and wchar, but these modules
21261         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
21262         only if __osf__ is defined, and I suspect OSF doesn't need these
21263         other modules.  If my guess is wrong, we'll need to come up with a
21264         variant of strftime that doesn't need the multibyte modules.
21265
21266         I discovered this problem when attempting modify Emacs to use the
21267         strftime module.  With the previous gnulib, this caused Emacs to
21268         need 31 new files, ranging from lib/config.charset to
21269         m4/wint_t.m4.  This was overkill and I expect would be offputting
21270         to the Emacs maintainers.  After this change, only 6 new files are
21271         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
21272         stdbool.m4, and tm_gmtoff.m4.
21273
21274         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
21275         Suggested by Bruno Haible in
21276         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
21277         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
21278         and do not check for wchar.h.
21279         * modules/strftime (Files): Remove m4/mbstate_t.m4.
21280         (Depends-on): Remove mbrlen, mbsinit, wchar.
21281
21282 2011-01-18  Bruno Haible  <bruno@clisp.org>
21283
21284         Tests for module 'get-rusage-as'.
21285         * modules/get-rusage-as-tests: New file.
21286         * tests/test-get-rusage-as.c: New file.
21287
21288         New module 'get-rusage-as'.
21289         * modules/get-rusage-as: New file.
21290         * lib/resource-ext.h: New file.
21291         * lib/get-rusage-as.c: New file.
21292
21293 2011-01-17  Eric Blake  <eblake@redhat.com>
21294
21295         sigaction: relax license from LGPLv3+ to LGPLv2+
21296         * modules/sigaction (License): Relax to LGPLv2+.
21297
21298 2011-01-14  Bruno Haible  <bruno@clisp.org>
21299
21300         filemode: Make function declarations usable in C++ mode.
21301         * lib/filemode.h: Enclose function declarations in extern "C" block.
21302         Reported by John W. Eaton <jwe@gnu.org>.
21303
21304 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
21305
21306         save-cwd: no longer include "xgetcwd.h"
21307         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
21308         This avoids a compilation failure in projects that use save-cwd
21309         without also using the xgetcwd module.
21310
21311 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21312
21313         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
21314         This is so that a program like Emacs, which needs only dtoastr,
21315         does not have to bother with distributing and compiling ftoastr
21316         and ldtoastr.
21317         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
21318         * modules/dtoastr, modules/ldtoastr: New files.
21319         * modules/ftoastr: Now works just for 'float'.
21320         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
21321         (Makefile.am): Remove ftoastr.h (not needed and no effect),
21322         dtoastr.c, ldtoastr.c.
21323
21324 2011-01-11  Jim Meyering  <meyering@redhat.com>
21325
21326         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
21327         There is no need to work around the lack of the fchdir function,
21328         since gnulib can now provide a replacement when required.
21329         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
21330         * modules/save-cwd (Depends-on): Add fchdir.
21331
21332 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21333
21334         openat, save-cwd: avoid xmalloc
21335
21336         This removes a direct (but undocumented) dependency of openat on
21337         xalloc, along with an indirect dependency via save-cwd.  It also
21338         removes a dependency of save-cwd on xgetcwd, and thereby
21339         indirectly on xalloc.  This change causes the openat substitute
21340         to fall back on save_cwd when memory is tight, and for save_cwd to
21341         fail instead of dying when memory is tight, but that's good enough.
21342         Problem and initial idea for fix reported by Bastien Roucaries in
21343         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
21344
21345         * lib/openat-proc.c: Include stdlib.h (for malloc), not
21346         xalloc.h (for xmalloc).
21347         (openat_proc_name): Use malloc, not xmalloc.
21348         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
21349         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
21350
21351         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
21352         This avoids heap allocation for file names whose lengths are in
21353         the range 512..1023, with the upper bound increasing to at most
21354         4031 depending on the platform's PATH_MAX.  (We do not want
21355         pathmax.h here as it might supply a non-constant PATH_MAX.)
21356         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
21357         Perhaps they should be moved to malloca.h?
21358         (OPENAT_BUFFER_SIZE): Use them.
21359
21360 2011-01-10  Bruno Haible  <bruno@clisp.org>
21361
21362         doc: Update users.txt.
21363         * users.txt: Add recutils.
21364
21365 2011-01-09  Karl Berry  <karl@gnu.org>
21366
21367         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
21368
21369         * doc/configmake.texi: New file.
21370         * doc/gnulib.texi: Include it.
21371         * modules/configmake: Move documentation from here.
21372
21373 2011-01-09  Bruno Haible  <bruno@clisp.org>
21374
21375         Update to Unicode 6.0.0.
21376         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
21377         (get_lbp): Update for Unicode 6.0.0.
21378         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
21379         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
21380         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
21381         U+11001, U+11038..U+11046. Remove U+06DE.
21382         (uc_width): Fix bounds of planes.
21383         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21384         lib/uniwidth/width.c.
21385         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
21386         trailing whitespace removed.
21387         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
21388         without comments, but with the original copyright notice.
21389         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
21390         * lib/unicase/ignorable.h: Likewise.
21391         * lib/unicase/tocasefold.h: Likewise.
21392         * lib/unicase/tolower.h: Likewise.
21393         * lib/unicase/totitle.h: Likewise.
21394         * lib/unicase/toupper.h: Likewise.
21395         * lib/unictype/bidi_of.h: Likewise.
21396         * lib/unictype/blocks.h: Likewise.
21397         * lib/unictype/categ_C.h: Likewise.
21398         * lib/unictype/categ_Cn.h: Likewise.
21399         * lib/unictype/categ_L.h: Likewise.
21400         * lib/unictype/categ_Ll.h: Likewise.
21401         * lib/unictype/categ_Lm.h: Likewise.
21402         * lib/unictype/categ_Lo.h: Likewise.
21403         * lib/unictype/categ_Lu.h: Likewise.
21404         * lib/unictype/categ_M.h: Likewise.
21405         * lib/unictype/categ_Mc.h: Likewise.
21406         * lib/unictype/categ_Me.h: Likewise.
21407         * lib/unictype/categ_Mn.h: Likewise.
21408         * lib/unictype/categ_N.h: Likewise.
21409         * lib/unictype/categ_Nd.h: Likewise.
21410         * lib/unictype/categ_No.h: Likewise.
21411         * lib/unictype/categ_P.h: Likewise.
21412         * lib/unictype/categ_Po.h: Likewise.
21413         * lib/unictype/categ_S.h: Likewise.
21414         * lib/unictype/categ_Sc.h: Likewise.
21415         * lib/unictype/categ_Sk.h: Likewise.
21416         * lib/unictype/categ_Sm.h: Likewise.
21417         * lib/unictype/categ_So.h: Likewise.
21418         * lib/unictype/categ_of.h: Likewise.
21419         * lib/unictype/combining.h: Likewise.
21420         * lib/unictype/ctype_alnum.h: Likewise.
21421         * lib/unictype/ctype_alpha.h: Likewise.
21422         * lib/unictype/ctype_graph.h: Likewise.
21423         * lib/unictype/ctype_lower.h: Likewise.
21424         * lib/unictype/ctype_print.h: Likewise.
21425         * lib/unictype/ctype_punct.h: Likewise.
21426         * lib/unictype/ctype_upper.h: Likewise.
21427         * lib/unictype/decdigit.h: Likewise.
21428         * lib/unictype/digit.h: Likewise.
21429         * lib/unictype/numeric.h: Likewise.
21430         * lib/unictype/pr_alphabetic.h: Likewise.
21431         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21432         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21433         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21434         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21435         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21436         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21437         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21438         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21439         * lib/unictype/pr_case_ignorable.h: Likewise.
21440         * lib/unictype/pr_cased.h: Likewise.
21441         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
21442         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
21443         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
21444         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
21445         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
21446         * lib/unictype/pr_combining.h: Likewise.
21447         * lib/unictype/pr_composite.h: Likewise.
21448         * lib/unictype/pr_currency_symbol.h: Likewise.
21449         * lib/unictype/pr_decimal_digit.h: Likewise.
21450         * lib/unictype/pr_deprecated.h: Likewise.
21451         * lib/unictype/pr_format_control.h: Likewise.
21452         * lib/unictype/pr_grapheme_base.h: Likewise.
21453         * lib/unictype/pr_grapheme_extend.h: Likewise.
21454         * lib/unictype/pr_grapheme_link.h: Likewise.
21455         * lib/unictype/pr_id_continue.h: Likewise.
21456         * lib/unictype/pr_id_start.h: Likewise.
21457         * lib/unictype/pr_ideographic.h: Likewise.
21458         * lib/unictype/pr_lowercase.h: Likewise.
21459         * lib/unictype/pr_math.h: Likewise.
21460         * lib/unictype/pr_numeric.h: Likewise.
21461         * lib/unictype/pr_other_alphabetic.h: Likewise.
21462         * lib/unictype/pr_other_id_continue.h: Likewise.
21463         * lib/unictype/pr_other_math.h: Likewise.
21464         * lib/unictype/pr_punctuation.h: Likewise.
21465         * lib/unictype/pr_sentence_terminal.h: Likewise.
21466         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21467         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21468         * lib/unictype/pr_unified_ideograph.h: Likewise.
21469         * lib/unictype/pr_uppercase.h: Likewise.
21470         * lib/unictype/pr_xid_continue.h: Likewise.
21471         * lib/unictype/pr_xid_start.h: Likewise.
21472         * lib/unictype/scripts.h: Likewise.
21473         * lib/unictype/scripts_byname.gperf: Likewise.
21474         * lib/unictype/sy_java_ident.h: Likewise.
21475         * lib/unigbrk/gbrkprop.h: Likewise.
21476         * lib/unilbrk/lbrkprop1.h: Likewise.
21477         * lib/unilbrk/lbrkprop2.h: Likewise.
21478         * lib/uninorm/decomposition-table2.h: Likewise.
21479         * lib/uniwbrk/wbrkprop.h: Likewise.
21480         * tests/unicase/test-cased.c: Likewise.
21481         * tests/unicase/test-ignorable.c: Likewise.
21482         * tests/unicase/test-uc_tolower.c: Likewise.
21483         * tests/unicase/test-uc_totitle.c: Likewise.
21484         * tests/unicase/test-uc_toupper.c: Likewise.
21485         * tests/unictype/test-categ_C.c: Likewise.
21486         * tests/unictype/test-categ_Cn.c: Likewise.
21487         * tests/unictype/test-categ_L.c: Likewise.
21488         * tests/unictype/test-categ_Ll.c: Likewise.
21489         * tests/unictype/test-categ_Lm.c: Likewise.
21490         * tests/unictype/test-categ_Lo.c: Likewise.
21491         * tests/unictype/test-categ_Lu.c: Likewise.
21492         * tests/unictype/test-categ_M.c: Likewise.
21493         * tests/unictype/test-categ_Mc.c: Likewise.
21494         * tests/unictype/test-categ_Me.c: Likewise.
21495         * tests/unictype/test-categ_Mn.c: Likewise.
21496         * tests/unictype/test-categ_N.c: Likewise.
21497         * tests/unictype/test-categ_Nd.c: Likewise.
21498         * tests/unictype/test-categ_No.c: Likewise.
21499         * tests/unictype/test-categ_P.c: Likewise.
21500         * tests/unictype/test-categ_Po.c: Likewise.
21501         * tests/unictype/test-categ_S.c: Likewise.
21502         * tests/unictype/test-categ_Sc.c: Likewise.
21503         * tests/unictype/test-categ_Sk.c: Likewise.
21504         * tests/unictype/test-categ_Sm.c: Likewise.
21505         * tests/unictype/test-categ_So.c: Likewise.
21506         * tests/unictype/test-ctype_alnum.c: Likewise.
21507         * tests/unictype/test-ctype_alpha.c: Likewise.
21508         * tests/unictype/test-ctype_graph.c: Likewise.
21509         * tests/unictype/test-ctype_lower.c: Likewise.
21510         * tests/unictype/test-ctype_print.c: Likewise.
21511         * tests/unictype/test-ctype_punct.c: Likewise.
21512         * tests/unictype/test-ctype_upper.c: Likewise.
21513         * tests/unictype/test-decdigit.h: Likewise.
21514         * tests/unictype/test-digit.h: Likewise.
21515         * tests/unictype/test-numeric.h: Likewise.
21516         * tests/unictype/test-pr_alphabetic.c: Likewise.
21517         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21518         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21519         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21520         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21521         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21522         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21523         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21524         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21525         * tests/unictype/test-pr_case_ignorable.c: Likewise.
21526         * tests/unictype/test-pr_cased.c: Likewise.
21527         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
21528         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
21529         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
21530         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
21531         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
21532         * tests/unictype/test-pr_combining.c: Likewise.
21533         * tests/unictype/test-pr_composite.c: Likewise.
21534         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21535         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21536         * tests/unictype/test-pr_deprecated.c: Likewise.
21537         * tests/unictype/test-pr_format_control.c: Likewise.
21538         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21539         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21540         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21541         * tests/unictype/test-pr_id_continue.c: Likewise.
21542         * tests/unictype/test-pr_id_start.c: Likewise.
21543         * tests/unictype/test-pr_ideographic.c: Likewise.
21544         * tests/unictype/test-pr_lowercase.c: Likewise.
21545         * tests/unictype/test-pr_math.c: Likewise.
21546         * tests/unictype/test-pr_numeric.c: Likewise.
21547         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21548         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21549         * tests/unictype/test-pr_other_math.c: Likewise.
21550         * tests/unictype/test-pr_punctuation.c: Likewise.
21551         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21552         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21553         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21554         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21555         * tests/unictype/test-pr_uppercase.c: Likewise.
21556         * tests/unictype/test-pr_xid_continue.c: Likewise.
21557         * tests/unictype/test-pr_xid_start.c: Likewise.
21558         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21559         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21560         changes.
21561         * lib/unictype/categ_Cc.h: Likewise.
21562         * lib/unictype/categ_Cf.h: Likewise.
21563         * lib/unictype/categ_Co.h: Likewise.
21564         * lib/unictype/categ_Cs.h: Likewise.
21565         * lib/unictype/categ_Lt.h: Likewise.
21566         * lib/unictype/categ_Nl.h: Likewise.
21567         * lib/unictype/categ_Pc.h: Likewise.
21568         * lib/unictype/categ_Pd.h: Likewise.
21569         * lib/unictype/categ_Pe.h: Likewise.
21570         * lib/unictype/categ_Pf.h: Likewise.
21571         * lib/unictype/categ_Pi.h: Likewise.
21572         * lib/unictype/categ_Ps.h: Likewise.
21573         * lib/unictype/categ_Z.h: Likewise.
21574         * lib/unictype/categ_Zl.h: Likewise.
21575         * lib/unictype/categ_Zp.h: Likewise.
21576         * lib/unictype/categ_Zs.h: Likewise.
21577         * lib/unictype/ctype_blank.h: Likewise.
21578         * lib/unictype/ctype_cntrl.h: Likewise.
21579         * lib/unictype/ctype_digit.h: Likewise.
21580         * lib/unictype/ctype_space.h: Likewise.
21581         * lib/unictype/ctype_xdigit.h: Likewise.
21582         * lib/unictype/mirror.h: Likewise.
21583         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21584         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21585         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21586         * lib/unictype/pr_bidi_control.h: Likewise.
21587         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21588         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21589         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21590         * lib/unictype/pr_bidi_pdf.h: Likewise.
21591         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21592         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21593         * lib/unictype/pr_dash.h: Likewise.
21594         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21595         * lib/unictype/pr_diacritic.h: Likewise.
21596         * lib/unictype/pr_extender.h: Likewise.
21597         * lib/unictype/pr_hex_digit.h: Likewise.
21598         * lib/unictype/pr_hyphen.h: Likewise.
21599         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21600         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21601         * lib/unictype/pr_ignorable_control.h: Likewise.
21602         * lib/unictype/pr_iso_control.h: Likewise.
21603         * lib/unictype/pr_join_control.h: Likewise.
21604         * lib/unictype/pr_left_of_pair.h: Likewise.
21605         * lib/unictype/pr_line_separator.h: Likewise.
21606         * lib/unictype/pr_logical_order_exception.h: Likewise.
21607         * lib/unictype/pr_non_break.h: Likewise.
21608         * lib/unictype/pr_not_a_character.h: Likewise.
21609         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21610         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21611         * lib/unictype/pr_other_id_start.h: Likewise.
21612         * lib/unictype/pr_other_lowercase.h: Likewise.
21613         * lib/unictype/pr_other_uppercase.h: Likewise.
21614         * lib/unictype/pr_paired_punctuation.h: Likewise.
21615         * lib/unictype/pr_paragraph_separator.h: Likewise.
21616         * lib/unictype/pr_pattern_syntax.h: Likewise.
21617         * lib/unictype/pr_pattern_white_space.h: Likewise.
21618         * lib/unictype/pr_private_use.h: Likewise.
21619         * lib/unictype/pr_quotation_mark.h: Likewise.
21620         * lib/unictype/pr_radical.h: Likewise.
21621         * lib/unictype/pr_soft_dotted.h: Likewise.
21622         * lib/unictype/pr_space.h: Likewise.
21623         * lib/unictype/pr_titlecase.h: Likewise.
21624         * lib/unictype/pr_variation_selector.h: Likewise.
21625         * lib/unictype/pr_white_space.h: Likewise.
21626         * lib/unictype/pr_zero_width.h: Likewise.
21627         * lib/unictype/sy_c_ident.h: Likewise.
21628         * lib/unictype/sy_c_whitespace.h: Likewise.
21629         * lib/unictype/sy_java_whitespace.h: Likewise.
21630         * lib/uninorm/composition-table.gperf: Likewise.
21631         * lib/uninorm/decomposition-table1.h: Likewise.
21632         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
21633         LB8.
21634         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21635         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21636         * modules/unictype/*: Bump version number of expected libunistring
21637         version.
21638
21639 2011-01-09  Bruno Haible  <bruno@clisp.org>
21640
21641         Update to Unicode 5.2.0.
21642         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
21643         trailing whitespace removed.
21644
21645 2011-01-09  Bruno Haible  <bruno@clisp.org>
21646
21647         New Unicode character properties, from Unicode 5.2.0.
21648         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
21649         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
21650         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
21651         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
21652         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
21653         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
21654         uc_is_property_cased, uc_is_property_case_ignorable,
21655         uc_is_property_changes_when_lowercased,
21656         uc_is_property_changes_when_uppercased,
21657         uc_is_property_changes_when_titlecased,
21658         uc_is_property_changes_when_casefolded,
21659         uc_is_property_changes_when_casemapped): New declarations.
21660         * lib/unictype/pr_byname.gperf: Add the new properties.
21661         * modules/unictype/property-byname (Depends-on): Depend on the new
21662         properties modules.
21663         * modules/unictype/property-all (Depends-on): Likewise.
21664         * MODULES.html.sh (Unicode string functions): Add
21665         unictype/property-case-ignorable, unictype/property-cased,
21666         unictype/property-changes-when-casefolded,
21667         unictype/property-changes-when-casemapped,
21668         unictype/property-changes-when-lowercased,
21669         unictype/property-changes-when-titlecased,
21670         unictype/property-changes-when-uppercased.
21671
21672         New module 'unictype/property-changes-when-casemapped'.
21673         * modules/unictype/property-changes-when-casemapped: New file.
21674         * lib/unictype/pr_changes_when_casemapped.c: New file.
21675         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
21676         generated by gen-uni-tables.
21677         * modules/unictype/property-changes-when-casemapped-tests: New file.
21678         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
21679         automatically generated by gen-uni-tables.
21680
21681         New module 'unictype/property-changes-when-casefolded'.
21682         * modules/unictype/property-changes-when-casefolded: New file.
21683         * lib/unictype/pr_changes_when_casefolded.c: New file.
21684         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
21685         generated by gen-uni-tables.
21686         * modules/unictype/property-changes-when-casefolded-tests: New file.
21687         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
21688         automatically generated by gen-uni-tables.
21689
21690         New module 'unictype/property-changes-when-titlecased'.
21691         * modules/unictype/property-changes-when-titlecased: New file.
21692         * lib/unictype/pr_changes_when_titlecased.c: New file.
21693         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
21694         generated by gen-uni-tables.
21695         * modules/unictype/property-changes-when-titlecased-tests: New file.
21696         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
21697         automatically generated by gen-uni-tables.
21698
21699         New module 'unictype/property-changes-when-uppercased'.
21700         * modules/unictype/property-changes-when-uppercased: New file.
21701         * lib/unictype/pr_changes_when_uppercased.c: New file.
21702         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
21703         generated by gen-uni-tables.
21704         * modules/unictype/property-changes-when-uppercased-tests: New file.
21705         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
21706         automatically generated by gen-uni-tables.
21707
21708         New module 'unictype/property-changes-when-lowercased'.
21709         * modules/unictype/property-changes-when-lowercased: New file.
21710         * lib/unictype/pr_changes_when_lowercased.c: New file.
21711         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
21712         generated by gen-uni-tables.
21713         * modules/unictype/property-changes-when-lowercased-tests: New file.
21714         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
21715         automatically generated by gen-uni-tables.
21716
21717         New module 'unictype/property-case-ignorable'.
21718         * modules/unictype/property-case-ignorable: New file.
21719         * lib/unictype/pr_case_ignorable.c: New file.
21720         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
21721         by gen-uni-tables.
21722         * modules/unictype/property-case-ignorable-tests: New file.
21723         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
21724         generated by gen-uni-tables.
21725
21726         New module 'unictype/property-cased'.
21727         * modules/unictype/property-cased: New file.
21728         * lib/unictype/pr_cased.c: New file.
21729         * lib/unictype/pr_cased.h: New file, automatically generated by
21730         gen-uni-tables.
21731         * modules/unictype/property-cased-tests: New file.
21732         * tests/unictype/test-pr_cased.c: New file, automatically generated by
21733         gen-uni-tables.
21734
21735 2011-01-09  Bruno Haible  <bruno@clisp.org>
21736
21737         Update to Unicode 5.2.0.
21738         * lib/gen-uni-tables.c (output_predicate, output_category,
21739         output_combclass, output_bidi_category, output_decimal_digit_test,
21740         output_decimal_digit, output_digit_test, output_digit,
21741         output_numeric_test, output_numeric, output_mirror, output_scripts,
21742         output_scripts_byname, output_blocks, output_ident_category): Fix
21743         comment header.
21744         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
21745         get_wbp.
21746         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
21747         items.
21748         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
21749         Changes_When_Lowercased, Changes_When_Uppercased,
21750         Changes_When_Titlecased, Changes_When_Casefolded,
21751         Changes_When_Casemapped.
21752         (is_property_alphabetic, is_property_default_ignorable_code_point):
21753         Update for Unicode 5.2.0.
21754         (is_property_cased, is_property_case_ignorable,
21755         is_property_changes_when_lowercased,
21756         is_property_changes_when_uppercased,
21757         is_property_changes_when_titlecased,
21758         is_property_changes_when_casefolded,
21759         is_property_changes_when_casemapped): New functions.
21760         (output_properties): Output also the properties cased, case_ignorable,
21761         changes_when_lowercased, changes_when_uppercased,
21762         changes_when_titlecased, changes_when_casefolded,
21763         changes_when_casemapped.
21764         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
21765         Unicode TR#11 revision 17 -> 19.
21766         (LBP_CP): New enumeration value.
21767         (LBP_*): Adjust values accordingly.
21768         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21769         TR#14 revision 22 -> 24.
21770         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
21771         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
21772         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21773         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
21774         is_WBP_MIDLETTER.
21775         (output_composition_tables): Allow for 24 bits instead of 16 bits in
21776         the code1 and code2 of each composition rule.
21777         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
21778         * lib/unicase/ignorable.h: Likewise.
21779         * lib/unicase/tocasefold.h: Likewise.
21780         * lib/unicase/tolower.h: Likewise.
21781         * lib/unicase/totitle.h: Likewise.
21782         * lib/unicase/toupper.h: Likewise.
21783         * lib/unictype/bidi_of.h: Likewise.
21784         * lib/unictype/blocks.h: Likewise.
21785         * lib/unictype/categ_C.h: Likewise.
21786         * lib/unictype/categ_Cf.h: Likewise.
21787         * lib/unictype/categ_Cn.h: Likewise.
21788         * lib/unictype/categ_L.h: Likewise.
21789         * lib/unictype/categ_Ll.h: Likewise.
21790         * lib/unictype/categ_Lm.h: Likewise.
21791         * lib/unictype/categ_Lo.h: Likewise.
21792         * lib/unictype/categ_Lu.h: Likewise.
21793         * lib/unictype/categ_M.h: Likewise.
21794         * lib/unictype/categ_Mc.h: Likewise.
21795         * lib/unictype/categ_Mn.h: Likewise.
21796         * lib/unictype/categ_N.h: Likewise.
21797         * lib/unictype/categ_Nd.h: Likewise.
21798         * lib/unictype/categ_Nl.h: Likewise.
21799         * lib/unictype/categ_No.h: Likewise.
21800         * lib/unictype/categ_P.h: Likewise.
21801         * lib/unictype/categ_Pd.h: Likewise.
21802         * lib/unictype/categ_Po.h: Likewise.
21803         * lib/unictype/categ_S.h: Likewise.
21804         * lib/unictype/categ_Sc.h: Likewise.
21805         * lib/unictype/categ_So.h: Likewise.
21806         * lib/unictype/categ_of.h: Likewise.
21807         * lib/unictype/combining.h: Likewise.
21808         * lib/unictype/ctype_alnum.h: Likewise.
21809         * lib/unictype/ctype_alpha.h: Likewise.
21810         * lib/unictype/ctype_graph.h: Likewise.
21811         * lib/unictype/ctype_lower.h: Likewise.
21812         * lib/unictype/ctype_print.h: Likewise.
21813         * lib/unictype/ctype_punct.h: Likewise.
21814         * lib/unictype/ctype_upper.h: Likewise.
21815         * lib/unictype/decdigit.h: Likewise.
21816         * lib/unictype/digit.h: Likewise.
21817         * lib/unictype/numeric.h: Likewise.
21818         * lib/unictype/pr_alphabetic.h: Likewise.
21819         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21820         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21821         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21822         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21823         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21824         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21825         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21826         * lib/unictype/pr_combining.h: Likewise.
21827         * lib/unictype/pr_composite.h: Likewise.
21828         * lib/unictype/pr_currency_symbol.h: Likewise.
21829         * lib/unictype/pr_dash.h: Likewise.
21830         * lib/unictype/pr_decimal_digit.h: Likewise.
21831         * lib/unictype/pr_deprecated.h: Likewise.
21832         * lib/unictype/pr_diacritic.h: Likewise.
21833         * lib/unictype/pr_extender.h: Likewise.
21834         * lib/unictype/pr_grapheme_base.h: Likewise.
21835         * lib/unictype/pr_grapheme_extend.h: Likewise.
21836         * lib/unictype/pr_grapheme_link.h: Likewise.
21837         * lib/unictype/pr_id_continue.h: Likewise.
21838         * lib/unictype/pr_id_start.h: Likewise.
21839         * lib/unictype/pr_ideographic.h: Likewise.
21840         * lib/unictype/pr_ignorable_control.h: Likewise.
21841         * lib/unictype/pr_logical_order_exception.h: Likewise.
21842         * lib/unictype/pr_lowercase.h: Likewise.
21843         * lib/unictype/pr_numeric.h: Likewise.
21844         * lib/unictype/pr_other_alphabetic.h: Likewise.
21845         * lib/unictype/pr_punctuation.h: Likewise.
21846         * lib/unictype/pr_sentence_terminal.h: Likewise.
21847         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21848         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21849         * lib/unictype/pr_unified_ideograph.h: Likewise.
21850         * lib/unictype/pr_uppercase.h: Likewise.
21851         * lib/unictype/pr_xid_continue.h: Likewise.
21852         * lib/unictype/pr_xid_start.h: Likewise.
21853         * lib/unictype/pr_zero_width.h: Likewise.
21854         * lib/unictype/scripts.h: Likewise.
21855         * lib/unictype/scripts_byname.gperf: Likewise.
21856         * lib/unictype/sy_java_ident.h: Likewise.
21857         * lib/unigbrk/gbrkprop.h: Likewise.
21858         * lib/unilbrk/lbrkprop1.h: Likewise.
21859         * lib/unilbrk/lbrkprop2.h: Likewise.
21860         * lib/unilbrk/lbrktables.h: Likewise.
21861         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
21862         LBP_CP. Implement rule LB30.
21863         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
21864         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
21865         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
21866         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
21867         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
21868         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
21869         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
21870         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
21871         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
21872         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
21873         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
21874         bits instead of 16 bits in the code1 and code2 of each composition
21875         rule.
21876         (uc_composition): Update for Unicode 5.2.0.
21877         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
21878         * lib/uninorm/decomposition-table2.h: Likewise.
21879         * lib/uniwbrk/wbrkprop.h: Likewise.
21880         * tests/unicase/test-cased.c: Likewise.
21881         * tests/unicase/test-ignorable.c: Likewise.
21882         * tests/unicase/test-uc_tolower.c: Likewise.
21883         * tests/unicase/test-uc_totitle.c: Likewise.
21884         * tests/unicase/test-uc_toupper.c: Likewise.
21885         * tests/unictype/test-categ_C.c: Likewise.
21886         * tests/unictype/test-categ_Cf.c: Likewise.
21887         * tests/unictype/test-categ_Cn.c: Likewise.
21888         * tests/unictype/test-categ_L.c: Likewise.
21889         * tests/unictype/test-categ_Ll.c: Likewise.
21890         * tests/unictype/test-categ_Lm.c: Likewise.
21891         * tests/unictype/test-categ_Lo.c: Likewise.
21892         * tests/unictype/test-categ_Lu.c: Likewise.
21893         * tests/unictype/test-categ_M.c: Likewise.
21894         * tests/unictype/test-categ_Mc.c: Likewise.
21895         * tests/unictype/test-categ_Mn.c: Likewise.
21896         * tests/unictype/test-categ_N.c: Likewise.
21897         * tests/unictype/test-categ_Nd.c: Likewise.
21898         * tests/unictype/test-categ_Nl.c: Likewise.
21899         * tests/unictype/test-categ_No.c: Likewise.
21900         * tests/unictype/test-categ_P.c: Likewise.
21901         * tests/unictype/test-categ_Pd.c: Likewise.
21902         * tests/unictype/test-categ_Po.c: Likewise.
21903         * tests/unictype/test-categ_S.c: Likewise.
21904         * tests/unictype/test-categ_Sc.c: Likewise.
21905         * tests/unictype/test-categ_So.c: Likewise.
21906         * tests/unictype/test-ctype_alnum.c: Likewise.
21907         * tests/unictype/test-ctype_alpha.c: Likewise.
21908         * tests/unictype/test-ctype_graph.c: Likewise.
21909         * tests/unictype/test-ctype_lower.c: Likewise.
21910         * tests/unictype/test-ctype_print.c: Likewise.
21911         * tests/unictype/test-ctype_punct.c: Likewise.
21912         * tests/unictype/test-ctype_upper.c: Likewise.
21913         * tests/unictype/test-decdigit.h: Likewise.
21914         * tests/unictype/test-digit.h: Likewise.
21915         * tests/unictype/test-numeric.h: Likewise.
21916         * tests/unictype/test-pr_alphabetic.c: Likewise.
21917         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21918         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21919         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
21920         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21921         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21922         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21923         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21924         * tests/unictype/test-pr_combining.c: Likewise.
21925         * tests/unictype/test-pr_composite.c: Likewise.
21926         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21927         * tests/unictype/test-pr_dash.c: Likewise.
21928         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21929         * tests/unictype/test-pr_deprecated.c: Likewise.
21930         * tests/unictype/test-pr_diacritic.c: Likewise.
21931         * tests/unictype/test-pr_extender.c: Likewise.
21932         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21933         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21934         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21935         * tests/unictype/test-pr_id_continue.c: Likewise.
21936         * tests/unictype/test-pr_id_start.c: Likewise.
21937         * tests/unictype/test-pr_ideographic.c: Likewise.
21938         * tests/unictype/test-pr_ignorable_control.c: Likewise.
21939         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
21940         * tests/unictype/test-pr_lowercase.c: Likewise.
21941         * tests/unictype/test-pr_numeric.c: Likewise.
21942         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21943         * tests/unictype/test-pr_punctuation.c: Likewise.
21944         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21945         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21946         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21947         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21948         * tests/unictype/test-pr_uppercase.c: Likewise.
21949         * tests/unictype/test-pr_xid_continue.c: Likewise.
21950         * tests/unictype/test-pr_xid_start.c: Likewise.
21951         * tests/unictype/test-pr_zero_width.c: Likewise.
21952         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21953         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
21954         changed behaviour: line breaking is now disallowed between a letter
21955         or '=' and '('.
21956         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21957         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21958         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
21959         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
21960         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21961         lib/uniwidth/width.c.
21962         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
21963         without comments, but with the original copyright notice.
21964         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21965         changes.
21966         * lib/unictype/categ_Cc.h: Likewise.
21967         * lib/unictype/categ_Co.h: Likewise.
21968         * lib/unictype/categ_Cs.h: Likewise.
21969         * lib/unictype/categ_Lt.h: Likewise.
21970         * lib/unictype/categ_Me.h: Likewise.
21971         * lib/unictype/categ_Pc.h: Likewise.
21972         * lib/unictype/categ_Pe.h: Likewise.
21973         * lib/unictype/categ_Pf.h: Likewise.
21974         * lib/unictype/categ_Pi.h: Likewise.
21975         * lib/unictype/categ_Ps.h: Likewise.
21976         * lib/unictype/categ_Sk.h: Likewise.
21977         * lib/unictype/categ_Sm.h: Likewise.
21978         * lib/unictype/categ_Z.h: Likewise.
21979         * lib/unictype/categ_Zl.h: Likewise.
21980         * lib/unictype/categ_Zp.h: Likewise.
21981         * lib/unictype/categ_Zs.h: Likewise.
21982         * lib/unictype/ctype_blank.h: Likewise.
21983         * lib/unictype/ctype_cntrl.h: Likewise.
21984         * lib/unictype/ctype_digit.h: Likewise.
21985         * lib/unictype/ctype_space.h: Likewise.
21986         * lib/unictype/ctype_xdigit.h: Likewise.
21987         * lib/unictype/mirror.h: Likewise.
21988         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21989         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21990         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21991         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21992         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21993         * lib/unictype/pr_bidi_control.h: Likewise.
21994         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21995         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21996         * lib/unictype/pr_bidi_pdf.h: Likewise.
21997         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21998         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21999         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22000         * lib/unictype/pr_format_control.h: Likewise.
22001         * lib/unictype/pr_hex_digit.h: Likewise.
22002         * lib/unictype/pr_hyphen.h: Likewise.
22003         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22004         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22005         * lib/unictype/pr_iso_control.h: Likewise.
22006         * lib/unictype/pr_join_control.h: Likewise.
22007         * lib/unictype/pr_left_of_pair.h: Likewise.
22008         * lib/unictype/pr_line_separator.h: Likewise.
22009         * lib/unictype/pr_math.h: Likewise.
22010         * lib/unictype/pr_non_break.h: Likewise.
22011         * lib/unictype/pr_not_a_character.h: Likewise.
22012         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22013         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22014         * lib/unictype/pr_other_id_continue.h: Likewise.
22015         * lib/unictype/pr_other_id_start.h: Likewise.
22016         * lib/unictype/pr_other_lowercase.h: Likewise.
22017         * lib/unictype/pr_other_math.h: Likewise.
22018         * lib/unictype/pr_other_uppercase.h: Likewise.
22019         * lib/unictype/pr_paired_punctuation.h: Likewise.
22020         * lib/unictype/pr_paragraph_separator.h: Likewise.
22021         * lib/unictype/pr_pattern_syntax.h: Likewise.
22022         * lib/unictype/pr_pattern_white_space.h: Likewise.
22023         * lib/unictype/pr_private_use.h: Likewise.
22024         * lib/unictype/pr_quotation_mark.h: Likewise.
22025         * lib/unictype/pr_radical.h: Likewise.
22026         * lib/unictype/pr_soft_dotted.h: Likewise.
22027         * lib/unictype/pr_space.h: Likewise.
22028         * lib/unictype/pr_titlecase.h: Likewise.
22029         * lib/unictype/pr_variation_selector.h: Likewise.
22030         * lib/unictype/pr_white_space.h: Likewise.
22031         * lib/unictype/sy_c_ident.h: Likewise.
22032         * lib/unictype/sy_c_whitespace.h: Likewise.
22033         * lib/unictype/sy_java_whitespace.h: Likewise.
22034         * modules/uni*/*: Bump version number of expected libunistring version.
22035         Reported by Simon Josefsson.
22036
22037 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22038
22039         useless-if-before-free: fix typo in --help and make the internal,
22040         automatic version date update process work once again.
22041         --help output contained a NUL character instead of the
22042         backslash-zero that was intended.  Also, the "must lie within
22043         the first 8 lines" line is on line 9, and hence not getting
22044         automatically updated.
22045         * build-aux/useless-if-before-free: Fix the former by adding a
22046         backslash, and the latter by condensing the three lines of what-it-does
22047         to a single line, leaving one line of slack for the future.
22048
22049 2011-01-09  Bruno Haible  <bruno@clisp.org>
22050
22051         uniwidth/width: Fix width of U+1D173..U+1D17A.
22052         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22053         symbolic_width, output_width_property_test): New functions.
22054         (main): Invoke output_nonspacing_property, output_width_property_test.
22055         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22056         U+1D173..U+1D17A.
22057         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22058         1.
22059         * modules/uniwidth/*: Bump version number of expected libunistring
22060         version.
22061         * modules/unilbrk/*: Likewise.
22062
22063 2011-01-08  Bruno Haible  <bruno@clisp.org>
22064
22065         uninorm tests: Preserve copyright of Unicode data file.
22066         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22067         Mention modifications.
22068
22069 2011-01-08  Bruno Haible  <bruno@clisp.org>
22070
22071         gen-uni-tables: Prepare for Unicode 5.2.0.
22072         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22073         (debug_output_lbp, output_lbp): Update.
22074
22075 2011-01-08  Bruno Haible  <bruno@clisp.org>
22076
22077         unilbrk: Clarify gen-uni-tables.c code.
22078         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22079         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22080         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22081
22082 2011-01-07  Bruno Haible  <bruno@clisp.org>
22083
22084         strtod: Restore errno when successfully parsing Infinity or NaN.
22085         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22086         restore the original errno.
22087
22088 2011-01-07  Bruno Haible  <bruno@clisp.org>
22089
22090         remove test: Avoid failure on HP-UX 11.
22091         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22092
22093 2011-01-07  Bruno Haible  <bruno@clisp.org>
22094
22095         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
22096         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
22097         error code.
22098
22099 2011-01-07  Pádraig Brady <P@draigBrady.com>
22100
22101         ignore-value: fixup comments, and add Eric Blake
22102         as an author since he rewrote the macros.
22103         * lib/ignore-value.h (ignore_value):  State that
22104         we now support aggregates.  Also specify exactly
22105         when the GCC warn_unused_result feature was added.
22106
22107 2011-01-06  Eric Blake  <eblake@redhat.com>
22108
22109         ignore-value: support aggregate types
22110         * lib/ignore-value.h (ignore_value): Provide separate gcc
22111         definition.
22112         * modules/ignore-value-tests: New test module.
22113         * tests/test-ignore-value.c: New test.
22114
22115         maint.mk: improve sc_prohibit_strcmp regex
22116         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
22117         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
22118         definition of STRNEQ.
22119
22120         signal: work around Haiku issue with SIGBUS
22121         * lib/siglist.h: Add comment.
22122         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
22123         strsignal's favoring of SIGSEGV.
22124         * tests/test-signal.c (main): Avoid test failure.
22125         * doc/posix-headers/signal.texi (signal.h): Document the issue.
22126         Reported by Scott McCreary.
22127
22128         maint.mk: add pre-release check to ensure submodule commits are public
22129         * top/maint.mk (public-submodule-commit): New rule.
22130         (submodule-checks): New variable.
22131         (alpha beta stable): Depend on the variable.
22132
22133 2011-01-05  Pádraig Brady <P@draigBrady.com>
22134         and Jim Meyering  <meyering@redhat.com>
22135
22136         ignore-value: make ignore_value more generic; deprecate ignore_ptr
22137         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
22138         (ATTRIBUTE_DEPRECATED): Define.
22139         (_ignore_case): New function.
22140         (ignore_value): New macro, to replace the old function.
22141         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
22142         * modules/ignore-value (Depends-on): Add stdint.
22143
22144 2011-01-04  Eric Blake  <eblake@redhat.com>
22145
22146         doc: regenerate INSTALL
22147         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
22148         @firstparagraphindent support, now that autoconf dropped it.
22149         (INSTALL_PRELUDE): Reinstate old macro.
22150         * doc/install.texi: Resync from autoconf.
22151         * doc/INSTALL: Reflect recent autoconf update.
22152         * doc/INSTALL.ISO: Likewise.
22153         * doc/INSTALL.UTF-8: Likewise.
22154         Reported by Karl Berry.
22155
22156 2011-01-04  Bruce Korb  <address@hidden>
22157
22158         git-version-gen: avoid a sub-shell
22159         * build-aux/git-version-gen: Redirect stderr in `...` via
22160         "exec 2>...", rather than via an added sub-shell.
22161
22162 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
22163
22164         git-version-gen: use (...) rather than sh -c '...'
22165         * build-aux/git-version-gen: Rather than hard-coding a shell's name
22166         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
22167
22168 2011-01-03  Jim Meyering  <meyering@redhat.com>
22169
22170         git-version-gen: convert leading TABs to spaces
22171         * build-aux/git-version-gen: Expand leading TABs.
22172
22173         git-version-gen: handle failed "git rev-list"
22174         * build-aux/git-version-gen: Rather than leaking a "fatal" error
22175         from git and proceeding as if it had succeeded but printed no SHA1
22176         checksums, suppress the diagnostic and handle the failure.
22177         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
22178
22179         git-version-gen: include command name in one more diagnostic
22180         * build-aux/git-version-gen: When the required .tarball-version file
22181         was missing or unreadable, you might see the diagnostic from "cat",
22182         but no trace of the name of the invoking script.  Now, you still see
22183         the diagnostic from cat, but also get one from "git-version-gen: ".
22184         Inspired by a patch from Bruce Korb.
22185
22186         update-copyright: adjust test to match changed code
22187         * tests/test-update-copyright.sh: Change test's expected output
22188         to match new actual output.
22189
22190 2011-01-02  Bruno Haible  <bruno@clisp.org>
22191
22192         getlogin_r: Avoid test failure on HP-UX 11.
22193         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
22194         ERANGE when the second argument is zero.
22195         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
22196         portability problem.
22197
22198 2011-01-02  Bruce Korb  <bkorb@gnu.org>
22199
22200         * build-aux/update-copyright: doc Simon's changes
22201
22202 2011-01-02  Simon Josefsson  <simon@josefsson.org>
22203
22204         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
22205         environment variable.
22206
22207 2011-01-02  Bruno Haible  <bruno@clisp.org>
22208
22209         unigbrk: Avoid gcc warnings.
22210         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
22211         unused variable.
22212         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
22213         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
22214         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
22215         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
22216         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
22217         Change type of first argument to 'const char *'.
22218         (main): Remove unused variable.
22219         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
22220         type of first argument to 'const char *'.
22221         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
22222         Likewise.
22223         (main): Change type of variable 's'.
22224         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
22225         to 'int'.
22226
22227 2011-01-02  Bruno Haible  <bruno@clisp.org>
22228
22229         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
22230         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
22231         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
22232         bug.
22233         * lib/pwrite.c: Undo 2010-12-31 patch.
22234         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
22235
22236 2011-01-02  Bruno Haible  <bruno@clisp.org>
22237
22238         pread: Fix test whether it works.
22239         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
22240
22241 2011-01-02  Bruno Haible  <bruno@clisp.org>
22242
22243         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
22244         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
22245         ends in "6". Don't require a specific month name. Try also the locale
22246         names found on HP-UX 11 and Solaris 7.
22247
22248 2011-01-02  Bruno Haible  <bruno@clisp.org>
22249
22250         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
22251         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
22252         C linkage.
22253         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
22254
22255 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22256
22257         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
22258         for consistency, since the "cluster" term is not used elsewhere.
22259         * lib/unigbrk.in.h: Update name.
22260         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
22261         * lib/unigbrk/u16-grapheme-next.c: Update name.
22262         * lib/unigbrk/u16-grapheme-prev.c: Update name.
22263         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
22264         * lib/unigbrk/u32-grapheme-next.c: Update name.
22265         * lib/unigbrk/u32-grapheme-prev.c: Update name.
22266         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
22267         * lib/unigbrk/u8-grapheme-next.c: Update name.
22268         * lib/unigbrk/u8-grapheme-prev.c: Update name.
22269         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
22270         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
22271         Suggested by Bruno Haible.
22272
22273 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22274
22275         Remove module 'u8-grapheme-len' as too redundant with
22276         'u8-grapheme-next'.
22277         * modules/unigbrk/u8-grapheme-len: Delete file.
22278         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
22279         * lib/unigbrk.in.h: Remove prototype for deleted function.
22280         * lib/unigbrk/u8-grapheme-len.c: Delete file.
22281         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
22282
22283         Remove module 'u16-grapheme-len' as too redundant with
22284         'u16-grapheme-next'.
22285         * modules/unigbrk/u16-grapheme-len: Delete file.
22286         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
22287         * lib/unigbrk.in.h: Remove prototype for deleted function.
22288         * lib/unigbrk/u16-grapheme-len.c: Delete file.
22289         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
22290
22291         Remove module 'u32-grapheme-len' as too redundant with
22292         'u32-grapheme-next'.
22293         * modules/unigbrk/u32-grapheme-len: Delete file.
22294         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
22295         * lib/unigbrk.in.h: Remove prototype for deleted function.
22296         * lib/unigbrk/u32-grapheme-len.c: Delete file.
22297         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
22298
22299         Suggested by Bruno Haible.
22300
22301 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22302
22303         * unigbrk.in.h: Fix typo: "ben" => "been".
22304         Reported by Bruno Haible.
22305
22306 2011-01-01  Jim Meyering  <meyering@redhat.com>
22307
22308         maint: update almost all copyright ranges to include 2011
22309         Run the new "make update-copyright" rule.
22310
22311 2011-01-01  Jim Meyering  <meyering@redhat.com>
22312
22313         maint: update-copyright: exempt doc/INSTALL*
22314         * Makefile (update-copyright): Also exclude doc/INSTALL*,
22315         since they are generated.  Suggested by Bruno Haible.
22316
22317 2011-01-01  Jim Meyering  <meyering@redhat.com>
22318
22319         maint: refine the update-copyright rule
22320         * Makefile (update-copyright): Also exclude any file that includes
22321         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
22322         code that merely generates the comment.
22323
22324 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22325
22326         New module 'u8-grapheme-len'.
22327         * modules/unigbrk/u8-grapheme-len: New file.
22328         * modules/unigbrk/u8-grapheme-len-tests: New file.
22329         * lib/unigbrk.in.h: Add prototype for new function.
22330         * lib/unigbrk/u8-grapheme-len.c: New file.
22331         * tests/unigbrk/test-u8-grapheme-len.c: New file.
22332
22333         New module 'u16-grapheme-len'.
22334         * modules/unigbrk/u16-grapheme-len: New file.
22335         * modules/unigbrk/u16-grapheme-len-tests: New file.
22336         * lib/unigbrk.in.h: Add prototype for new function.
22337         * lib/unigbrk/u16-grapheme-len.c: New file.
22338         * tests/unigbrk/test-u16-grapheme-len.c: New file.
22339
22340         New module 'u32-grapheme-len'.
22341         * modules/unigbrk/u32-grapheme-len: New file.
22342         * modules/unigbrk/u32-grapheme-len-tests: New file.
22343         * lib/unigbrk.in.h: Add prototype for new function.
22344         * lib/unigbrk/u32-grapheme-len.c: New file.
22345         * tests/unigbrk/test-u32-grapheme-len.c: New file.
22346
22347         New module 'u8-grapheme-next'.
22348         * modules/unigbrk/u8-grapheme-next: New file.
22349         * modules/unigbrk/u8-grapheme-next-tests: New file.
22350         * lib/unigbrk.in.h: Add prototype for new function.
22351         * lib/unigbrk/u8-grapheme-next.c: New file.
22352         * tests/unigbrk/test-u8-grapheme-next.c: New file.
22353
22354         New module 'u16-grapheme-next'.
22355         * modules/unigbrk/u16-grapheme-next: New file.
22356         * modules/unigbrk/u16-grapheme-next-tests: New file.
22357         * lib/unigbrk.in.h: Add prototype for new function.
22358         * lib/unigbrk/u16-grapheme-next.c: New file.
22359         * tests/unigbrk/test-u16-grapheme-next.c: New file.
22360
22361         New module 'u32-grapheme-next'.
22362         * modules/unigbrk/u32-grapheme-next: New file.
22363         * modules/unigbrk/u32-grapheme-next-tests: New file.
22364         * lib/unigbrk.in.h: Add prototype for new function.
22365         * lib/unigbrk/u32-grapheme-next.c: New file.
22366         * tests/unigbrk/test-u32-grapheme-next.c: New file.
22367
22368         New module 'u8-grapheme-prev'.
22369         * modules/unigbrk/u8-grapheme-prev: New file.
22370         * modules/unigbrk/u8-grapheme-prev-tests: New file.
22371         * lib/unigbrk.in.h: Add prototype for new function.
22372         * lib/unigbrk/u8-grapheme-prev.c: New file.
22373         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
22374
22375         New module 'u16-grapheme-prev'.
22376         * modules/unigbrk/u16-grapheme-prev: New file.
22377         * modules/unigbrk/u16-grapheme-prev-tests: New file.
22378         * lib/unigbrk.in.h: Add prototype for new function.
22379         * lib/unigbrk/u16-grapheme-prev.c: New file.
22380         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
22381
22382         New module 'u32-grapheme-prev'.
22383         * modules/unigbrk/u32-grapheme-prev: New file.
22384         * modules/unigbrk/u32-grapheme-prev-tests: New file.
22385         * lib/unigbrk.in.h: Add prototype for new function.
22386         * lib/unigbrk/u32-grapheme-prev.c: New file.
22387         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
22388
22389         New module 'u8-grapheme-breaks'.
22390         * modules/unigbrk/u8-grapheme-breaks: New file.
22391         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
22392         * lib/unigbrk.in.h: Add prototype for new function.
22393         * lib/unigbrk/u8-grapheme-breaks.c: New file.
22394         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
22395
22396         New module 'u16-grapheme-breaks'.
22397         * modules/unigbrk/u16-grapheme-breaks: New file.
22398         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
22399         * lib/unigbrk.in.h: Add prototype for new function.
22400         * lib/unigbrk/u16-grapheme-breaks.c: New file.
22401         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
22402
22403         New module 'u32-grapheme-breaks'.
22404         * modules/unigbrk/u32-grapheme-breaks: New file.
22405         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
22406         * lib/unigbrk.in.h: Add prototype for new function.
22407         * lib/unigbrk/u32-grapheme-breaks.c: New file.
22408         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
22409
22410         New module 'ulc-grapheme-breaks'.
22411         * modules/unigbrk/ulc-grapheme-breaks: New file.
22412         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
22413         * m4/locale-ar.m4: New file.
22414         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
22415         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
22416         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
22417
22418 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22419
22420         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
22421         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
22422         modified how this file was generated before I initially submitted
22423         the module, but failed to regenerate it.  This meant that several
22424         of the level2 entries were wrong.
22425         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
22426         Remove the division-by-2 that is folded into the table now that
22427         gbrkprop.h has been regenerated properly.  Now -1 entries are
22428         handled correctly.
22429
22430         New module 'unigbrk/uc-gbrk-prop-tests'.
22431         * modules/unigbrk/uc-gbrk-prop-tests: New file.
22432         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
22433         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
22434         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
22435
22436 2011-01-01  Bruno Haible  <bruno@clisp.org>
22437
22438         Avoid use of hexadecimal escapes.
22439         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
22440         instead of hexadecimal escapes.
22441
22442 2011-01-01  Jim Meyering  <meyering@redhat.com>
22443
22444         maint: new rule to update copyright year ranges
22445         * Makefile (update-copyright): New rule.
22446
22447         maint: indent with TABs in Makefile
22448         * Makefile: Expand leading sequences of spaces to TABs
22449
22450         version-etc: update the copyright year it reports
22451         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
22452
22453 2010-12-31  Bruno Haible  <bruno@clisp.org>
22454
22455         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
22456         * lib/isfinite.c (zerof, zerod, zerol): New variables.
22457         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
22458         zero.
22459
22460 2010-12-31  Bruno Haible  <bruno@clisp.org>
22461
22462         pwrite: Work around HP-UX 11.11 bug.
22463         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
22464         works and set REPLACE_PWRITE if not.
22465         * lib/pwrite.c (pwrite): Add an implementation that uses the system
22466         function.
22467         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
22468
22469 2010-12-31  Bruno Haible  <bruno@clisp.org>
22470
22471         pread: Work around HP-UX 11 bugs.
22472         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
22473         and set REPLACE_PREAD if not.
22474         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
22475
22476 2010-12-31  Eric Blake  <eblake@redhat.com>
22477
22478         nl_langinfo: fix YESEXPR on Irix 6.5
22479         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
22480         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
22481         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
22482         it.
22483
22484 2010-12-31  Bruno Haible  <bruno@clisp.org>
22485
22486         iconv: Document HP-UX 11 bug.
22487         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
22488
22489 2010-12-31  Bruno Haible  <bruno@clisp.org>
22490
22491         ldexpl: Fix link error on HP-UX 11.
22492         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
22493         LDEXPL_LIBM, using $ISNANL_LIBM.
22494
22495 2010-12-31  Eric Blake  <eblake@redhat.com>
22496
22497         ftello: avoid compilation failure with SunStudio c89
22498         * lib/ftello.c (ftello): Use lseek, not llseek.
22499
22500         tests: avoid failing coreutils tests on cygwin
22501         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
22502         (create_exe_shims_): Return 0 when skipping.
22503
22504 2010-12-31  Bruno Haible  <bruno@clisp.org>
22505
22506         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
22507         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
22508
22509 2010-12-31  Bruno Haible  <bruno@clisp.org>
22510
22511         waitpid: Fix link error in C++ mode.
22512         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
22513
22514 2010-12-31  Bruno Haible  <bruno@clisp.org>
22515
22516         isnan: Use GCC built-ins when possible.
22517         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
22518         __builtin_isnan.
22519         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
22520         (isnan): Define using GCC built-ins for GCC >= 4.0.
22521
22522 2010-12-31  Bruno Haible  <bruno@clisp.org>
22523
22524         isnand: Fix mistake.
22525         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
22526         __builtin_isnand.
22527
22528 2010-12-31  Bruno Haible  <bruno@clisp.org>
22529
22530         open: Avoid C++ error on HP-UX 11.
22531         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
22532
22533 2010-12-31  Bruno Haible  <bruno@clisp.org>
22534
22535         time_r: Add missing declarations on HP-UX 11.
22536         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
22537         instead of HAVE_LOCALTIME_R.
22538         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
22539         HAVE_LOCALTIME_R always.
22540         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
22541         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
22542         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
22543         HAVE_LOCALTIME_R.
22544         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
22545         * doc/posix-functions/localtime_r.texi: Likewise.
22546
22547 2010-12-29  Eric Blake  <eblake@redhat.com>
22548
22549         mountlist: tweak previous commit
22550         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
22551         Reported by Paul Eggert.
22552
22553         mountlist: fix local drive detection on cygwin
22554         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
22555         that works for cygwin.
22556
22557 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
22558
22559         ftoastr, snprintf: ftoastr + snprintf module
22560         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
22561         since the snprintf module now should be good enough here.
22562         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
22563         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
22564         and gl_MODULE_INDICATOR([snprintf]), but the former enables
22565         GNULIB_SNPRINTF only for the test directory, and the latter
22566         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
22567         seems to suffice by itself.
22568
22569 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
22570
22571         alloca: one step towards thread-safety
22572         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
22573         need for a static variable.  All callers changed.  This does not
22574         make the alloca replacement thread-safe, but it's one step.
22575
22576         tests: minor indenting change
22577         * tests/init.sh: Sync from coreutils housekeeping patch
22578         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
22579         to keep lines within 80 columns.
22580
22581 2010-12-28  Jim Meyering  <meyering@redhat.com>
22582
22583         regex: don't infloop on persistent failing calloc
22584         * lib/regexec.c (build_trtable): Return failure indication upon
22585         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
22586         In glibc, this was fixed for version 2.13:
22587         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
22588
22589 2010-12-28  Bruno Haible  <bruno@clisp.org>
22590             Paul Eggert <eggert@cs.ucla.edu>
22591
22592         linkat: Make implementation robust against system behaviour variations.
22593         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
22594         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
22595         way, and to -2 if it needs a generic runtime test.
22596         * lib/linkat.c (solaris_optimized_link_immediate,
22597         solaris_optimized_link_follow): New functions.
22598         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
22599         (check_same_link): Use it.
22600
22601 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
22602
22603         New module 'unigbrk/base'.
22604         * modules/unigbrk/base: New file.
22605         * lib/unigbrk.in.h: New file.
22606
22607         New module 'unigbrk/uc-gbrk-prop'.
22608         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
22609         * modules/unigbrk/uc-gbrk-prop: New file.
22610         * lib/unigbrk/gbrkprop.h: New file.
22611         * lib/unigbrk/uc-gbrk-prop.c: New file.
22612
22613         New module 'unigbrk/uc-is-grapheme-break'.
22614         * modules/unigbrk/uc-is-grapheme-break: New file.
22615         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
22616         * lib/unigbrk/uc-is-grapheme-break.c: New file.
22617         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
22618         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
22619         * tests/unigbrk/GraphemeBreakTest.txt: New file.
22620
22621         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
22622
22623 2010-12-27  Bruno Haible  <bruno@clisp.org>
22624
22625         linkat test: Avoid failure on Solaris 11 2010-11.
22626         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
22627
22628 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22629
22630         utimens: work around glibc rounding bug on more platforms
22631         * lib/utimens.c (fdutimens): Work around rounding bug even if
22632         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
22633         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
22634
22635 2010-12-27  Bruno Haible  <bruno@clisp.org>
22636
22637         select tests: Improve comments.
22638         * tests/test-select.c (do_select): Add comments.
22639
22640 2010-12-27  Bruno Haible  <bruno@clisp.org>
22641
22642         select tests: Safer way of handling timeout.
22643         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
22644         at every invocation.
22645
22646 2010-12-27  Bruno Haible  <bruno@clisp.org>
22647
22648         select tests: Use 'bool' where appropriate.
22649         * tests/test-select.c (connect_to_socket): Change argument type to
22650         'bool'.
22651
22652 2010-12-27  Bruno Haible  <bruno@clisp.org>
22653
22654         select tests: Use existing modules.
22655         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
22656         (configure.ac): Don't test for unistd.h.
22657         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
22658         declared in <unistd.h>.
22659
22660 2010-12-27  Bruno Haible  <bruno@clisp.org>
22661
22662         mbrtowc: Work around a Solaris 7 bug.
22663         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
22664         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
22665         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
22666         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
22667         MBRTOWC_NULL_ARG1_BUG.
22668         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
22669         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
22670         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
22671         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
22672
22673 2010-12-27  Jim Meyering  <meyering@redhat.com>
22674
22675         read-file.c: tweak syntax
22676         * lib/read-file.c (fread_file): Remove space after "*" in function
22677         definitions.
22678
22679 2010-12-27  Bruno Haible  <bruno@clisp.org>
22680
22681         times test: Avoid gcc warnings on OSF/1.
22682         * tests/test-times.c (main): Cast printf arguments from clock_t to
22683         'long int'.
22684
22685 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22686
22687         utimens: work around glibc rounding bug on older Linux kernels
22688         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
22689         on Linux with a glibc whose utimes might not work, then work
22690         around a longstanding glibc bug involving rounding rather than
22691         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
22692         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22693
22694 2010-12-26  Bruno Haible  <bruno@clisp.org>
22695
22696         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
22697         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
22698         _GL_CXXALIAS_SYS.
22699         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22700
22701 2010-12-26  Bruno Haible  <bruno@clisp.org>
22702
22703         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
22704         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
22705         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22706         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
22707         looking for the declaration.
22708         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
22709         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
22710         problem.
22711         * doc/posix-functions/inet_pton.texi: Likewise.
22712
22713 2010-12-26  Bruno Haible  <bruno@clisp.org>
22714
22715         arpa_inet: Use the common idioms with C++ support.
22716         * lib/arpa_inet.in.h: Include c++defs.h.
22717         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
22718         support.
22719         * modules/arpa_inet (Depends-on): Add c++defs.
22720         (Makefile.am): Substitute the contents of c++defs.h.
22721         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
22722         * modules/arpa_inet-c++-tests: New file.
22723         * tests/test-arpa_inet-c++.cc: New file.
22724
22725 2010-12-25  Bruno Haible  <bruno@clisp.org>
22726
22727         Fix more C++ link errors on Solaris 8.
22728         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
22729         $(LIB_EACCESS).
22730         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
22731         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
22732         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
22733         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
22734         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
22735
22736 2010-12-25  Bruno Haible  <bruno@clisp.org>
22737
22738         printf-posix: Fix link error when a non-GCC compiler is used.
22739         * lib/stdio.in.h (printf): When not using GCC, override printf
22740         correctly.
22741         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22742
22743 2010-12-25  Bruno Haible  <bruno@clisp.org>
22744
22745         strerror_r-posix: Update doc.
22746         * doc/posix-functions/strerror_r.texi: Update doc about the return
22747         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
22748
22749 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
22750
22751         utimens: simplify the logic of the previous change
22752         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
22753         This should not affect whether the test succeeds or fails.
22754
22755         utimens: configure better on hosts with NFS clock skew
22756         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
22757         uses the clock of the local host.  It might use the clock of the
22758         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
22759         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22760
22761 2010-12-25  Bruno Haible  <bruno@clisp.org>
22762
22763         ptsname test: Avoid failure on Solaris.
22764         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
22765         open a pseudo-terminal; don't use BSD-style ptys.
22766         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
22767
22768 2010-12-25  Bruno Haible  <bruno@clisp.org>
22769
22770         ptsname: Avoid ERANGE failure on some systems.
22771         * lib/ptsname.c (buffer): Increase size.
22772
22773 2010-12-25  Bruno Haible  <bruno@clisp.org>
22774
22775         rename, renameat: Avoid test failures at NFS mounted locations.
22776         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
22777         so that subsequent mkdir calls succeed.
22778
22779 2010-12-25  Bruno Haible  <bruno@clisp.org>
22780
22781         iswblank: Fix C++ link error on Solaris 8.
22782         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
22783         _GL_FUNCDECL_SYS.
22784
22785 2010-12-25  Bruno Haible  <bruno@clisp.org>
22786
22787         unistd: Fix C++ link error on Solaris 8.
22788         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
22789
22790 2010-12-25  Bruno Haible  <bruno@clisp.org>
22791
22792         readlink doc: Mention an old glibc bug.
22793         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
22794
22795 2010-12-25  Bruno Haible  <bruno@clisp.org>
22796
22797         fcntl-h: Fix for use of C++ on glibc systems.
22798         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22799         also on glibc systems in C++ mode.
22800         Reported by Gary V. Vaughan <gary@gnu.org>.
22801
22802 2010-12-25  Bruno Haible  <bruno@clisp.org>
22803
22804         roundl-ieee: Make it work on OSF/1 5.1 with cc.
22805         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
22806
22807 2010-12-25  Bruno Haible  <bruno@clisp.org>
22808
22809         truncl-ieee: Make it work on OSF/1 5.1 with cc.
22810         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
22811         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
22812         test whether truncl works according to ISO C 99 with IEC 60559.
22813         * m4/truncl-ieee.m4: New file.
22814         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
22815         m4/signbit.m4.
22816         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
22817
22818 2010-12-25  Bruno Haible  <bruno@clisp.org>
22819
22820         ceill-ieee: Make it work on OSF/1 5.1 with cc.
22821         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
22822         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
22823         test whether ceill works according to ISO C 99 with IEC 60559.
22824         * m4/ceill-ieee.m4: New file.
22825         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
22826         m4/signbit.m4.
22827         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
22828
22829 2010-12-25  Bruno Haible  <bruno@clisp.org>
22830
22831         Ensure all prerequisites of <wchar.h> are included.
22832         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
22833         before <wchar.h>.
22834         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22835         gl_MBRLEN_NUL_RETVAL): Likewise.
22836         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22837         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
22838         AC_FUNC_MBRTOWC): Likewise.
22839         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22840         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
22841         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22842         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22843         Likewise.
22844         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22845         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
22846         (gl_WCHAR_H): Improve comments.
22847         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22848
22849 2010-12-25  Bruno Haible  <bruno@clisp.org>
22850
22851         strtok_r: Fix C syntax error in autoconf macro.
22852         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
22853         characters in test program.
22854
22855 2010-12-24  Bruno Haible  <bruno@clisp.org>
22856
22857         ceil, trunc, round: Fix gcc warnings.
22858         * lib/ceil.c (MIN): Undefine before redefining.
22859         * lib/trunc.c (MIN): Likewise.
22860         * lib/round.c (MIN): Likewise.
22861         Include <math.h> first.
22862
22863 2010-12-24  Bruno Haible  <bruno@clisp.org>
22864
22865         select tests: Avoid failures on OSF/1 5.1.
22866         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
22867         failure of closing the last socket; it may fail with ECONNRESET.
22868
22869 2010-12-24  Eric Blake  <eblake@redhat.com>
22870
22871         stdint: avoid HP-UX 10.20 preprocessor bug
22872         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
22873         than #if.
22874         * tests/test-floor2.c (main): Likewise.
22875         Reported by Peter O'Gorman.
22876
22877         pipe: make obsoletion transition easier
22878         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
22879         * modules/pipe (Files): Include revived file.
22880         (Include): Drop reference, to mirror getdate's behavior.
22881
22882 2010-12-24  Bruno Haible  <bruno@clisp.org>
22883
22884         sys_socket: Hide mismatch of declarations on NonStop Kernel.
22885         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
22886         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
22887         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22888
22889 2010-12-24  Bruno Haible  <bruno@clisp.org>
22890
22891         gethostname: Ensure declaration on NonStop Kernel.
22892         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
22893         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22894
22895 2010-12-24  Bruno Haible  <bruno@clisp.org>
22896
22897         sys_select: Ensure all necessary types on NonStop Kernel.
22898         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
22899         include <sys/time.h>.
22900         * doc/posix-headers/sys_select.texi: Mention that it's missing on
22901         NonStop Kernel.
22902         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22903
22904 2010-12-24  Bruno Haible  <bruno@clisp.org>
22905
22906         sys_select: Remove unneeded include.
22907         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
22908         have <sys/select.h>.
22909
22910 2010-12-24  Bruno Haible  <bruno@clisp.org>
22911
22912         gethostname: Provide a fallback for HOST_NAME_MAX.
22913         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
22914         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
22915         instead.
22916         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22917
22918 2010-12-24  Bruno Haible  <bruno@clisp.org>
22919
22920         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
22921         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
22922         (SA_RESTART): Likewise.
22923         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22924
22925 2010-12-24  Bruno Haible  <bruno@clisp.org>
22926
22927         signal: Define NSIG.
22928         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
22929         * tests/test-signal.c (nsig): New variable.
22930         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22931
22932 2010-12-24  Bruno Haible  <bruno@clisp.org>
22933
22934         rename, renameat: Avoid test failures on OSF/1 5.1.
22935         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
22936         alternative error codes.
22937         * tests/test-renameat.c (main): Likewise.
22938
22939 2010-12-24  Bruno Haible  <bruno@clisp.org>
22940
22941         *printf: Detect large precisions bug on Solaris 10/SPARC.
22942         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
22943         by Paul Eggert.
22944         * tests/test-snprintf-posix.h (test_function): Add this test code here
22945         too.
22946         * tests/test-sprintf-posix.h (test_function): Likewise.
22947         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22948         * tests/test-vasprintf-posix.c (test_function): Likewise.
22949         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
22950         around by gnulib.
22951         * doc/posix-functions/printf.texi: Likewise.
22952         * doc/posix-functions/snprintf.texi: Likewise.
22953         * doc/posix-functions/sprintf.texi: Likewise.
22954         * doc/posix-functions/vfprintf.texi: Likewise.
22955         * doc/posix-functions/vprintf.texi: Likewise.
22956         * doc/posix-functions/vsnprintf.texi: Likewise.
22957         * doc/posix-functions/vsprintf.texi: Likewise.
22958         * doc/posix-functions/dprintf.texi: Undo last commit.
22959         * doc/posix-functions/vdprintf.texi: Likewise.
22960
22961 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
22962
22963         tests: port test-fdutimensat.c to Solaris 8
22964         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
22965         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
22966         On Solaris 8, it fails with errno == ENOSYS, because there is no
22967         futimens (so it can't use the fd), and there is no lutimens (so it
22968         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
22969
22970         vsnprintf: make more consistent with snprintf; doc fixes
22971
22972         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
22973         the byte count return problem was promoted from the snprintf-posix
22974         to the snprintf module.
22975         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
22976         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
22977         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
22978         * tests/test-snprintf.c (main): Check the byte count returned.
22979         * tests/test-vsnprintf.c (main): Likewise.
22980
22981 2010-12-23  Eric Blake  <eblake@redhat.com>
22982
22983         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
22984         * modules/sigpipe (License): Relax license.
22985
22986 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
22987
22988         doc: document Solaris printf bug with large float precisions
22989         * doc/posix-functions/dprintf.texi (dprintf):
22990         * doc/posix-functions/fprintf.texi (fprintf):
22991         * doc/posix-functions/printf.texi (printf):
22992         * doc/posix-functions/snprintf.texi (snprintf):
22993         * doc/posix-functions/sprintf.texi (sprintf):
22994         * doc/posix-functions/vdprintf.texi (vdprintf):
22995         * doc/posix-functions/vfprintf.texi (vfprintf):
22996         * doc/posix-functions/vprintf.texi (vprintf):
22997         * doc/posix-functions/vsnprintf.texi (vsnprintf):
22998         * doc/posix-functions/vsprintf.texi (vsprintf):
22999         Mention that these functions mishandle large floating point
23000         precisions on Solaris 10.  The same bug is also present in Solaris
23001         8, and I assume earlier.  This causes "cd gnulib-tests; make
23002         check" to fail on Solaris 8 (and I assume, later) when building
23003         the latest coreutils, in test-vasprintf-posix's call to
23004         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23005         the wide flavors (e.g., wprintf) so this patch just updates the
23006         documentation for the narrow ones.
23007
23008         test-posixtm.c: add two tests
23009         * tests/test-posixtm.c: Add two tests, to highlight the
23010         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23011         around this bug; this is merely to document it.
23012
23013 2010-12-22  Bruno Haible  <bruno@clisp.org>
23014
23015         getlogin_r: Work around portability problem on OSF/1.
23016         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23017         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23018         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23019         test for a truncated result.
23020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23021         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23022         * modules/getlogin_r (Depends-on): Add memchr.
23023         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23024
23025 2010-12-22  Bruno Haible  <bruno@clisp.org>
23026
23027         ptsname: Avoid test failure on OSF/1 5.1.
23028         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23029         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23030         (same_slave): New function.
23031         (main): Use it to compare ptsname's result with the expected file name.
23032
23033 2010-12-22  Bruno Haible  <bruno@clisp.org>
23034
23035         Port extended stdio modules to HP NonStop Kernel.
23036         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23037         macros.
23038         * lib/fbufmode.c: Update comments.
23039         * lib/fflush.c: Likewise.
23040         * lib/fpurge.c: Likewise.
23041         * lib/freadable.c: Likewise.
23042         * lib/freadahead.c: Likewise.
23043         * lib/freading.c: Likewise.
23044         * lib/freadptr.c: Likewise.
23045         * lib/freadseek.c: Likewise.
23046         * lib/fseeko.c: Likewise.
23047         * lib/fseterr.c: Likewise.
23048         * lib/fwritable.c: Likewise.
23049         * lib/fwriting.c: Likewise.
23050         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23051
23052 2010-12-22  Bruno Haible  <bruno@clisp.org>
23053
23054         ttyname_r: Work around bug on OSF/1 5.1.
23055         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23056         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23057         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23058         present.
23059         * lib/ttyname_r.c (ttyname_r): Update comments.
23060
23061 2010-12-22  Bruno Haible  <bruno@clisp.org>
23062
23063         round: Implement result sign according to IEEE 754.
23064         * lib/round.c (MIN, MINUS_ZERO): New macros.
23065         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23066         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23067         * tests/test-round-ieee.c (main): Likewise.
23068         * tests/test-roundl-ieee.c (main): Likewise.
23069
23070         trunc: Implement result sign according to IEEE 754.
23071         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23072         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23073         * tests/test-trunc2.c: Include minus-zero.h.
23074         (MINUS_ZERO): New macro.
23075         (trunc_reference): Keep in sync with lib/trunc.c.
23076         * tests/test-truncf2.c: Include minus-zero.h.
23077         (MINUS_ZERO): New macro.
23078         (truncf_reference): Keep in sync with lib/trunc.c.
23079         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23080         * tests/test-trunc-ieee.c (main): Likewise.
23081         * tests/test-truncl-ieee.c (main): Likewise.
23082
23083         ceil: Implement result sign according to IEEE 754.
23084         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23085         (FUNC): Return -0.0 for -1 < x < 0.
23086         * tests/test-ceil2.c: Include minus-zero.h.
23087         (MINUS_ZERO): New macro.
23088         (ceil_reference): Keep in sync with lib/ceil.c.
23089         * tests/test-ceilf2.c: Include minus-zero.h.
23090         (MINUS_ZERO): New macro.
23091         (ceilf_reference): Keep in sync with lib/ceil.c.
23092         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23093         * tests/test-ceil-ieee.c (main): Likewise.
23094         * tests/test-ceill-ieee.c (main): Likewise.
23095
23096         floor: Implement result sign according to IEEE 754.
23097         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
23098         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
23099         * tests/test-floorf2.c (floorf_reference): Likewise.
23100         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
23101         * tests/test-floor-ieee.c (main): Likewise.
23102         * tests/test-floorl-ieee.c (main): Likewise.
23103
23104 2010-12-22  Bruno Haible  <bruno@clisp.org>
23105
23106         getaddrinfo: Update doc.
23107         * doc/posix-functions/gai_strerror.texi: Return type is also different
23108         on AIX and HP-UX.
23109
23110 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23111
23112         getaddrinfo, inet_ntop: Update doc for Solaris.
23113         * doc/posix-functions/gai_strerror.texi: Return type is also an
23114         issue on Solaris 9 and earlier.
23115         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
23116         on Solaris 10 and earlier.
23117
23118 2010-12-21  Bruno Haible  <bruno@clisp.org>
23119
23120         New module 'roundl-ieee'.
23121         * modules/roundl-ieee: New file.
23122         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
23123         test whether roundl works according to ISO C 99 with IEC 60559.
23124         * m4/roundl-ieee.m4: New file.
23125         * modules/roundl-ieee-tests: New file.
23126         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
23127         * tests/test-roundl.c (main): Remove signbit tests.
23128         * modules/roundl-tests (Depends-on): Remove signbit.
23129         * doc/posix-functions/roundl.texi: Mention the new module.
23130
23131 2010-12-21  Bruno Haible  <bruno@clisp.org>
23132
23133         New module 'truncl-ieee'.
23134         * modules/truncl-ieee: New file.
23135         * modules/truncl-ieee-tests: New file.
23136         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
23137         * tests/test-truncl.c (main): Remove signbit tests.
23138         * modules/truncl-tests (Depends-on): Remove signbit.
23139         * doc/posix-functions/truncl.texi: Mention the new module.
23140
23141 2010-12-21  Bruno Haible  <bruno@clisp.org>
23142
23143         New module 'ceill-ieee'.
23144         * modules/ceill-ieee: New file.
23145         * modules/ceill-ieee-tests: New file.
23146         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
23147         * tests/test-ceill.c (main): Remove signbit tests.
23148         * modules/ceill-tests (Depends-on): Remove signbit.
23149         * doc/posix-functions/ceill.texi: Mention the new module.
23150
23151 2010-12-21  Bruno Haible  <bruno@clisp.org>
23152
23153         New module 'floorl-ieee'.
23154         * modules/floorl-ieee: New file.
23155         * modules/floorl-ieee-tests: New file.
23156         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
23157         * tests/test-floorl.c (main): Remove signbit tests.
23158         * modules/floorl-tests (Depends-on): Remove signbit.
23159         * doc/posix-functions/floorl.texi: Mention the new module.
23160
23161 2010-12-21  Bruno Haible  <bruno@clisp.org>
23162
23163         New module 'round-ieee'.
23164         * modules/round-ieee: New file.
23165         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
23166         whether round works according to ISO C 99 with IEC 60559.
23167         * m4/round-ieee.m4: New file.
23168         * modules/round-ieee-tests: New file.
23169         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
23170         * tests/test-round1.c (main): Remove signbit tests.
23171         * modules/round-tests (Depends-on): Remove 'signbit'.
23172         * doc/posix-functions/round.texi: Mention the new module.
23173
23174 2010-12-21  Bruno Haible  <bruno@clisp.org>
23175
23176         New module 'trunc-ieee'.
23177         * modules/trunc-ieee: New file.
23178         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
23179         whether trunc works according to ISO C 99 with IEC 60559.
23180         * m4/trunc-ieee.m4: New file.
23181         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
23182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
23183         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
23184         * modules/trunc-ieee-tests: New file.
23185         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
23186         * tests/test-trunc1.c (main): Remove signbit tests.
23187         * modules/trunc-tests (Depends-on): Remove 'signbit'.
23188         * doc/posix-functions/trunc.texi: Mention the new module.
23189
23190 2010-12-21  Bruno Haible  <bruno@clisp.org>
23191
23192         New module 'ceil-ieee'.
23193         * modules/ceil-ieee: New file.
23194         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
23195         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
23196         ISO C 99 with IEC 60559.
23197         * m4/ceil-ieee.m4: New file.
23198         * modules/ceil (Files): Add lib/ceil.c.
23199         (Depends-on): Add 'float'.
23200         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23201         * lib/math.in.h (ceil): New declaration.
23202         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
23203         REPLACE_CEIL.
23204         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
23205         * modules/ceil-ieee-tests: New file.
23206         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
23207         * tests/test-math-c++.cc: Check the signature of 'ceil'.
23208         * doc/posix-functions/ceil.texi: Mention the new module.
23209
23210 2010-12-21  Bruno Haible  <bruno@clisp.org>
23211
23212         New module 'floor-ieee'.
23213         * modules/floor-ieee: New file.
23214         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
23215         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
23216         ISO C 99 with IEC 60559.
23217         * m4/floor-ieee.m4: New file.
23218         * modules/floor (Files): Add lib/floor.c.
23219         (Depends-on): Add 'float'.
23220         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23221         * lib/math.in.h (floor): New declaration.
23222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
23223         REPLACE_FLOOR.
23224         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
23225         * modules/floor-ieee-tests: New file.
23226         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
23227         * tests/test-math-c++.cc: Check the signature of 'floor'.
23228         * doc/posix-functions/floor.texi: Mention the new module.
23229
23230 2010-12-21  Bruno Haible  <bruno@clisp.org>
23231
23232         New module 'roundf-ieee'.
23233         * modules/roundf-ieee: New file.
23234         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
23235         test whether roundf works according to ISO C 99 with IEC 60559.
23236         * m4/roundf-ieee.m4: New file.
23237         * modules/roundf-ieee-tests: New file.
23238         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
23239         * tests/test-roundf1.c (main): Remove signbit tests.
23240         * modules/roundf-tests (Depends-on): Remove 'signbit'.
23241         * doc/posix-functions/roundf.texi: Mention the new module.
23242
23243 2010-12-21  Bruno Haible  <bruno@clisp.org>
23244
23245         New module 'truncf-ieee'.
23246         * modules/truncf-ieee: New file.
23247         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
23248         test whether truncf works according to ISO C 99 with IEC 60559.
23249         * m4/truncf-ieee.m4: New file.
23250         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
23251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
23252         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
23253         * modules/truncf-ieee-tests: New file.
23254         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
23255         * tests/test-truncf1.c (main): Remove signbit tests.
23256         * modules/truncf-tests (Depends-on): Remove 'signbit'.
23257         * doc/posix-functions/truncf.texi: Mention the new module.
23258
23259 2010-12-21  Bruno Haible  <bruno@clisp.org>
23260
23261         New module 'ceilf-ieee'.
23262         * modules/ceilf-ieee: New file.
23263         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
23264         test whether ceilf works according to ISO C 99 with IEC 60559.
23265         * m4/ceilf-ieee.m4: New file.
23266         * modules/ceilf-ieee-tests: New file.
23267         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
23268         * tests/test-ceilf1.c (main): Remove signbit tests.
23269         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
23270         * doc/posix-functions/ceilf.texi: Mention the new module.
23271
23272 2010-12-21  Bruno Haible  <bruno@clisp.org>
23273
23274         New module 'floorf-ieee'.
23275         * modules/floorf-ieee: New file.
23276         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
23277         test whether floorf works according to ISO C 99 with IEC 60559.
23278         * m4/floorf-ieee.m4: New file.
23279         * modules/floorf-ieee-tests: New file.
23280         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
23281         * tests/test-floorf1.c (main): Remove signbit tests.
23282         * modules/floorf-tests (Depends-on): Remove 'signbit'.
23283         * doc/posix-functions/floorf.texi: Mention the new module.
23284
23285 2010-12-21  Bruno Haible  <bruno@clisp.org>
23286
23287         Support for minus zero in autoconf macros.
23288         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
23289         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
23290         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
23291         * tests/minus-zero.h: Update comments.
23292
23293 2010-12-21  Bruno Haible  <bruno@clisp.org>
23294
23295         Tests for module 'ceil'.
23296         * modules/ceil-tests: New file.
23297         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
23298         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
23299
23300 2010-12-21  Bruno Haible  <bruno@clisp.org>
23301
23302         Tests for module 'floor'.
23303         * modules/floor-tests: New file.
23304         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
23305         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
23306
23307 2010-12-21  Bruno Haible  <bruno@clisp.org>
23308
23309         math: Fix indentation.
23310         * lib/math.in.h (floorf): Fix indentation.
23311
23312 2010-12-21  Bruno Haible  <bruno@clisp.org>
23313
23314         Fix cross-compilation guesses on Solaris.
23315         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
23316         not match "solaris2.10".
23317         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23318         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
23319         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
23320
23321 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
23322
23323         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
23324         This fixes a problem observed with the latest coreutils snapshot
23325         that caused a test to fail on Solaris 8.  src/csplit.c's call
23326         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
23327         earlier, instead of returning the number of bytes that would have
23328         been generated; this causes csplit to incorrectly report memory
23329         exhaustion.
23330         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
23331         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
23332         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
23333         comments to match.
23334         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
23335         Fix typo in matching older versions of Solaris: "solaris2.10"
23336         is matched by the shell pattern "solaris2.[0-9]*".  This matters
23337         only for guessing while cross-compiling.
23338         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
23339
23340 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
23341
23342         ftoastr: fix comment again
23343         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23344         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
23345         Also, simplify example a bit by using flags = 0.
23346
23347 2010-12-20  Bruno Haible  <bruno@clisp.org>
23348
23349         round*, trunc*: Update documentation regarding glibc.
23350         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
23351         * doc/posix-functions/round.texi: Likewise.
23352         * doc/posix-functions/roundl.texi: Likewise.
23353         * doc/posix-functions/truncf.texi: Likewise.
23354         * doc/posix-functions/trunc.texi: Likewise.
23355         * doc/posix-functions/truncl.texi: Likewise.
23356
23357 2010-12-20  Bruno Haible  <bruno@clisp.org>
23358
23359         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
23360         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
23361         * doc/posix-functions/round.texi: Likewise.
23362         * doc/posix-functions/roundl.texi: Likewise.
23363
23364 2010-12-20  Bruno Haible  <bruno@clisp.org>
23365
23366         ttyname_r: Add missing declaration on HP-UX 11.
23367         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
23368         HAVE_TTYNAME_R.
23369         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
23370         declared. Set HAVE_TTYNAME_R always.
23371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23372         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
23373         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
23374         HAVE_TTYNAME_R.
23375         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
23376
23377 2010-12-20  Bruno Haible  <bruno@clisp.org>
23378
23379         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
23380         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
23381         * doc/posix-functions/getlogin_r.texi: Likewise.
23382         * tests/test-getlogin.c: Include <errno.h>.
23383         (main): Avoid test failure on HP-UX 11.11.
23384         * tests/test-getlogin_r.c (main): Likewise.
23385
23386 2010-12-20  Bruno Haible  <bruno@clisp.org>
23387
23388         getlogin_r: Add missing declaration on HP-UX 11.
23389         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
23390         declared also when it exists as a function.
23391         * doc/posix-functions/getlogin_r.texi: Document this workaround.
23392
23393 2010-12-20  Bruno Haible  <bruno@clisp.org>
23394
23395         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
23396         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
23397         through wcrtomb.
23398
23399 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23400
23401         ftoastr: fix comment
23402         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23403         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
23404
23405 2010-12-19  Bruno Haible  <bruno@clisp.org>
23406
23407         isnan: Ensure it is a macro.
23408         * lib/math.in.h (isnan): Define as a macro if not already a macro.
23409         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
23410         Solaris.
23411
23412 2010-12-19  Bruno Haible  <bruno@clisp.org>
23413
23414         ldexpl test: Fix link error on OSF/1 5.1.
23415         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
23416
23417 2010-12-19  Bruno Haible  <bruno@clisp.org>
23418
23419         wctype: Make it work in C++ mode on OSF/1 5.1.
23420         * lib/wctype.in.h (iswblank): Declare but not define here.
23421         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
23422         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
23423         * modules/wctype (Files): Add lib/iswblank.c.
23424
23425 2010-12-19  Bruno Haible  <bruno@clisp.org>
23426
23427         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
23428         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
23429         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
23430
23431 2010-12-19  Bruno Haible  <bruno@clisp.org>
23432
23433         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
23434         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
23435         _POSIX_PII_SOCKET.
23436         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
23437         * doc/posix-functions/recvfrom.texi: Likewise.
23438         * doc/posix-functions/send.texi: Likewise.
23439         * doc/posix-functions/sendto.texi: Likewise.
23440
23441 2010-12-19  Bruno Haible  <bruno@clisp.org>
23442
23443         tcgetsid: Add missing declaration on OSF/1 5.1.
23444         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
23445         HAVE_TCGETSID.
23446         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
23447         Don't set HAVE_TCGETSID.
23448         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
23449         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
23450         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
23451         HAVE_TCGETSID.
23452         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
23453
23454 2010-12-19  Bruno Haible  <bruno@clisp.org>
23455
23456         stdio: Fix problem with popen() declaration on OSF/1 5.1.
23457         * lib/stdio.in.h: During the include_next statement, let recursive
23458         includes of this file include only the system header file.
23459
23460 2010-12-19  Bruno Haible  <bruno@clisp.org>
23461
23462         iconv_open: Fix regression from 2010-12-04.
23463         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
23464         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
23465
23466 2010-12-19  Bruno Haible  <bruno@clisp.org>
23467
23468         stdbool test: Avoid a gcc warning.
23469         * tests/test-stdbool.c (main): Fail if e1 is false.
23470         Reported by Jim Meyering.
23471
23472 2010-12-19  Jim Meyering  <meyering@redhat.com>
23473
23474         setenv: restore to working order
23475         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
23476         mistakenly removed.
23477         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
23478         HAVE_SETENV.
23479         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
23480         HAVE_SETENV.
23481
23482 2010-12-19  Bruno Haible  <bruno@clisp.org>
23483
23484         Document some different function declarations on OSF/1 5.1.
23485         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
23486         * doc/posix-functions/inet_ntop.texi: Likewise.
23487         * doc/posix-functions/gethostname.texi: Likewise.
23488         * lib/unistd.in.h (gethostname): Update comment.
23489
23490 2010-12-19  Bruno Haible  <bruno@clisp.org>
23491
23492         doc: Mention vasprintf-posix module.
23493         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
23494         the 'vasprintf-posix' module.
23495         * doc/glibc-functions/vasprintf.texi: Likewise.
23496
23497 2010-12-19  Bruno Haible  <bruno@clisp.org>
23498
23499         unsetenv: Add missing declaration on OSF/1 5.1.
23500         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
23501         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
23502         Don't set HAVE_UNSETENV. In the test program, set _BSD.
23503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
23504         not HAVE_UNSETENV.
23505         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
23506         HAVE_UNSETENV.
23507         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
23508
23509 2010-12-19  Bruno Haible  <bruno@clisp.org>
23510
23511         setenv: Add missing declaration on OSF/1 5.1.
23512         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
23513         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
23514         declared. Don't set HAVE_SETENV.
23515         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
23516         not HAVE_SETENV.
23517         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
23518         HAVE_SETENV.
23519         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
23520
23521 2010-12-19  Bruno Haible  <bruno@clisp.org>
23522
23523         nl_langinfo tests: Avoid gcc warning.
23524         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
23525
23526 2010-12-19  Bruno Haible  <bruno@clisp.org>
23527
23528         mknod: Avoid error in C++ mode on OSF/1 with GCC.
23529         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
23530         _GL_CXXALIAS_SYS.
23531
23532 2010-12-19  Bruno Haible  <bruno@clisp.org>
23533
23534         stdbool: Relax test.
23535         * tests/test-stdbool.c (e): Don't require that casts from a variable's
23536         address to 'bool' work in static initializer, for compilers other than
23537         GCC.
23538
23539 2010-12-19  Bruno Haible  <bruno@clisp.org>
23540
23541         ftello: Add missing declaration on OSF/1 5.1.
23542         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
23543         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
23544         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
23545         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
23546         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
23547
23548 2010-12-19  Bruno Haible  <bruno@clisp.org>
23549
23550         fseeko: Add missing declaration on OSF/1 5.1.
23551         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
23552         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
23553         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
23554         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
23555         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
23556
23557 2010-12-19  Bruno Haible  <bruno@clisp.org>
23558
23559         fchdir: Add missing declaration on OSF/1 5.1.
23560         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
23561         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
23562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
23563         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
23564         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
23565
23566 2010-12-19  Bruno Haible  <bruno@clisp.org>
23567
23568         relocatable-prog-wrapper: Separate from relocatable-prog.
23569         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
23570         uninstall-relocwrapper rule here.
23571         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
23572         Reported by Ian Beckwith <ianb@erislabs.net>.
23573
23574 2010-12-19  Bruno Haible  <bruno@clisp.org>
23575
23576         unistr/u8-mbsnlen: Add missing dependency.
23577         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
23578         Reported by Ian Beckwith <ianb@erislabs.net>.
23579
23580 2010-12-19  Bruno Haible  <bruno@clisp.org>
23581
23582         iconv: Make it possible again to use this module without 'iconv-h'.
23583         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
23584         if it is not defined.
23585         Reported by Ian Beckwith <ianb@erislabs.net>.
23586
23587 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23588
23589         acl: port to Solaris 8 when copying from tmpfs to ufs
23590         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
23591         error number.  Problem observed on Solaris 8 with latest
23592         coreutils, with "mv A B", where A is on a tmpfs file system and B
23593         is on a ufs file system.  This caused coreutils' mv/part-symlink
23594         test to fail.
23595
23596         tests: set fail=0 at start
23597         * tests/init.sh (setup_): Move fail=0 initialization here ...
23598         (mktempd_): ... from here, so that tests can rely on fail being
23599         set to 0 initially.  This fixes a problem in coreutils; see:
23600         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
23601
23602 2010-12-18  Bruno Haible  <bruno@clisp.org>
23603
23604         memmem-simple: Stylistic changes.
23605         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
23606         Fix preprocessor directive indentation.
23607
23608 2010-12-15  Pádraig Brady <P@draigBrady.com>
23609
23610         memmem, memmem-simple: reorganize and expand empty needle check
23611         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
23612         functional checks to memmem-simple so that one has a fully functional
23613         memmem by using just this module.
23614         Restrict the performance only check to the memmem module.
23615         Also expand the empty needle check to ensure the correct
23616         pointer is returned, not just a non NULL pointer.
23617         * doc/glibc-functions/memmem.texi: Rearrange the portability
23618         documentation to correlate with the rearranged checks.
23619         Clarify exactly how the memmem and memmem-simple modules
23620         relate to each other.
23621
23622 2010-12-15  Pádraig Brady <P@draigBrady.com>
23623             Bruno Haible  <bruno@clisp.org>
23624
23625         Improve cross-compilation guesses for uClibc.
23626         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
23627         that uClibc does not have the glibc bug.
23628         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23629         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
23630
23631 2010-12-14  Eric Blake  <eblake@redhat.com>
23632
23633         configmake: provide fallbacks for oldest supported autotools
23634         * m4/configmake.m4: New file.
23635         * modules/configmake (Files): Ship it.
23636         (configure.ac): Use it to guarantee fallbacks.
23637
23638 2010-12-13  Pádraig Brady <P@draigBrady.com>
23639
23640         read-file: Improve handling of large files
23641         * lib/read-file.c (fread_file): Minimize realloc()s
23642         for regular files, and better manage sizes around SIZE_MAX.
23643
23644 2010-12-13  Eric Blake  <eblake@redhat.com>
23645
23646         cloexec, fcntl: relax license
23647         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
23648         consent from all contributors.
23649         * modules/fcntl (License): Likewise.
23650
23651 2010-12-10  Bruno Haible  <bruno@clisp.org>
23652
23653         Tests for module 'pipe-posix'.
23654         * modules/pipe-posix-tests: New file.
23655         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
23656
23657 2010-12-10  Bruno Haible  <bruno@clisp.org>
23658
23659         pipe-posix: Make it work in C++ mode.
23660         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
23661         (pipe): Use common idiom, not a macro definition.
23662         * lib/pipe.c: New file.
23663         * m4/pipe.m4: New file.
23664         * modules/pipe-posix (Description): Enhance.
23665         (Files): Add lib/pipe.c, m4/pipe.m4.
23666         (configure.ac): Invoke gl_FUNC_PIPE.
23667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
23668         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
23669         * tests/test-unistd-c++.cc: Check the signature of pipe.
23670
23671 2010-12-10  Bruno Haible  <bruno@clisp.org>
23672
23673         Rename module 'pipe' to 'spawn-pipe'.
23674         * modules/spawn-pipe: New file, renamed from modules/pipe.
23675         (Files, configure.ac, Makefile.am): Update.
23676         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
23677         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
23678         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
23679         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
23680         "spawn-pipe.h" instead of "pipe.h".
23681         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
23682         to gl_SPAWN_PIPE.
23683         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
23684         (Files, Makefile.am): Update.
23685         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
23686         Update.
23687         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
23688         Include "spawn-pipe.h" instead of "pipe.h".
23689         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
23690         * lib/javacomp.c: Likewise.
23691         * lib/javaversion.c: Likewise.
23692         * lib/pipe-filter-gi.c: Likewise.
23693         * lib/pipe-filter-ii.c: Likewise.
23694         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
23695         * modules/javacomp (Depends-on): Likewise.
23696         * modules/javaversion (Depends-on): Likewise.
23697         * modules/pipe-filter-gi (Depends-on): Likewise.
23698         * modules/pipe-filter-ii (Depends-on): Likewise.
23699         * MODULES.html.sh (Executing programs): Update.
23700         * NEWS: Mention the change.
23701
23702 2010-12-10  Eric Blake  <eblake@redhat.com>
23703
23704         pipe-posix: new module
23705         * modules/pipe-posix: New file.
23706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
23707         (gl_UNISTD_H): Check for declaration.
23708         * modules/unistd (Makefile.am): Substitute it.
23709         * lib/unistd.in.h (pipe): Provide it for mingw.
23710         * doc/posix-functions/pipe.texi (pipe): Update documentation.
23711         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
23712
23713 2010-12-07  Bruno Haible  <bruno@clisp.org>
23714
23715         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
23716         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
23717         u8_strcmp_gnu.
23718         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
23719
23720 2010-12-06  Bruno Haible  <bruno@clisp.org>
23721
23722         Update internal documentation.
23723         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
23724
23725 2010-12-04  Bruno Haible  <bruno@clisp.org>
23726
23727         Put more information about failed tests into the test return codes.
23728         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
23729         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
23730         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23731         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23732         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23733         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23734         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23735         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23736         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
23737         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23738         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
23739         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23740         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23741         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23742         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
23743         returns a bit mask.
23744         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23745         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
23746         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
23747         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23748         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23749         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23750         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23751         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23752         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23753         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23754         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23755         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23756         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23757         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23758         * m4/link.m4 (gl_FUNC_LINK): Likewise.
23759         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23760         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
23761         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
23762         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23763         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
23764         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23765         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23766         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23767         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23768         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23769         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23770         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23771         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23772         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23773         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
23774         gl_PRINTF_PRECISION): Likewise.
23775         * m4/regex.m4 (gl_REGEX): Likewise.
23776         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23777         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23778         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
23779         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23780         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23781         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23782         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
23783         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
23784         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23785         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23786         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23787         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23788         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23789         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23790         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23791         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23792         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23793         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23794         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23795         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
23796         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
23797         enumerated value.
23798         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
23799
23800 2010-12-04  Bruno Haible  <bruno@clisp.org>
23801
23802         Update for Solaris 11 2010-11.
23803         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
23804         Express, released in November 2010.
23805
23806 2010-12-04  Bruno Haible  <bruno@clisp.org>
23807
23808         nproc: Relax license.
23809         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
23810         and Paul Eggert.
23811         Requested by Ludovic Courtès <ludo@gnu.org>.
23812
23813 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
23814
23815         utimecmp: fine-grained src to nearby coarse-grained dest
23816
23817         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
23818         and the source is on a file system with higher-resolution time
23819         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
23820         not work, and the time stamps are close together, the algorithm to
23821         determine the exact resolution from the read-back mtime was buggy:
23822         it had a "!=" where it should have had an "==".  This bug has been
23823         in the code ever since it was introduced to gnulib.
23824         Problem reported by Dan Jacobson in
23825         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
23826
23827 2010-11-30  Bruno Haible  <bruno@clisp.org>
23828
23829         strerror_r-posix: Fix autoconf test.
23830         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
23831
23832 2010-11-28  Bruno Haible  <bruno@clisp.org>
23833             Paul Eggert  <eggert@cs.ucla.edu>
23834
23835         Tests for module 'getdomainname'.
23836         * modules/getdomainname-tests: New file.
23837         * tests/test-getdomainname.c: New file, based on
23838         tests/test-gethostname.c.
23839
23840 2010-11-28  Bruno Haible  <bruno@clisp.org>
23841             Paul Eggert  <eggert@cs.ucla.edu>
23842
23843         getdomainname: Use the system function when possible.
23844         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
23845         (getdomainname): Replace if needed. Provide the declaration if it is
23846         missing. Don't use _GL_CXXALIAS_SYS_CAST.
23847         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
23848         (getdomainname): When the system has getdomainname, call the system
23849         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
23850         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23851         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
23852         found in libnsl. Look for the declaration also in <netdb.h>. Replace
23853         the function if its second argument is of type 'int' or if it is found
23854         in libnsl.
23855         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
23856         <sys/systeminfo.h> and sysinfo().
23857         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
23858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23859         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
23860         HAVE_GETDOMAINNAME.
23861         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
23862         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
23863         * doc/glibc-functions/getdomainname.texi: Document the problems with
23864         the getdomainname declaration.
23865
23866 2010-11-28  Bruno Haible  <bruno@clisp.org>
23867
23868         sys_socket: Ensure ss_family field on AIX.
23869         * lib/sys_socket.in.h (ss_family): New macro definition.
23870         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
23871         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
23872         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
23873         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23874         * modules/sys_socket (Makefile.am): Substitute
23875         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23876         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
23877
23878 2010-11-27  Bruno Haible  <bruno@clisp.org>
23879
23880         readline: Improve configure output.
23881         * m4/readline.m4 (gl_FUNC_READLINE): Make the
23882         "checking for readline..." result understandable.
23883
23884 2010-11-27  Bruno Haible  <bruno@clisp.org>
23885
23886         *printf-posix: Detect a bug on Solaris 10/x86.
23887         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
23888         for floating-point output.
23889         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
23890         directive.
23891         * tests/test-snprintf-posix.h (test_function): Likewise.
23892         * tests/test-sprintf-posix.h (test_function): Likewise.
23893         * tests/test-vasprintf-posix.c (test_function): Likewise.
23894         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
23895         * doc/posix-functions/printf.texi: Likewise.
23896         * doc/posix-functions/snprintf.texi: Likewise.
23897         * doc/posix-functions/sprintf.texi: Likewise.
23898         * doc/posix-functions/vfprintf.texi: Likewise.
23899         * doc/posix-functions/vprintf.texi: Likewise.
23900         * doc/posix-functions/vsnprintf.texi: Likewise.
23901         * doc/posix-functions/vsprintf.texi: Likewise.
23902         * doc/glibc-functions/obstack_printf.texi: Likewise.
23903         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
23904
23905 2010-11-27  Bruno Haible  <bruno@clisp.org>
23906
23907         Fix link error when module libunistring-optional is in use.
23908         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
23909         * modules/striconveha-tests (Makefile.am): Likewise.
23910
23911 2010-11-27  Bruno Haible  <bruno@clisp.org>
23912
23913         regex: Mention link dependencies.
23914         * modules/regex (Link): New section.
23915         * modules/rpmatch (Link): Likewise.
23916         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
23917
23918 2010-11-27  Bruno Haible  <bruno@clisp.org>
23919
23920         ftoastr: Fix compilation error on Solaris.
23921         * lib/ftoastr.c: Include <config.h>.
23922
23923 2010-11-27  Bruno Haible  <bruno@clisp.org>
23924
23925         getloadavg: Update documentation.
23926         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
23927
23928 2010-11-27  Bruno Haible  <bruno@clisp.org>
23929
23930         sys_socket: Fix test whether the functions are declared.
23931         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
23932         not <sys/select.h>.
23933
23934 2010-11-27  Bruno Haible  <bruno@clisp.org>
23935
23936         getpass: Make sure to get system declaration on some platforms.
23937         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
23938         gl_USE_SYSTEM_EXTENSIONS.
23939         * modules/getpass (Depends-on): Add extensions.
23940
23941 2010-11-26  Bruno Haible  <bruno@clisp.org>
23942
23943         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
23944         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
23945         'iconv' module is present.
23946         (ICONV_CONST): New macro.
23947         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
23948         ICONV_CONST.
23949         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
23950         set ICONV_CONST.
23951         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
23952         here.
23953         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
23954         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
23955         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
23956         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
23957         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
23958         present.
23959
23960 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23961
23962         ftoastr: comment fix
23963         * lib/ftoastr.c: "little" -> "little or no" in comment
23964
23965 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
23966
23967         stdint: port to GCC 4.3 + OSX + Octave
23968         On this platform, stdint.h is buggy and defines int64_t to long
23969         long int.  The replacement defined it to long int, causing
23970         problems with C++ style name mangling.  Instead, trust the system
23971         definition if INT64_MAX is defined, and likewise for the unsigned
23972         variant.   Problem reported by Jarno Rajahalme in
23973         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
23974         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
23975         and don't mess with int64_t and INT64_MAX in this case.
23976         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
23977
23978 2010-11-24  Bruno Haible  <bruno@clisp.org>
23979
23980         doc: Corrections regarding MacOS X 10.4 and 10.5.
23981         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
23982         MacOS X.
23983         Reported by Simon Josefsson.
23984
23985 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
23986
23987         Uninstall ".bin" files installed by relocwrapper.
23988         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
23989         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
23990         unless it is already there.
23991
23992 2010-11-21  Bruno Haible  <bruno@clisp.org>
23993
23994         Update for NetBSD 5.0.
23995         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
23996         NetBSD; the test fails on NetBSD 5.0.
23997         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
23998         about NetBSD.
23999
24000 2010-11-21  Bruno Haible  <bruno@clisp.org>
24001
24002         Update for HP-UX 11.23 and HP-UX 11.31.
24003         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24004         HP-UX.
24005
24006 2010-11-21  Bruno Haible  <bruno@clisp.org>
24007
24008         Update for MacOS X 10.5.
24009         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24010         MacOS X; the test fails on MacOS X 10.5.8.
24011         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24012         about MacOS X.
24013
24014 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24015
24016         bootstrap: add bootstrap_sync option.
24017         See discussion at
24018         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24019         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24020         * build-aux/bootstrap: Accept --bootstrap-sync to update
24021         bootstrap if it is not identical to the local gnulib's
24022         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24023         enable this by default.  Accept --no-bootstrap-sync to disable
24024         it.
24025
24026 2010-11-20  Bruno Haible  <bruno@clisp.org>
24027
24028         Ensure that <features.h> is included before __GLIBC__ is tested.
24029         * lib/printf-parse.h: Include <features.h>.
24030         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24031         Reported by Mike Frysinger <vapier@gentoo.org>.
24032
24033         Ensure that <features.h> is included before __GLIBC__ is tested.
24034         * lib/wchar.in.h: Include <features.h>.
24035         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24036         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24037         Reported by Mike Frysinger <vapier@gentoo.org>.
24038
24039         Ensure that <features.h> is included before __GLIBC__ is tested.
24040         * lib/arpa_inet.in.h: Include <features.h>.
24041         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24042         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
24043         Reported by Mike Frysinger <vapier@gentoo.org>.
24044
24045         Ensure that <features.h> is included before __GLIBC__ is tested.
24046         * build-aux/link-warning.h: Include <features.h>.
24047         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24048         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24049         Reported by Mike Frysinger <vapier@gentoo.org>.
24050
24051         Ensure that <features.h> is included before __GLIBC__ is tested.
24052         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24053         Reported by Mike Frysinger <vapier@gentoo.org>.
24054
24055 2010-11-20  Bruno Haible  <bruno@clisp.org>
24056
24057         memmem: Fix autoconf test.
24058         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24059
24060 2010-11-20  Bruno Haible  <bruno@clisp.org>
24061
24062         Port to uClibc.
24063         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24064         * lib/fcntl.in.h: Likewise.
24065         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24066         * lib/mbrtowc.c (mbrtowc): Likewise.
24067         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24068         * lib/strerror_r.c: Likewise.
24069         * lib/unistr/u8-strnlen.c: Likewise.
24070         * lib/vasnprintf.c (decimal_point_char): Likewise.
24071         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24072         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24073         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24074         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24075         * tests/test-sigaction.c (handler, main): Likewise.
24076         * lib/freading.h: Treat uClibc like a non-glibc platform.
24077         * lib/freading.c: Likewise.
24078         * lib/gettext.h: Likewise.
24079         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24080         Likewise.
24081         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24082         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24083         * lib/propername.c (proper_name_utf8): Likewise.
24084         * lib/spawn.in.h: Likewise.
24085         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24086         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24087         mem_cd_iconveh_internal): Likewise.
24088         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24089         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24090         strstr, strcasestr): Likewise.
24091         * lib/unicodeio.c (unicode_to_mb): Likewise.
24092         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24093         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
24094         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
24095         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
24096         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
24097         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
24098         * lib/unistr/u8-stpncpy.c: Likewise.
24099         * lib/vasnprintf.c (VASNPRINTF): Likewise.
24100         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
24101         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24102         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24103         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
24104         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
24105         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
24106         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
24107         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
24108         Likewise.
24109         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24110         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24111         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24112         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24113         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24114         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24115         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24116         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24117         * tests/test-getopt.h (OPTIND_MIN): Likewise.
24118         * tests/test-striconveha.c (main): Likewise.
24119         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24120         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
24121         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
24122         * doc/posix-functions/getline.texi: Likewise.
24123         Reported by Mike Frysinger <vapier@gentoo.org>.
24124
24125 2010-11-20  Bruno Haible  <bruno@clisp.org>
24126
24127         nproc: Fix condition.
24128         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
24129         HAVE_PTHREAD_AFFINITY_NP.
24130
24131 2010-11-20  Bruno Haible  <bruno@clisp.org>
24132
24133         Fix a comment.
24134         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
24135
24136 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
24137
24138         ftoastr: don't assume snprintf
24139         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
24140         Implement a subset of snprintf here, by using sprintf safely.
24141         * modules/ftoastr (Depends-on): Remove snprintf.
24142
24143 2010-11-19  Jim Meyering  <meyering@redhat.com>
24144
24145         test-rename.h: fix compilation failure
24146         * tests/test-rename.h (test_rename): Add omitted "}".
24147
24148 2010-11-17  Jim Meyering  <meyering@redhat.com>
24149
24150         maint.mk: add a URL discussing the no-@acronym policy
24151         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
24152
24153 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
24154
24155         ftoastr: depend on snprintf, improve comments
24156         * lib/ftoastr.c: Also mention Loitsch's draft.
24157         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
24158         needed in the current implementation, but it might simplify
24159         speeding up the code later.
24160         * modules/ftoastr: Depend on snprintf; this improves portability.
24161         Suggested by Bruno Haible in the same email.
24162
24163         ftoastr: port to hosts lacking strtof and strtold
24164         Problem reported by Bruno Haible in
24165         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
24166         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
24167         environment and strtold (and presumably strtof) are not available.
24168         * modules/ftoastr (Files): Add m4/c-strtod.m4.
24169         (configure.ac): Require gl_C99_STRTOLD.
24170
24171 2010-11-18  Bruno Haible  <bruno@clisp.org>
24172
24173         c-strtold: Avoid link error on AIX 7.
24174         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
24175         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
24176         (gl_C_STRTOLD): Test whether strtold_l exists.
24177         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24178
24179 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
24180
24181         intprops: new macro INT_BITS_STRLEN_BOUND
24182         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
24183         ftoastr.h.  This exposes an internal of intprops.h that was formerly
24184         not exposed.  Also, it uses a slightly tighter bound than before;
24185         though this makes no practical difference, we might as well be as
24186         tight as we easily can.
24187
24188         ftoastr: new module, for lossless conversion of floats to short strings
24189         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
24190         * modules/ftoastr: New files.
24191
24192 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24193
24194         bootstrap: port to Solaris sed
24195         * build-aux/bootstrap (get_version): Port to Solaris sed.
24196         See Ralf Wildenhues's note in
24197         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
24198
24199 2010-11-14  Jim Meyering  <meyering@redhat.com>
24200
24201         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
24202         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
24203         and move definition closer to sole use.
24204
24205 2010-11-13  Jim Meyering  <meyering@redhat.com>
24206
24207         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
24208         Now we require at least autoconf-2.59, which means the work-around
24209         is no longer needed.
24210         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
24211         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24212         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24213         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
24214         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
24215
24216 2010-11-13  Bruno Haible  <bruno@clisp.org>
24217
24218         rename, renameat: Avoid test failures at NFS mounted locations.
24219         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
24220         functions.
24221         (test_rename): Use assert_nonexistent.
24222         * tests/test-rename.c: Include <dirent.h>.
24223         * tests/test-renameat.c: Likewise.
24224         Reported by Gary V. Vaughan <gary@gnu.org>.
24225
24226         rename, renameat: Document Linux bug with NFS
24227         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
24228         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
24229         * doc/posix-functions/renameat.texi: Likewise.
24230         Suggested by Eric Blake.
24231
24232 2010-11-13  Bruno Haible  <bruno@clisp.org>
24233
24234         rename test: Add comments.
24235         * tests/test-rename.h (test_rename): Add structure and comments.
24236
24237 2010-11-13  Eric Blake  <eblake@redhat.com>
24238
24239         maintainer-makefile: cover a few more files
24240         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
24241         scripts generated within C files, for libvirt.
24242
24243 2010-11-13  Bruno Haible  <bruno@clisp.org>
24244
24245         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
24246         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
24247         character, return the number of bytes that belong together, not always
24248         1.
24249         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
24250         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
24251         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
24252         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
24253         number of bytes of an invalid character.
24254         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
24255         (main): Invoke it.
24256         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
24257         results.
24258         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
24259         malformed byte sequences.
24260         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
24261         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
24262         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
24263         Reported by Ben Pfaff and Paolo Bonzini.
24264
24265 2010-11-13  Bruno Haible  <bruno@clisp.org>
24266
24267         openat: Work around glibc bug with fchownat() and empty file names.
24268         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
24269         (gl_FUNC_FCHOWNAT): Invoke it.
24270         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
24271         * doc/posix-functions/fchownat.texi: Document the glibc bug.
24272         Reported by Gary V. Vaughan <gary@gnu.org>.
24273
24274 2010-11-13  Bruno Haible  <bruno@clisp.org>
24275
24276         openat: Ensure autoconf macro ordering.
24277         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
24278         gl_USE_SYSTEM_EXTENSIONS.
24279         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
24280
24281 2010-11-13  Bruno Haible  <bruno@clisp.org>
24282
24283         Update comments.
24284         * lib/unistr/u8-check.c: Update file name in comments.
24285         * lib/unistr/u8-mblen.c: Likewise.
24286         * lib/unistr/u8-prev.c: Likewise.
24287         * lib/unistr/u8-strmblen.c: Likewise.
24288         * lib/unistr/u8-strmbtouc.c: Likewise.
24289
24290 2010-11-13  Jim Meyering  <meyering@redhat.com>
24291
24292         tests: avoid test failure on Solaris 10 due to lack of PATH export
24293         * tests/test-update-copyright.sh: Don't forget to export PATH.
24294
24295         init.sh: ensure that IFS is defined, just in case...
24296         * tests/init.sh (setup_): Ensure that IFS is defined,
24297         so that saving and restoring it works as expected.  This
24298         appears to be useful at least for an old version of dash
24299         from a long time ago (RH 6).  See here for details:
24300         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
24301
24302         maint.mk: tighten "test a == b" check
24303         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
24304         test to files that contain something like #!/bin/sh.
24305         Without this, coreutils would get two false positives in
24306         the comments of C source files.
24307
24308 2010-11-12  Eric Blake  <eblake@redhat.com>
24309
24310         bootstrap: fix typo in previous attempt
24311         * build-aux/bootstrap (buildreq): Correct the grouping.
24312         Reported by Paul Eggert.
24313
24314         maintainer-makefile: prohibit test x == x
24315         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
24316         Based on a report by Matthias Bolte.
24317
24318         bootstrap: allow FreeBSD gzip
24319         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
24320         which has no '.' and goes to stderr.
24321         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
24322         Reported by Matthias Bolte.
24323
24324         maintainer-makefile: check for i18n setup
24325         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
24326         will likely work.
24327
24328 2010-11-12  Bruno Haible  <bruno@clisp.org>
24329
24330         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
24331         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
24332         * lib/nanosleep.c (nanosleep): Likewise.
24333
24334 2010-11-11  Bruno Haible  <bruno@clisp.org>
24335
24336         fcntl-h: Fix for use of C++ on glibc systems.
24337         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24338         also on glibc systems in C++ mode.
24339         Reported by Gary V. Vaughan <gary@gnu.org>.
24340
24341 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24342
24343         mknod: avoid false failure with dash
24344         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
24345
24346 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
24347
24348         unlink: Fix "is it should" typo in diagnostic.
24349         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
24350         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
24351
24352 2010-11-11  Bruno Haible  <bruno@clisp.org>
24353
24354         Tests for module 'strerror_r-posix'.
24355         * modules/strerror_r-posix-tests: New file.
24356         * tests/test-strerror_r.c: New file.
24357         * tests/test-string-c++.cc: Check the signature of strerror_r.
24358
24359         New module 'strerror_r-posix'.
24360         * lib/string.in.h (strerror_r): New declaration.
24361         * lib/strerror_r.c: New file.
24362         * m4/strerror_r.m4: New file.
24363         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
24364         of strerror_r.
24365         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
24366         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24367         * modules/strerror_r-posix: New file.
24368         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
24369         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24370         * doc/posix-functions/strerror_r.texi: Mention the new module and the
24371         portability problems.
24372
24373 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
24374
24375         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
24376         line is also considered for output. Quoted function name in shell
24377         command, so temporary files for functions like MyClass::operator()
24378         are removed correctly without errors.
24379
24380 2010-11-09  Bruno Haible  <bruno@clisp.org>
24381
24382         * doc/posix-functions/strerror.texi: List more failing platforms.
24383
24384         * doc/posix-functions/strerror.texi: Add a comment.
24385
24386 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
24387
24388         fdopendir: fix bug on MacOS X when low on file descriptors
24389
24390         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
24391         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
24392         All callers changed.
24393         (fdopendir): Invoke save_cwd at the top level, not after using
24394         multiple dup() calls to use up file descriptors.  Then retry
24395         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
24396         less than the maximum number of open file descriptors, because
24397         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
24398         on Mac OS X 10.6.4 for tar 1.24
24399         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
24400         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
24401         and for tar 1.25
24402         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
24403
24404 2010-11-07  Bruno Haible  <bruno@clisp.org>
24405
24406         vasnprintf: Support I flag on glibc systems.
24407         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
24408         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
24409         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
24410         snprintf function.
24411         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
24412         glibc systems.
24413         * tests/test-vasnprintf-posix3.c: New file.
24414         * modules/vasnprintf-posix-tests (Files): Add it.
24415         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
24416
24417 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24418
24419         [html] Fix copy/paste bug: Use unique name for compiler warnings.
24420         * MODULES.html.sh: For compiler warnings, use name
24421         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
24422
24423 2010-11-05  Eric Blake  <eblake@redhat.com>
24424
24425         ceil, floor: avoid spurious failure with icc
24426         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
24427         [denormals-as-zero] when optimizing without -mieee-fp option.
24428         * tests/test-floorf2.c (floorf_reference): Likewise.
24429         * tests/test-ceilf1.c (dummy): New function.
24430         (main): Use it to outsmart icc's optimization.
24431         * tests/test-floorf1.c (dummy, main): Likewise.
24432
24433         tests: require working signbit
24434         * modules/ceilf-tests (Depends-on): Add signbit.
24435         * modules/ceill-tests (Depends-on): Likewise.
24436         * modules/floorf-tests (Depends-on): Likewise.
24437         * modules/floorl-tests (Depends-on): Likewise.
24438         * modules/round-tests (Depends-on): Likewise.
24439         * modules/roundf-tests (Depends-on): Likewise.
24440         * modules/roundl-tests (Depends-on): Likewise.
24441         * modules/trunc-tests (Depends-on): Likewise.
24442         * modules/truncf-tests (Depends-on): Likewise.
24443         * modules/truncl-tests (Depends-on): Likewise.
24444
24445         strtod: work around icc bug
24446         * lib/strtod.c (minus_zero): Define to working value.
24447         (strtod): Use it to avoid icc bug.
24448
24449         copysign: enhance tests
24450         * modules/copysign-tests (Files): Add minus-zero.h.
24451         * tests/test-copysign.c (main): Also test zeros.
24452
24453 2010-11-04  Eric Blake  <eblake@redhat.com>
24454
24455         ceil, floor, round, trunc: enhance tests of -0
24456         * tests/test-ceilf1.c (main): Ensure correct sign of result.
24457         * tests/test-ceill.c (main): Likewise.
24458         * tests/test-floorf1.c (main): Likewise.
24459         * tests/test-floorl.c (main): Likewise.
24460         * tests/test-round1.c (main): Likewise.
24461         * tests/test-roundf1.c (main): Likewise.
24462         * tests/test-roundl.c (main): Likewise.
24463         * tests/test-trunc1.c (main): Likewise.
24464         * tests/test-truncf1.c (main): Likewise.
24465         * tests/test-truncl.c (main): Likewise.
24466
24467 2010-11-04  Eric Blake  <eblake@redhat.com>
24468
24469         frexp, tests: work around ICC bug with -zero
24470         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
24471         works with more compilers.
24472         * tests/minus-zero.h: New file.
24473         * modules/ceilf-tests (Files): Include it.
24474         * modules/ceill-tests (Files): Likewise.
24475         * modules/floorf-tests (Files): Likewise.
24476         * modules/floorl-tests (Files): Likewise.
24477         * modules/frexp-nolibm-tests (Files): Likewise.
24478         * modules/frexp-tests (Files): Likewise.
24479         * modules/frexpl-nolibm-tests (Files): Likewise.
24480         * modules/frexpl-tests (Files): Likewise.
24481         * modules/isnan-tests (Files): Likewise.
24482         * modules/isnand-nolibm-tests (Files): Likewise.
24483         * modules/isnand-tests (Files): Likewise.
24484         * modules/isnanf-nolibm-tests (Files): Likewise.
24485         * modules/isnanf-tests (Files): Likewise.
24486         * modules/isnanl-nolibm-tests (Files): Likewise.
24487         * modules/isnanl-tests (Files): Likewise.
24488         * modules/round-tests (Files): Likewise.
24489         * modules/roundf-tests (Files): Likewise.
24490         * modules/roundl-tests (Files): Likewise.
24491         * modules/ldexpl-tests (Files): Likewise.
24492         * modules/signbit-tests (Files): Likewise.
24493         * modules/snprintf-posix-tests (Files): Likewise.
24494         * modules/sprintf-posix-tests (Files): Likewise.
24495         * modules/strtod-tests (Files): Likewise.
24496         * modules/trunc-tests (Files): Likewise.
24497         * modules/truncf-tests (Files): Likewise.
24498         * modules/truncl-tests (Files): Likewise.
24499         * modules/vsnprintf-posix-tests (Files): Likewise.
24500         * modules/vsprintf-posix-tests (Files): Likewise.
24501         * modules/vasnprintf-posix-tests (Files): Likewise.
24502         * modules/vasprintf-posix-tests (Files): Likewise.
24503         * tests/test-ceilf1.c (main): Use it.
24504         * tests/test-ceill.c (main): Likewise.
24505         * tests/test-floorf1.c (main): Likewise.
24506         * tests/test-floorl.c (main): Likewise.
24507         * tests/test-frexp.c (main): Likewise.
24508         * tests/test-frexpl.c (main): Likewise.
24509         * tests/test-isnan.c (main): Likewise.
24510         * tests/test-isnand.h (main): Likewise.
24511         * tests/test-isnanf.h (main): Likewise.
24512         * tests/test-isnanl.h (main): Likewise.
24513         * tests/test-ldexpl.c (main): Likewise.
24514         * tests/test-round.c (main): Likewise.
24515         * tests/test-roundf.c (main): Likewise.
24516         * tests/test-roundl.c (main): Likewise.
24517         * tests/test-signbit.c (test_signbitf, test_signbitd)
24518         (test_signbitl): Likewise.
24519         * tests/test-snprintf-posix.h (test_function): Likewise.
24520         * tests/test-sprintf-posix.h (test_function): Likewise.
24521         * tests/test-strtod.c (main): Likewise.
24522         * tests/test-trunc1.c (main): Likewise.
24523         * tests/test-truncf1.c (main): Likewise.
24524         * tests/test-truncl.c (main): Likewise.
24525
24526         isnanl: work around icc bug
24527         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
24528
24529 2010-11-03  Eric Blake  <eblake@redhat.com>
24530
24531         tests: fix compiler warnings
24532         * tests/test-getopt.h (test_getopt): Fix condition.
24533         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24534         * tests/test-pipe2.c (main): Likewise.
24535         * tests/test-quotearg-simple.c (main): Avoid icc warning.
24536
24537         utimens: fix broken m4 test
24538         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
24539
24540 2010-10-28  Bruno Haible  <bruno@clisp.org>
24541
24542         posix_spawn*, getdtablesize: Relax license.
24543         * modules/posix_spawn (License): Change to LGPLv2+.
24544         * modules/posix_spawnp (License): Likewise.
24545         * modules/posix_spawn-internal (License): Likewise.
24546         * modules/posix_spawnattr_init (License): Likewise.
24547         * modules/posix_spawnattr_getflags (License): Likewise.
24548         * modules/posix_spawnattr_setflags (License): Likewise.
24549         * modules/posix_spawnattr_getpgroup (License): Likewise.
24550         * modules/posix_spawnattr_setpgroup (License): Likewise.
24551         * modules/posix_spawnattr_getschedparam (License): Likewise.
24552         * modules/posix_spawnattr_setschedparam (License): Likewise.
24553         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
24554         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
24555         * modules/posix_spawnattr_getsigdefault (License): Likewise.
24556         * modules/posix_spawnattr_setsigdefault (License): Likewise.
24557         * modules/posix_spawnattr_getsigmask (License): Likewise.
24558         * modules/posix_spawnattr_setsigmask (License): Likewise.
24559         * modules/posix_spawnattr_destroy (License): Likewise.
24560         * modules/posix_spawn_file_actions_init (License): Likewise.
24561         * modules/posix_spawn_file_actions_addclose (License): Likewise.
24562         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
24563         * modules/posix_spawn_file_actions_addopen (License): Likewise.
24564         * modules/posix_spawn_file_actions_destroy (License): Likewise.
24565         * modules/getdtablesize (License): Likewise.
24566         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
24567
24568 2010-10-26  Bruno Haible  <bruno@clisp.org>
24569
24570         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
24571         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
24572         Cygwin and mingw.
24573         Suggested by Eric Blake.
24574
24575 2010-10-26  Bruno Haible  <bruno@clisp.org>
24576
24577         stdio: Work around compilation error due to renameat() on Solaris 10.
24578         * lib/stdio.in.h: Include <unistd.h> on Solaris.
24579         * lib/renameat.c: Don't include <unistd.h> here.
24580         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
24581         Reported by Paul Eggert and Eric Blake.
24582
24583 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
24584
24585         renameat: port to Solaris 10, which declares renameat in unistd.h
24586
24587         * lib/renameat.c: Include unistd.h before stdio.h, because
24588         Solaris 10 declares renameat in unistd.h.  Problem encountered
24589         when building GNU tar 1.24 on Solaris 10.
24590
24591 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24592
24593         fdopendir: fix C89 compilation
24594         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
24595         compilers.
24596
24597 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
24598
24599         inttostr: simplify by removing unnecessary redundancy
24600         * lib/anytostr.c: Don't include verify.h.
24601         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
24602         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
24603         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
24604         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
24605         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
24606         Likewise.
24607         * modules/inttostr (Depends-on): Remove 'verify'.
24608
24609 2010-10-23  Bruno Haible  <bruno@clisp.org>
24610
24611         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
24612         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
24613         Reported by Eric Blake.
24614
24615 2010-10-23  Bruno Haible  <bruno@clisp.org>
24616
24617         Tests: Fix LOCALE_JA on MirBSD 10.
24618         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
24619         to an UTF-8 locale.
24620         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
24621         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24622         Reported by Eric Blake.
24623
24624 2010-10-21  Bruno Haible  <bruno@clisp.org>
24625
24626         nl_langinfo test: Avoid test failure on NetBSD 5.
24627         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
24628         Reported by Eric Blake.
24629
24630 2010-10-21  Eric Blake  <eblake@redhat.com>
24631
24632         c-stack: work around libsigsegv 2.8 bug
24633         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
24634         overflow on at least PowerPC64.
24635
24636 2010-10-17  Bruno Haible  <bruno@clisp.org>
24637
24638         userspec: Drop redundant file.
24639         * modules/userspec (Files): Remove lib/inttostr.h.
24640
24641 2010-10-17  Bruno Haible  <bruno@clisp.org>
24642
24643         nl_langinfo tests: Silence some warnings.
24644         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
24645         Reported by Jim Meyering.
24646
24647 2010-10-17  Bruno Haible  <bruno@clisp.org>
24648
24649         Make use of GCC's attribute __alloc_size__.
24650         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
24651         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
24652         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
24653         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
24654         __alloc_size__.
24655         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
24656         Suggested by Jim Meyering.
24657
24658 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
24659
24660         bootstrap: anchor .gitignore entries.
24661         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
24662         with...
24663         (insert_vc_ignore): ... this new function, which prepends `/' to
24664         all .gitignore entries before passing them to
24665         insert_sorted_if_absent.
24666
24667 2010-10-16  Bruno Haible  <bruno@clisp.org>
24668
24669         nextafter: Fix configure check.
24670         * modules/nextafter (configure.ac): Correct expected prototype.
24671
24672 2010-10-16  Bruno Haible  <bruno@clisp.org>
24673
24674         termios: Update documentation.
24675         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
24676
24677 2010-10-16  Bruno Haible  <bruno@clisp.org>
24678
24679         tests: Make them compile with TinyCC.
24680         * tests/test-strstr.c (main): Remove parentheses around array
24681         initializer.
24682
24683 2010-10-15  Eric Blake  <eblake@redhat.com>
24684
24685         ignore-value: make header idempotent
24686         * lib/ignore-value.h: Add double-inclusion guards.
24687         Reported by Stefan Berger.
24688
24689 2010-10-15  Jim Meyering  <meyering@redhat.com>
24690
24691         GNUmakefile: handle "stable" target, not "major"
24692         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
24693         lists in maint.mk and announce-gen.  Without this, "make stable"
24694         would fail to ensure that $(VERSION) is up to date.
24695
24696 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
24697
24698         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
24699         & co.
24700
24701 2010-10-14  Bruno Haible  <bruno@clisp.org>
24702
24703         vasnprintf: Don't set errno to 0.
24704         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
24705         block that sets it to 0.
24706         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
24707
24708 2010-10-14  Bruno Haible  <bruno@clisp.org>
24709
24710         socketlib: Fix.
24711         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
24712         gl_PREREQ_SYS_H_WINSOCK2.
24713         Reported by Ian Beckwith <ianb@erislabs.net>.
24714
24715 2010-10-13  Jim Meyering  <meyering@redhat.com>
24716
24717         test-select-stdin.c: avoid warn_unused_result warnings
24718         * tests/test-select-stdin.c: Include "macros.h".
24719         ASSERT that read and fflush succeed.
24720
24721 2010-10-13  Jim Meyering  <meyering@redhat.com>
24722
24723         git-version-gen: do require git-VC'd files in cwd
24724         * build-aux/git-version-gen: Reject a git version string
24725         if there are no commits associated with the current directory.
24726         This avoids an unlikely false-positive (unrelated dir whose parent
24727         repository also contains a tag matching v*), as pointed out
24728         by Giuseppe Scrivano in
24729         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
24730
24731 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
24732
24733         argv-iter: omit nonconforming declaration
24734         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
24735         enum arg_iter_err declaration, which doesn't conform to C99.
24736         Solaris 10 cc warns about this.
24737
24738 2010-10-13  Eric Blake  <eblake@redhat.com>
24739
24740         termios: fix compilation on mingw
24741         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
24742         (gl_TERMIOS_H): Adjust it on mingw.
24743         * modules/termios (Makefile.am): Substitute new key.
24744         * lib/termios.in.h (includes): Make include_next conditional.
24745         * doc/posix-headers/termios.texi (termios.h): Update
24746         documentation.
24747         Reported by Daniel P. Berrange.
24748
24749 2010-10-13  Jim Meyering  <meyering@redhat.com>
24750
24751         git-version-gen: don't require that .git/ be in the current dir
24752         * build-aux/git-version-gen: Adjust this script so that it works
24753         when run from any working directory beneath the top-level .git/-
24754         containing directory.  Inspired by a patch from Giuseppe Scrivano,
24755         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
24756
24757         test-select: avoid warn_unused_result warnings
24758         * tests/test-select.c: Include "macros.h".
24759         ASSERT that each call to read, write, and pipe succeeds.
24760         While not technically required, also check each "close".
24761         * modules/select-tests (Files): Add tests/macros.h.
24762
24763         test-symlinkat: remove declaration of unused local
24764         * tests/test-symlinkat.c (main): Remove unused local, "buf".
24765
24766         test-inttostr: avoid shadowing warnings
24767         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
24768         and use malloc rather than the stack for the same reason as
24769         mentioned in the comment justifying the other allocation.
24770
24771 2010-10-11  Bruno Haible  <bruno@clisp.org>
24772
24773         stdlib: Allow multiple gnulib generated replacements to coexist.
24774         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
24775         Reported by Sam Steingold <sds@gnu.org>.
24776
24777 2010-10-11  Jim Meyering  <meyering@redhat.com>
24778
24779         fix a documentation typo
24780         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
24781
24782 2010-10-11  Eric Blake  <eblake@redhat.com>
24783
24784         futimens: work around Solaris 11 bug
24785         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
24786         * tests/test-futimens.h (test_futimens): Enhance, rather than
24787         weaken test.
24788         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24789
24790 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
24791
24792         Indentation.
24793         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
24794         higher-level operators more to the left.
24795
24796 2010-10-11  Jim Meyering  <meyering@redhat.com>
24797
24798         test-futimens: avoid unwarranted test failure on Solaris 5.11
24799         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
24800         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
24801         because it tries to dereference the NULL name argument.
24802
24803 2010-10-11  Bruno Haible  <bruno@clisp.org>
24804
24805         Indentation.
24806         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
24807         indentation.
24808
24809 2010-10-11  Jim Meyering  <meyering@redhat.com>
24810
24811         spawn.in.h: make indentation consistent with parentheses
24812         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
24813         Make indentation consistent with parentheses.
24814
24815 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
24816
24817         Fix mismatched parens in previous commit
24818         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
24819         parens.
24820
24821 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24822
24823         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
24824
24825         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
24826         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
24827         * lib/malloca.c: Include "verify.h".
24828         (verify1): Remove, replacing with a verify call.
24829         * lib/relocwrapper.c (verify1): Likewise.
24830         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
24831         Likewise.
24832         * modules/malloca (Depends-on): Add 'verify'.
24833         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
24834         * modules/vasnprintf (Depends-on): Add 'verify'.
24835         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24836         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24837         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24838         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24839         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24840         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24841         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24842
24843         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
24844
24845         Formerly the style was sometimes 2*X - 1, because the C standard
24846         was wrongly thought to disallow ?: in integral constant expressions.
24847         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
24848         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
24849         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24850         * lib/stdint.in.h (_verify_intmax_size): Likewise.
24851         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
24852         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
24853         verify that time_t cannot be floating.
24854
24855 2010-10-08  Eric Blake  <eblake@redhat.com>
24856
24857         time: enforce recent POSIX ruling that time_t is integral
24858         * lib/time.in.h (__time_t_must_be_integral): Detect any
24859         problematic systems, allowing the rest of gnulib to assume POSIX.
24860
24861 2010-10-08  Jim Meyering  <meyering@redhat.com>
24862
24863         fdopendir: fix a bug on systems lacking openat and /proc support
24864         OpenBSD 4.7 is one such system.  The most noticeable effect was
24865         failure of any application making nontrivial use of fts: rm, du,
24866         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
24867           ./rm: traversal failed: `a': Bad file descriptor
24868         Debugging that, you see that even though FD 6 was closed just
24869         prior to the opendir call in fd_clone_opendir, its resulting
24870         dir->dd_fd was 8, rather than the expected value of 6:
24871
24872         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
24873         93                close (fd);
24874         (gdb) n
24875         94                dir = fd_clone_opendir (dupfd);
24876         (gdb) n
24877         95                saved_errno = errno;
24878         (gdb) p dir->dd_fd
24879         $11 = 8
24880
24881         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
24882         The problem is that on OpenBSD, fd_clone_opendir has to resort
24883         to using the old-style save/restore CWD mechanism, due to its
24884         lack of openat/proc support, and *that* would steal the FD (6)
24885         that opendir was supposed to use.
24886
24887         The fix is to squirrel away the desired FD so that save_cwd uses a
24888         different one, and then free the dest FD right before calling opendir.
24889         That guarantees opendir will use the required file descriptor.
24890
24891         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
24892
24893 2010-10-08  Bruno Haible  <bruno@clisp.org>
24894
24895         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
24896         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
24897
24898 2010-10-08  Bruno Haible  <bruno@clisp.org>
24899
24900         nanosleep: Make replacement POSIX compliant.
24901         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
24902         is out of range.
24903         Reported by Jim Meyering.
24904
24905 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
24906
24907         bootstrap: add hook for altering gnulib.mk, for Bison
24908         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
24909         the Bison bootstrapping process can rewrite file names and variables
24910         in this file before later parts of 'bootstrap' use the file.
24911         Bison wants to include lib/gnulib.mk from the top-level makefile,
24912         so it needs the file names in this file to be relative to the top
24913         level, not relative to lib; plus it needs variable names to be
24914         rewritten.
24915         (slurp): Use the new function.
24916
24917         bootstrap: reformat for readability
24918         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
24919
24920 2010-10-08  Eric Blake  <eblake@redhat.com>
24921
24922         docs: update cygwin progress
24923         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
24924         1.7.7.
24925         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
24926         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
24927         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
24928         * doc/posix-functions/carg.texi (carg): Likewise.
24929         * doc/posix-functions/cargf.texi (cargf): Likewise.
24930         * doc/posix-functions/casin.texi (casin): Likewise.
24931         * doc/posix-functions/casinf.texi (casinf): Likewise.
24932         * doc/posix-functions/casinh.texi (casinh): Likewise.
24933         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
24934         * doc/posix-functions/catan.texi (catan): Likewise.
24935         * doc/posix-functions/catanf.texi (catanf): Likewise.
24936         * doc/posix-functions/catanh.texi (catanh): Likewise.
24937         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
24938         * doc/posix-functions/ccos.texi (ccos): Likewise.
24939         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
24940         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
24941         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
24942         * doc/posix-functions/cexp.texi (cexp): Likewise.
24943         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
24944         * doc/posix-functions/cimag.texi (cimag): Likewise.
24945         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
24946         * doc/posix-functions/clog.texi (clog): Likewise.
24947         * doc/posix-functions/clogf.texi (clogf): Likewise.
24948         * doc/posix-functions/conj.texi (conj): Likewise.
24949         * doc/posix-functions/conjf.texi (conjf): Likewise.
24950         * doc/posix-functions/cpow.texi (cpow): Likewise.
24951         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
24952         * doc/posix-functions/cproj.texi (cproj): Likewise.
24953         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
24954         * doc/posix-functions/creal.texi (creal): Likewise.
24955         * doc/posix-functions/crealf.texi (crealf): Likewise.
24956         * doc/posix-functions/csin.texi (csin): Likewise.
24957         * doc/posix-functions/csinf.texi (csinf): Likewise.
24958         * doc/posix-functions/csinh.texi (csinh): Likewise.
24959         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
24960         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
24961         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
24962         * doc/posix-functions/ctan.texi (ctan): Likewise.
24963         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
24964         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
24965         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
24966         * doc/posix-headers/complex.texi (complex.h): Likewise.
24967
24968 2010-10-07  Jim Meyering  <meyering@redhat.com>
24969
24970         parse-datetime: avoid compilation failure on OpenBSD 4.7
24971         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
24972         This works around a compilation failure on OpenBSD 4.7:
24973         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
24974
24975 2010-10-07  Eric Blake  <eblake@redhat.com>
24976
24977         docs: update cygwin progress
24978         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
24979         1.7.6.
24980         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
24981         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
24982         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
24983         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
24984         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
24985         Likewise.
24986         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
24987         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
24988         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
24989         Likewise.
24990         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
24991         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
24992         Likewise.
24993         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
24994         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
24995         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
24996         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
24997         Likewise.
24998         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
24999         Likewise.
25000         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25001
25002         docs: update parse-datetime history
25003         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25004         documentation of this function's history and alternatives.
25005
25006         cygwin: use more robust version check
25007         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25008         exclude an eventual cygwin 1.9.1.
25009         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25010         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25011         (gl_FUNC_STRCASESTR): Likewise.
25012         Reported by Bruno Haible.
25013
25014 2010-10-06  Bruno Haible  <bruno@clisp.org>
25015
25016         string, sys_select: Avoid #including large headers unless necessary.
25017         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25018         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25019         OSF/1, BeOS, Haiku.
25020         Reported by Jim Meyering.
25021
25022 2010-10-05  Eric Blake  <eblake@redhat.com>
25023
25024         memmem, strstr, strcasestr: fix bug with long periodic needle
25025         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25026         periodic needle having false positive.
25027         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25028         and cygwin 1.7.7.
25029         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25030         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25031         (gl_FUNC_STRCASESTR): Likewise.
25032         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25033         * tests/test-memmem.c (main): Expose the bug.
25034         * tests/test-strcasestr.c (main): Likewise.
25035         * tests/test-strstr.c (main): Likewise.
25036         * tests/test-c-strcasestr.c (main): Likewise.
25037         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25038         * doc/posix-functions/strstr.texi (strstr): Likewise.
25039         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25040         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25041
25042 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25043
25044         parse-datetime: do some more renaming
25045         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25046         parse_datetime, not get_date.  Mention the renaming.
25047         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25048         in comments.
25049         * m4/bison.m4: Likewise.
25050
25051 2010-10-05  Eric Blake  <eblake@redhat.com>
25052
25053         parse-datetime: better name than get_date
25054         * NEWS: Reword the deprecation notice.
25055         * modules/get_date: Rename to modules/parse-datetime.
25056         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25057         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25058         * lib/get_date.y: Rename to lib/parse-datetime.y.
25059         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25060         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25061         * doc/getdate.texi: Provide fallback wrapper.
25062         * lib/getdate.h: Move guts, and wrap...
25063         * lib/parse-datetime.h: ...new file.
25064         * lib/parse-datetime.y (get_date): Rename...
25065         (parse_datetime): ...to this.
25066         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25067         (gl_PARSE_DATETIME): ...to this.
25068         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25069         documentation.
25070         * modules/getdate (Files): Provide fallback docs and header.
25071         (Notice, Depends-on): Update references.
25072         * tests/test-parse-datetime.c: Likewise.
25073         * DEPENDENCIES: Likewise.
25074         * MODULES.html.sh (Date and time <time.h>): Likewise.
25075         * doc/parse-datetime.texi (Date input formats)
25076         (Authors of parse_datetime): Likewise.
25077         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25078         (Include): Likewise.
25079         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25080         * gnulib-tool: Likewise.
25081         * m4/bison.m4 (gl_BISON): Likewise.
25082         Suggested by Bruno Haible.
25083
25084 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25085
25086         more ports to Solaris tr, which needs [] around ranges
25087         * gnulib-tool: Solaris tr needs [] around ranges.
25088         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25089         * tests/test-pipe-filter-gi1.c (main): Likewise.
25090         * tests/test-pipe-filter-ii1.c (main): Likewise.
25091
25092 2010-10-05  Eric Blake  <eblake@redhat.com>
25093
25094         bootstrap: fix Solaris regression
25095         * build-aux/bootstrap (check_versions): Solaris tr still needs []
25096         around ranges.
25097         Reported by Pádraig Brady.
25098
25099         bootstrap: work with pkg-config
25100         * build-aux/bootstrap (check_versions): Also transliterate - in
25101         prerequisite name.
25102         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
25103         prerequisites that were already found, to avoid confusion.
25104         Reported by Justin Clift.
25105
25106         faccessat: remove unused wrappers
25107         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
25108         presence of these wrappers dragged in -lgen on Solaris.
25109         Reported by Clemens Brogi; fix suggested by Paul Eggert.
25110
25111 2010-10-05  Jim Meyering  <meyering@redhat.com>
25112
25113         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
25114         * Makefile (sc_pragma_columns): New syntax-check rule.
25115
25116 2010-10-04  Bruno Haible  <bruno@clisp.org>
25117
25118         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
25119         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
25120         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
25121         Reported by Bruce Korb and Eric Blake.
25122
25123 2010-10-04  Bruno Haible  <bruno@clisp.org>
25124
25125         threadlib: Make option --with-libpth-prefix work.
25126         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
25127         use $LIBPTH, not just -lpth.
25128
25129 2010-10-04  Bruno Haible  <bruno@clisp.org>
25130
25131         Avoid line length limitation from HP NonStop system header files.
25132         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
25133         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
25134         * lib/ctype.in.h: Likewise.
25135         * lib/dirent.in.h: Likewise.
25136         * lib/errno.in.h: Likewise.
25137         * lib/fcntl.in.h: Likewise.
25138         * lib/float.in.h: Likewise.
25139         * lib/getopt.in.h: Likewise.
25140         * lib/iconv.in.h: Likewise.
25141         * lib/inttypes.in.h: Likewise.
25142         * lib/langinfo.in.h: Likewise.
25143         * lib/locale.in.h: Likewise.
25144         * lib/math.in.h: Likewise.
25145         * lib/netdb.in.h: Likewise.
25146         * lib/netinet_in.in.h: Likewise.
25147         * lib/poll.in.h: Likewise.
25148         * lib/pthread.in.h: Likewise.
25149         * lib/pty.in.h: Likewise.
25150         * lib/sched.in.h: Likewise.
25151         * lib/se-selinux.in.h: Likewise.
25152         * lib/search.in.h: Likewise.
25153         * lib/signal.in.h: Likewise.
25154         * lib/spawn.in.h: Likewise.
25155         * lib/stdarg.in.h: Likewise.
25156         * lib/stddef.in.h: Likewise.
25157         * lib/stdint.in.h: Likewise.
25158         * lib/stdio.in.h: Likewise.
25159         * lib/stdlib.in.h: Likewise.
25160         * lib/string.in.h: Likewise.
25161         * lib/strings.in.h: Likewise.
25162         * lib/sys_file.in.h: Likewise.
25163         * lib/sys_ioctl.in.h: Likewise.
25164         * lib/sys_select.in.h: Likewise.
25165         * lib/sys_socket.in.h: Likewise.
25166         * lib/sys_stat.in.h: Likewise.
25167         * lib/sys_time.in.h: Likewise.
25168         * lib/sys_times.in.h: Likewise.
25169         * lib/sys_utsname.in.h: Likewise.
25170         * lib/sys_wait.in.h: Likewise.
25171         * lib/sysexits.in.h: Likewise.
25172         * lib/termios.in.h: Likewise.
25173         * lib/time.in.h: Likewise.
25174         * lib/unistd.in.h: Likewise.
25175         * lib/wchar.in.h: Likewise.
25176         * lib/wctype.in.h: Likewise.
25177         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
25178         * modules/ctype (Makefile.am): Likewise.
25179         * modules/dirent (Makefile.am): Likewise.
25180         * modules/errno (Makefile.am): Likewise.
25181         * modules/fcntl-h (Makefile.am): Likewise.
25182         * modules/float (Makefile.am): Likewise.
25183         * modules/getopt-posix (Makefile.am): Likewise.
25184         * modules/iconv-h (Makefile.am): Likewise.
25185         * modules/inttypes (Makefile.am): Likewise.
25186         * modules/langinfo (Makefile.am): Likewise.
25187         * modules/locale (Makefile.am): Likewise.
25188         * modules/math (Makefile.am): Likewise.
25189         * modules/netdb (Makefile.am): Likewise.
25190         * modules/netinet_in (Makefile.am): Likewise.
25191         * modules/poll-h (Makefile.am): Likewise.
25192         * modules/pthread (Makefile.am): Likewise.
25193         * modules/pty (Makefile.am): Likewise.
25194         * modules/sched (Makefile.am): Likewise.
25195         * modules/search (Makefile.am): Likewise.
25196         * modules/selinux-h (Makefile.am): Likewise.
25197         * modules/signal (Makefile.am): Likewise.
25198         * modules/spawn (Makefile.am): Likewise.
25199         * modules/stdarg (Makefile.am): Likewise.
25200         * modules/stddef (Makefile.am): Likewise.
25201         * modules/stdint (Makefile.am): Likewise.
25202         * modules/stdio (Makefile.am): Likewise.
25203         * modules/stdlib (Makefile.am): Likewise.
25204         * modules/string (Makefile.am): Likewise.
25205         * modules/strings (Makefile.am): Likewise.
25206         * modules/sys_file (Makefile.am): Likewise.
25207         * modules/sys_ioctl (Makefile.am): Likewise.
25208         * modules/sys_select (Makefile.am): Likewise.
25209         * modules/sys_socket (Makefile.am): Likewise.
25210         * modules/sys_stat (Makefile.am): Likewise.
25211         * modules/sys_time (Makefile.am): Likewise.
25212         * modules/sys_times (Makefile.am): Likewise.
25213         * modules/sys_utsname (Makefile.am): Likewise.
25214         * modules/sys_wait (Makefile.am): Likewise.
25215         * modules/sysexits (Makefile.am): Likewise.
25216         * modules/termios (Makefile.am): Likewise.
25217         * modules/time (Makefile.am): Likewise.
25218         * modules/unistd (Makefile.am): Likewise.
25219         * modules/wchar (Makefile.am): Likewise.
25220         * modules/wctype (Makefile.am): Likewise.
25221
25222 2010-10-04  Bruno Haible  <bruno@clisp.org>
25223
25224         read-file tests: Avoid a test failure on NonStop Kernel.
25225         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
25226         a regular file.
25227         Reported by Joachim Schmitz <schmitz@hp.com>.
25228
25229 2010-10-03  Bruno Haible  <bruno@clisp.org>
25230
25231         gnulib-tool: Fixes for --create-testdir with --libtool.
25232         * gnulib-tool (func_get_automake_snippet): Don't augment
25233         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
25234         an executable.
25235         (func_create_testdir): Handle module 'alloca' like func_import.
25236         Reported by Bruce Korb <bruce.korb@gmail.com>.
25237
25238 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
25239
25240         Avoid some lines longer than 80 characters.
25241         * lib/stdint.in.h: Break long comment lines.
25242         * lib/math.in.h: Likewise.
25243         (_GL_NUM_UINT_WORDS): New macro, for readability.
25244         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
25245         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
25246         * lib/stdlib.in.h: Likewise.
25247         * lib/spawn.in.h: Likewise.
25248         * lib/sys_socket.in.h: Update an URL.
25249         * lib/sys_stat.in.h: Break long line.
25250
25251 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
25252
25253         Improve pmccabe2html.
25254         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
25255         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
25256         when the sources change. Remove the line in the HTML about "Used
25257         ranges" (which implied that there might be other unused ranges),
25258         rename "Resume" to "Summary" (easier to understand for more users).
25259         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
25260         styles, and some unnecessary blank lines.
25261
25262 2010-10-03  Bruno Haible  <bruno@clisp.org>
25263             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
25264
25265         acl: Add support for ACLs on NonStop Kernel.
25266         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
25267         Check whether the function aclsort() exists.
25268         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
25269         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
25270         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25271         (acl_nontrivial [HAVE_ACLSORT]: New function.
25272         (file_has_acl): Implement for NonStop Kernel.
25273         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25274         (qset_acl): Implement for NonStop Kernel.
25275         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
25276         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25277         (main): Implement for NonStop Kernel.
25278         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
25279         Kernel. Handle this flavor.
25280         * tests/test-set-mode-acl.sh: Likewise.
25281         * tests/test-copy-acl.sh: Likewise.
25282         * tests/test-copy-file.sh: Likewise.
25283
25284 2010-10-03  Bruno Haible  <bruno@clisp.org>
25285
25286         Info about ACLs on NonStop Kernel.
25287         * doc/acl-resources.txt: Add info about NonStop Kernel.
25288         References by Joachim Schmitz <schmitz@hp.com>.
25289
25290 2010-10-02  Bruno Haible  <bruno@clisp.org>
25291
25292         Define missing EDQUOT on NonStop Kernel.
25293         * lib/errno.in.h (EDQUOT): Assign a value if missing.
25294         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
25295         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
25296         missing.
25297         * doc/posix-headers/errno.texi: Mention the NSK bug.
25298         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
25299         Reported by Joachim Schmitz <schmitz@hp.com>.
25300
25301 2010-10-02  Bruno Haible  <bruno@clisp.org>
25302
25303         Update doc for POSIX:2008.
25304         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
25305         Update URL of POSIX specification.
25306
25307 2010-10-02  Bruno Haible  <bruno@clisp.org>
25308
25309         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
25310         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
25311         from gnulib, not from Automake.
25312
25313 2010-10-02  Bruno Haible  <bruno@clisp.org>
25314
25315         New module 'system-posix'.
25316         * modules/system-posix: New file.
25317         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
25318         module is present.
25319         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
25320         GNULIB_SYSTEM_POSIX.
25321         * modules/stdlib (Depends-on): Remove sys_wait.
25322         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
25323         * doc/posix-functions/system.texi: Mention the new module.
25324         * doc/posix-headers/stdlib.texi: Likewise.
25325         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
25326         define test_sys_wait_macros to a no-op.
25327         Reported by Sam Steingold <sds@gnu.org>.
25328
25329 2010-09-30  Bruno Haible  <bruno@clisp.org>
25330
25331         More renaming from 'getdate' to 'get_date'.
25332         * doc/get_date.texi: Renamed from doc/getdate.texi.
25333         * modules/get_date (Files): Update.
25334         * MODULES.html.sh (Date and time <time.h>): Update.
25335         * DEPENDENCIES: Update.
25336         * gnulib-tool: Update comment.
25337         * m4/bison.m4 (gl_BISON): Likewise.
25338         * m4/get_date.m4 (gl_GET_DATE): Likewise.
25339
25340 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
25341
25342         bootstrap: support ACLOCAL_FLAGS during aclocal
25343         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
25344         can add additional -I dir for third-party .m4 files.
25345
25346 2010-09-30  Eric Blake  <eblake@redhat.com>
25347
25348         bootstrap: use glibtoolize on MacOS
25349         * build-aux/bootstrap (check_versions): Convert libtool into
25350         libtoolize.
25351         (tool search): Move libtool check earlier, and look for
25352         glibtoolize for MacOS.
25353         (gnulib_tool_options): Auto-add --libtool when appropriate.
25354         Reported by Justin Clift.
25355
25356         poll: fix typo that broke test on MacOS
25357         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
25358         Reported by Justin Clift.
25359
25360         getdate: rename to get_date
25361         Note: getdate.h is not renamed, to minimize client impact.
25362         * modules/getdate: Mark obsolete.  Move old contents...
25363         * modules/get_date: ...to new module name.
25364         * modules/getdate-tests: Move...
25365         * modules/get_date-tests: ...here.
25366         * m4/getdate.m4: Move...
25367         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
25368         * lib/getdate.y: Move...
25369         * lib/get_date.y: ...here.
25370         * tests/test-getdate.c: Move...
25371         * tests/test-get_date.c: ...here.
25372         * doc/posix-functions/getdate.texi (getdate): Update name.
25373         * NEWS: Mention the change.
25374
25375 2010-09-29  Bruno Haible  <bruno@clisp.org>
25376
25377         Separate the module 'waitpid' from the module 'sys_wait'.
25378         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
25379         present.
25380         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
25381         gl_MODULE_INDICATOR_FOR_TESTS.
25382         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
25383         * modules/sys_wait (Depends-on): Remove waitpid.
25384         (Makefile.am): Substitute GNULIB_WAITPID.
25385         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
25386         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
25387         signature only if the 'waitpid' module is present.
25388         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
25389         * NEWS: Mention the change.
25390         * modules/grantpt (Depends-on): Add waitpid.
25391         * modules/wait-process (Depends-on): Likewise.
25392
25393 2010-09-29  Bruno Haible  <bruno@clisp.org>
25394
25395         More tests for module 'sys_wait'.
25396         * modules/sys_wait-c++-tests: New file.
25397         * tests/test-sys_wait-c++.cc: New file.
25398         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
25399         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25400
25401 2010-09-29  Bruno Haible  <bruno@clisp.org>
25402
25403         New module 'waitpid'.
25404         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
25405         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
25406         Don't include <process.h>.
25407         (waitpid): Declare only, using modern idiom.
25408         * m4/waitpid.m4: New file.
25409         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
25410         * modules/waitpid: New file.
25411         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
25412         (Makefile.am): Update.
25413         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25414
25415 2010-09-28  Bruno Haible  <bruno@clisp.org>
25416
25417         poll: Assume ANSI C.
25418         * lib/poll.c (poll): Use an ANSI C declaration.
25419
25420 2010-09-28  Bruno Haible  <bruno@clisp.org>
25421
25422         poll-h: Create poll.h on all platforms.
25423         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
25424         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
25425         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
25426         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
25427         (gl_REPLACE_POLL_H): Don't set POLL_H.
25428         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
25429         * modules/poll-h (Depends-on): Add include_next.
25430         (Makefile.am): Create poll.h unconditionally. Substitute also
25431         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
25432
25433 2010-09-28  Bruno Haible  <bruno@clisp.org>
25434
25435         Tests for module 'poll-h'.
25436         * modules/poll-h-c++-tests: New file.
25437         * tests/test-poll-h-c++.cc: New file.
25438
25439         Tests for module 'poll-h'.
25440         * modules/poll-h-tests: New file.
25441         * tests/test-poll-h.c: New file.
25442
25443 2010-09-28  Bruno Haible  <bruno@clisp.org>
25444
25445         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
25446         * modules/poll-h (Depends-on): Add 'extensions'.
25447
25448 2010-09-28  Bruno Haible  <bruno@clisp.org>
25449
25450         New module 'poll-h'.
25451         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
25452         (poll): Use modern idiom.
25453         * modules/poll-h: New file.
25454         * modules/poll (Files): Remove lib/poll.in.h.
25455         (Depends-on): Add poll-h.
25456         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
25457         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
25458         * m4/poll_h.m4: New file.
25459         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
25460         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
25461         and invoke gl_REPLACE_POLL_H.
25462         * lib/poll.c: Use common idiom.
25463         * tests/test-poll.c: Likewise.
25464         * doc/posix-headers/poll.texi: Mention the poll-h module.
25465         Suggested by Eric Blake.
25466
25467 2010-09-26  Bruno Haible  <bruno@clisp.org>
25468
25469         sys_wait: Implement WSTOPSIG.
25470         * lib/sys_wait.in.h (WSTOPSIG): New macro.
25471         Reported by Simon Josefsson.
25472
25473 2010-09-26  Simon Josefsson  <simon@josefsson.org>
25474
25475         stdlib, sys_wait: Avoid compilation error on mingw.
25476         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
25477
25478 2010-09-26  Bruno Haible  <bruno@clisp.org>
25479
25480         stdlib tests: Avoid code duplication.
25481         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
25482         * modules/sys_wait-tests (Files): Likewise.
25483         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
25484         * tests/test-stdlib.c: Include test-sys_wait.h.
25485         (main): Invoke test_sys_wait_macros.
25486         * tests/test-sys_wait.c: Include test-sys_wait.h.
25487         (main): Invoke test_sys_wait_macros.
25488
25489 2010-09-25  Simon Josefsson  <simon@josefsson.org>
25490
25491         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
25492         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
25493         sure Windows sockets are working before calling getaddrinfo.
25494         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
25495         * doc/gnulib.texi (Windows sockets): Fix typo.
25496
25497 2010-09-25  Bruno Haible  <bruno@clisp.org>
25498
25499         Tests for module 'regex-quote'.
25500         * modules/regex-quote-tests: New file.
25501         * tests/test-regex-quote.c: New file.
25502
25503         New module 'regex-quote'.
25504         * lib/regex-quote.h: New file.
25505         * lib/regex-quote.c: New file.
25506         * modules/regex-quote: New file.
25507         Suggested by Reuben Thomas <rrt@sc3d.org>.
25508
25509 2010-09-24  Bruno Haible  <bruno@clisp.org>
25510
25511         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
25512         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
25513
25514 2010-09-23  Bruno Haible  <bruno@clisp.org>
25515
25516         setenv: Relax license.
25517         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
25518         Blake.
25519         Requested by Eric Blake.
25520
25521 2010-09-22  Bruno Haible  <bruno@clisp.org>
25522
25523         termios: Relax license.
25524         * modules/termios (License): Change to LGPLv2+.
25525         Requested by Eric Blake.
25526
25527 2010-09-22  Bruno Haible  <bruno@clisp.org>
25528
25529         threadlib: Allow the package to change the default to 'no'.
25530         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
25531         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
25532         Reported by Paul Eggert.
25533
25534 2010-09-22  Pádraig Brady  <P@draigbrady.com>
25535             Bruno Haible  <bruno@clisp.org>
25536
25537         Fix endless loop in mbmemcasecoll.
25538         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
25539         byte.
25540         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
25541
25542 2010-09-22  Bruno Haible  <bruno@clisp.org>
25543
25544         Tests for module 'memcoll'.
25545         * modules/memcoll-tests: New file.
25546         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
25547
25548         memcoll, xmemcoll: Clarify size vs. length.
25549         * modules/memcoll.c (memcoll0): Clarify specification.
25550         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
25551         passed to collate_error.
25552
25553 2010-09-22  Bruno Haible  <bruno@clisp.org>
25554
25555         Tests for module 'memcasecmp'.
25556         * modules/memcasecmp-tests: New file.
25557         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
25558
25559 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
25560
25561         * lib/pthread.in.h: Add split double-inclusion guard, and include
25562         system <pthread.h> if there is one.  Use @@-style as in other
25563         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
25564         pthread.h doesn't.
25565         (pthread_mutexattr_destroy, pthread_mutexattr_init):
25566         (pthread_mutexattr_settype, pthread_mutex_trylock):
25567         New static inline functions, if there's no system <pthread.h>.
25568         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
25569         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
25570         Approximate with mutexes if the system lacks spinlocks, as in
25571         MacOS.
25572         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
25573         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
25574         @@-style.  Check for spinlocks separately.
25575         (gl_PTHREAD_DEFAULTS): New macro.
25576         * modules/pthread: Redo to use a more typical style for in.h files.
25577
25578 2010-09-21  Eric Blake  <eblake@redhat.com>
25579
25580         net_if: enhance tests
25581         * tests/test-net_if.c (main): Move signature checks earlier.
25582         Print failures to stderr.
25583         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
25584         Document the bug that we do not yet fix.
25585
25586 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25587
25588         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
25589         about gnulib, not GSS.
25590
25591 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25592
25593         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
25594         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
25595         for Emacs.
25596         * build-aux/pmccabe2html: Make Makefile.am example code more
25597         cut-and-paste friendly.
25598
25599 2010-09-21  Simon Josefsson  <simon@josefsson.org>
25600
25601         * tests/test-net_if.c: New file.
25602         * modules/net_if-tests: New file.
25603
25604 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
25605
25606         pthread: add pthread_spin_destroy
25607         * lib/pthread.in.h (pthread_spin_destroy): New function.
25608
25609 2010-09-19  Bruno Haible  <bruno@clisp.org>
25610
25611         gnulib-tool: Fix --help output.
25612         * gnulib-tool (func_usage): Fix help message.
25613         Reported by Reuben Thomas <rrt@sc3d.org>.
25614
25615 2010-09-18  Jim Meyering  <meyering@redhat.com>
25616
25617         maint.mk: avoid unexpanded \n in two diagnostics
25618         * top/maint.mk (sc_prohibit_always_true_header_tests):
25619         Don't use a literal \n in a halt=... assignment.  It would not be
25620         expanded, and the two \n bytes would appear in the diagnostic output
25621         rather than the desired newline.  Use halt=$$(printf ... instead.
25622         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25623
25624 2010-09-18  Bruno Haible  <bruno@clisp.org>
25625
25626         netinet_in: Doc tweak.
25627         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
25628         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25629
25630 2010-09-18  Jim Meyering  <meyering@redhat.com>
25631
25632         init.sh: correct an outdated comment
25633         * tests/init.sh (create_exe_shims_):  s/function/alias/
25634
25635         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
25636         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
25637         a file named "*.exe" is removed between the glob expansion and the
25638         processing of that oddly named file.
25639
25640 2010-09-17  Eric Blake  <eblake@redhat.com>
25641
25642         mirbsd: add some more support
25643         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
25644         in BSD family.
25645         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
25646         devices as OpenBSD.
25647         * m4/host-os.m4 (mirbsd): Add MirBSD.
25648
25649         tests: fix unportable assumption on sys/wait.h
25650         * tests/test-sys_wait.c (main): Relax test.
25651         * tests/test-stdlib.c (main): Likewise.
25652
25653         init.sh: accomodate directory with no .exes
25654         * tests/init.sh: Accomodate directory containing only scripts.
25655
25656         tests: avoid compiler warning
25657         * tests/test-stdlib.c (main): Use the variable.
25658
25659         fdutimens, fdutimensat: update signature, again
25660         * lib/utimens.h (gl_futimens): Delete, and move signature...
25661         (fdutimens): ...here.
25662         (fdutimensat): Rearrange signature.
25663         (lutimensat): Rename variable for clarity.
25664         * lib/fdutimensat.c (fdutimensat): Update signature.
25665         * lib/utimens.c (fdutimens): Likewise.
25666         (gl_futimens): Delete.
25667         (utimens, lutimens): Update callers.
25668         * lib/futimens.c (futimens): Likewise.
25669         * tests/test-fdutimensat.c: Likewise.
25670         * tests/test-utimens.c: Likewise.
25671         * tests/test-futimens.h: Update comment.
25672         * NEWS: Mention this.
25673         Suggested by Paul Eggert.
25674
25675 2010-09-17  Bruno Haible  <bruno@clisp.org>
25676
25677         Take over the maintenance of some older macros from Autoconf.
25678         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
25679         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
25680         GNU Autoconf.
25681         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
25682         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
25683
25684 2010-09-17  Eric Blake  <eblake@redhat.com>
25685
25686         fdutimensat: drop atflag validation
25687         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
25688         with valid fd, to close a race scenario where futimens is
25689         unsupported and FILE was replaced by a symlink.
25690         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
25691         accordingly.
25692         Suggested by Paul Eggert.
25693
25694 2010-09-16  Bruno Haible  <bruno@clisp.org>
25695
25696         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
25697         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
25698
25699 2010-09-16  Bruno Haible  <bruno@clisp.org>
25700
25701         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
25702         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
25703         login_tty exists.
25704         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25705
25706 2010-09-16  Bruno Haible  <bruno@clisp.org>
25707
25708         login_tty: Make the replacement code work on BSD systems.
25709         * lib/login_tty.c: Include <sys/ioctl.h>.
25710         (login_tty): Use ioctl TIOCSCTTY when available.
25711         * modules/login_tty (Depends-on): Add sys_ioctl.
25712         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25713
25714 2010-09-16  Bruno Haible  <bruno@clisp.org>
25715
25716         login_tty: Stricter unit test.
25717         * modules/login_tty-tests (Depends-on): Add tcgetsid.
25718         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
25719         and tcgetsid() after login_tty.
25720         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25721
25722 2010-09-16  Bruno Haible  <bruno@clisp.org>
25723
25724         New module 'tcgetsid'.
25725         * lib/tcgetsid.c: New file.
25726         * m4/tcgetsid.m4: New file.
25727         * modules/tcgetsid: New file.
25728         * modules/termios (Depends-on): Add c++defs, warn-on-use.
25729         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
25730         GNULIB_TCGETSID, HAVE_TCGETSID.
25731         * lib/termios.in.h: Include <sys/types.h>.
25732         (tcgetsid): New declaration.
25733         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
25734         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
25735         * doc/posix-functions/tcgetsid.texi: Mention the new module.
25736         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
25737
25738 2010-09-16  Bruno Haible  <bruno@clisp.org>
25739
25740         Tests for module 'termios'.
25741         * modules/termios-c++-tests: New file.
25742         * modules/termios-tests: New file.
25743         * tests/test-termios-c++.cc: New file.
25744         * tests/test-termios.c: New file.
25745
25746         New module 'termios'.
25747         * modules/termios: New file.
25748         * lib/termios.in.h: New file.
25749         * m4/termios_h.m4: New file.
25750         * doc/posix-headers/termios.texi: Mention the new module.
25751
25752 2010-09-16  Eric Blake  <eblake@redhat.com>
25753
25754         fdutimensat: add an atflag parameter
25755         * lib/fdutimensat.c (fdutimensat): Add new parameter.
25756         * lib/utimens.h (fdutimensat): Update prototype.
25757         * tests/test-fdutimensat.c: Adjust test to match.
25758         * NEWS: Document the change.
25759         Suggested by Paul Eggert.
25760
25761 2010-09-16  Bruno Haible  <bruno@clisp.org>
25762
25763         Fix typos in comments.
25764         * lib/striconveh.h: Fix typo in comment.
25765         * lib/login_tty.c (login_tty): Likewise.
25766
25767 2010-09-15  Bruno Haible  <bruno@clisp.org>
25768
25769         stdlib: clarify MirBSD WEXITSTATUS bug
25770         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
25771         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25772
25773 2010-09-15  Eric Blake  <eblake@redhat.com>
25774
25775         stdlib: work around MirBSD WEXITSTATUS bug
25776         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
25777         * modules/stdlib (Depends-on): Add sys_wait.
25778         * tests/test-sys_wait.c (main): Enhance test.
25779         * tests/test-stdlib.c (main): Likewise.
25780         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
25781
25782         docs: mention MacOS issue with WEXITSTATUS(constant)
25783         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
25784         issue.
25785         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25786
25787         strnlen: add tests
25788         * modules/strnlen-tests: New file.
25789         * tests/test-strnlen.c: Likewise.
25790
25791 2010-09-14  Bruno Haible  <bruno@clisp.org>
25792
25793         unistr/base: Avoid link errors when module 'libunistring' is also used.
25794         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
25795         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
25796         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
25797         Declare also when HAVE_LIBUNISTRING is set.
25798         Reported by Pádraig Brady <P@draigbrady.com>.
25799
25800 2010-09-14  Eric Blake  <eblake@redhat.com>
25801
25802         test-rawmemchr: make more robust
25803         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
25804         (Depends-on, configure.ac): Add needed prerequisites to use it.
25805         * modules/memchr-tests (Files, Depends-on, configure.ac):
25806         Likewise, to avoid implicit reliance on memchr module prereqs.
25807         * tests/test-memchr.c (main): Ensure proper masking.
25808         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
25809         reads.
25810
25811         memchr: detect glibc Alpha bug
25812         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
25813         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
25814         Alpha.
25815         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
25816         * tests/test-memchr.c (main): Enhance test.
25817         Reported by Nelson H. F. Beebe.
25818
25819 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25820
25821         fts, getcwd, glob: audit for dirfd returning -1
25822         * lib/fts.c (opendir): Remove #define; no longer used.
25823         (opendirat): New arg PDIR_FD.  All callers changed.
25824         (fts_build, _opendir2): Use new opendirat to avoid the need for
25825         dirfd, or for checking whether dirfd returns a negative value.
25826         Don't use opendir; always use openat followed by fdopendir.
25827         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
25828         it.
25829         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
25830         returns -1 here.
25831         * modules/fts (Depends-on): Remove dirfd.
25832         * modules/getcwd (Depends-on): Likewise.
25833
25834 2010-09-13  Eric Blake  <eblake@redhat.com>
25835
25836         float: fix broken MirBSD header
25837         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
25838         * doc/posix-headers/float.texi (float.h): Document it.
25839
25840 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25841
25842         fts: use O_NOFOLLOW to avoid race condition when opening a directory
25843         * lib/fts.c (opendirat): New arg extra_flags.
25844         (__opendir2): Use it to avoid following symlinks when opening
25845         a directory, if symlinks are not supposed to be followed.  See
25846         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
25847
25848         fdopendir: preserve argument fd before returning
25849         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
25850         (fdopendir_with_dup, fd_clone_opendir): New static functions.
25851         (fdopendir): Use them, arranging for FD to be open to the same
25852         directory that it was when it started.  (It might be temporarily
25853         closed while fdopendir is running, so this not thread- or
25854         signal-safe.)  Be careful to do the right thing even when file
25855         descriptors are scarce and dup fails with errno == EMFILE.  See
25856         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
25857
25858 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
25859
25860         regex: Pass the system regex if its only problem is 32-bit regoff_t.
25861         * NEWS: Document change.
25862         * m4/regex.m4: Disable test for regoff_t size.
25863
25864 2010-09-13  Jim Meyering  <meyering@redhat.com>
25865
25866         fts: don't operate on an invalid file descriptor after failed dup
25867         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
25868         negative file descriptor.
25869
25870 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
25871
25872         savedir: add streamsavedir, deprecate fdsavedir
25873         * NEWS: Mention deprecation of fdsavedir.
25874         * lib/savedir.c (streamsavedir): New extern function, whose name
25875         ends in "savedir" to be consistent with the others.  This differs
25876         from savedirstream in that it doesn't close its argument.  The
25877         next version of GNU tar will use this instead of fdsavedir, to
25878         avoid some race conditions and conserve file descriptors.
25879         (savedirstream): Reimplement as a wrapper around streamsavedir.
25880         (fdsavedir): Add a comment deprecating this function.  As far as
25881         I know, only GNU tar used it, and GNU tar doesn't need it any more.
25882         * lib/savedir.h (streamsavedir): New decl.
25883         (fdsavedir): Add a comment deprecating this.
25884
25885 2010-09-10  Bruno Haible  <bruno@clisp.org>
25886
25887         langinfo: Fix last commit.
25888         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
25889         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
25890         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25891
25892 2010-09-10  Bruno Haible  <bruno@clisp.org>
25893
25894         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
25895         * lib/progreloc.c (O_EXEC): Define fallback.
25896
25897 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
25898
25899         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
25900         * NEWS: Document recent changes to fcntl-h.
25901         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
25902         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
25903         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
25904         Similarly for O_SEARCH; this last was already true, but not documented.
25905         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
25906         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
25907         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
25908         Likewise.
25909         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
25910         is zero, not whether it is defined.
25911         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
25912         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
25913         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
25914
25915 2010-09-10  Bruno Haible  <bruno@clisp.org>
25916
25917         langinfo, nl_langinfo: Fix for IRIX 5.3.
25918         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
25919         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
25920         HAVE_LANGINFO_YESEXPR.
25921         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
25922         HAVE_LANGINFO_YESEXPR.
25923         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
25924         HAVE_LANGINFO_T_FMT_AMPM is 0.
25925         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
25926         HAVE_LANGINFO_YESEXPR is 0.
25927         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
25928         NOEXPR.
25929         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
25930         * doc/posix-functions/nl_langinfo.texi: Likewise.
25931         Reported by Eric Blake.
25932
25933 2010-09-10  Bruno Haible  <bruno@clisp.org>
25934
25935         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
25936         * doc/glibc-functions/login_tty.texi: Mention the include file problem
25937         on FreeBSD 8.0 and OpenBSD 4.6.
25938         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
25939         * m4/pty_h.m4 (gl_PTY_H): Likewise.
25940         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
25941         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
25942         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
25943         ac_includes_default.
25944         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25945
25946 2010-09-09  Eric Blake  <eblake@redhat.com>
25947
25948         strsignal: work around NetBSD bug
25949         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
25950         * lib/string.in.h (includes): Likewise.
25951         * doc/posix-functions/strsignal.texi (strsignal): Document the
25952         bug.
25953         Reported by Nelson H. F. Beebe.
25954
25955         gnulib-tool: work with NetBSD /bin/sh
25956         * gnulib-tool (func_cache_var, func_cache_lookup_module)
25957         (func_get_description, func_get_comment, func_get_status)
25958         (func_get_notice, func_get_applicability, func_get_filelist)
25959         (func_get_dependencies, func_get_autoconf_early_snippet)
25960         (func_get_autoconf_snippet, func_get_automake_snippet)
25961         (func_get_include_directive, func_get_link_directive)
25962         (func_get_license, func_get_maintainer, func_import): Avoid
25963         shell syntax errors from parsing syntax extensions.
25964
25965 2010-09-09  Bruno Haible  <bruno@clisp.org>
25966
25967         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
25968         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
25969         a reliable way to determine whether the 'alias' command works.
25970
25971 2010-09-08  Jim Meyering  <meyering@redhat.com>
25972
25973         init.sh: penalize a set-x-impaired shell; don't disqualify it
25974         * tests/init.sh: Too many shells corrupt application stderr when
25975         you set -x, so we can't afford to disqualify them, since at least
25976         on Irix-6.5, that would disqualify all bourne shells.
25977         Instead, use a two-pass approach.
25978         On the first pass, try to find a shell that meets the stricter
25979         condition that set -x does not corrupt stderr.
25980         If no shell meets the stricter condition, retest each candidate
25981         shell, but without that extra condition.  Finally, when
25982         VERBOSE=yes is requested and set -x might cause trouble, simply
25983         issue a warning and refrain from enabling debug output.
25984
25985 2010-09-08  Eric Blake  <eblake@redhat.com>
25986
25987         unsetenv: fix OpenBSD bug
25988         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
25989         * doc/posix-functions/unsetenv.texi (unsetenv): Update
25990         documentation.
25991         Reported by Jim Meyering.
25992
25993         strtod: work around IRIX 6.5 bug
25994         * lib/strtod.c (strtod): Reparse number on shorter string if
25995         exponent parse was invalid.
25996         * tests/test-strtod.c (main): Add check for "0x1p 2".
25997         Reported by Tom G. Christensen.
25998
25999         getopt: optimize previous patch
26000         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26001         empty variable.  Speed up awk script.
26002         Reported by Paolo Bonzini.
26003
26004 2010-09-08  Jim Meyering  <meyering@redhat.com>
26005
26006         test.sh: disqualify shells for which set -x corrupts stderr
26007         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26008         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26009         appear in stderr output.  For example, this command:
26010             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26011         prints "P=1" on those two systems:
26012
26013 2010-09-08  Bruno Haible  <bruno@clisp.org>
26014
26015         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26016         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26017         commands, because some shells ignore redirections when there is an
26018         error in the command lookup.
26019         Reported by Eric Blake.
26020
26021 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26022
26023         * lib/regex.h: Fix a mention of `regex_compile' (should be
26024         `re_compile_pattern').
26025         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26026         (re_set_registers): Correct name of parameter in comment.
26027
26028         * doc/regex.texi: Add documentation for missing syntax flags.
26029         Remove commented-out documentation of defunct syntax option
26030         RE_NO_EMPTY_ALTS.
26031         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26032         Add documentation of re_set_registers.
26033         Document trick to re-use a pattern buffer by setting fastmap manually.
26034         Update documentation of struct re_pattern_buffer per public members.
26035         Uncomment documentation of equivalence class operators and
26036         collating symbol operators, since they are now implemented,
26037         Explain leftmost-longest matching in relation to alternatives.
26038         Tidy documentation of substring matching.
26039         Remove POSIX documentation, which is done better in
26040         glibc, and refer the reader there. Keep BSD API documentation, as
26041         that is not readily available elsewhere.
26042
26043 2010-09-07  Eric Blake  <eblake@redhat.com>
26044
26045         getopt: handle POSIXLY_CORRECT set but not exported
26046         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26047         export state of POSIXLY_CORRECT, due to bash set -o posix.
26048         Reported by Dustin J. Mitchell.
26049
26050 2010-09-05  Bruno Haible  <bruno@clisp.org>
26051
26052         gnulib-tool: Highlight the changed options.
26053         * gnulib-tool (func_usage): Display the --import, --add-import,
26054         --remove-import explanations in bold font.
26055
26056 2010-09-06  Karl Berry  <karl@gnu.org>
26057
26058         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26059
26060 2010-09-05  Bruno Haible  <bruno@clisp.org>
26061
26062         uniwidth/width: Update comment.
26063         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26064         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26065
26066 2010-09-05  Bruno Haible  <bruno@clisp.org>
26067
26068         isinf, isnan: Relax license.
26069         * modules/isinf (License): Change from GPL to LGPL, with consent from
26070         Ben Pfaff.
26071         * modules/isnan (License): Likewise.
26072         Requested by Ludovic Courtès.
26073
26074 2010-09-04  Bruno Haible  <bruno@clisp.org>
26075
26076         gnulib-tool: Help migration from --import to --add-import or --update.
26077         * gnulib-tool: Emit a verbose error message when --import is used
26078         without any module name.
26079
26080 2010-09-04  Bruno Haible  <bruno@clisp.org>
26081
26082         Update doc about gnulib-tool.
26083         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26084         'gnulib-tool --update' in more detail.
26085         Reported by Eric Blake.
26086
26087 2010-09-04  Bruno Haible  <bruno@clisp.org>
26088
26089         gnulib-tool: Change --import. New options --add/remove-import.
26090         * gnulib-tool: New options --add-import, --remove-import.
26091         (func_usage): Document them.
26092         (have_associative): Define always.
26093         (func_import): In import mode, don't merge the specified settings with
26094         the cached settings. Implement remove-import mode.
26095         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
26096         Explain when to use them versus --import.
26097         (Simple update): Use --add-import instead of --import.
26098         * NEWS: Mention the change.
26099
26100 2010-09-04  Bruno Haible  <bruno@clisp.org>
26101
26102         * doc/gnulib-tool.texi (Initial import): Update paragraph about
26103         separate gnulib.mk.
26104
26105 2010-09-04  Bruno Haible  <bruno@clisp.org>
26106
26107         gnulib-tool: Don't talk about CVS any more.
26108         * gnulib-tool (func_usage, func_import): Write "version control"
26109         instead of CVS.
26110
26111 2010-09-04  Jim Meyering  <meyering@redhat.com>
26112
26113         maint.mk: avoid obscure sc_copyright_check failure in coreutils
26114         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
26115         false positives (whose names may be ill-chosen) when searching
26116         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
26117         would cause a false-positive.
26118
26119         avoid coreutils "make distcheck" failure
26120         Coreutils tests with an absolute build directory name that contains
26121         a space.  Not quoting this directory name caused a failure.
26122         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
26123         * tests/test-vc-list-files-cvs.sh: Likewise.
26124
26125 2010-09-04  Bruno Haible  <bruno@clisp.org>
26126
26127         gnulib-tool: Avoid error when run in a package without Makefile.am.
26128         * gnulib-tool: When collecting the m4dirs in a package that does not
26129         have a Makefile.am, eliminate those directories that contain no
26130         gnulib-cache.m4. Fix expression that counts these directories.
26131
26132 2010-09-04  Bruno Haible  <bruno@clisp.org>
26133
26134         update-copyright test: Improve output when perl is missing or too old.
26135         * tests/test-update-copyright.sh: Move test of Perl version down after
26136         the test whether Perl exists. Provide an explanation relating Perl's
26137         error message to Automake's SKIP: message.
26138
26139 2010-09-04  Bruno Haible  <bruno@clisp.org>
26140
26141         Don't augment PATH in TESTS_ENVIRONMENT.
26142         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
26143         set abs_aux_dir instead of augmenting PATH.
26144         * modules/vc-list-files-tests (Makefile.am): Likewise.
26145         * tests/test-update-copyright.sh: Augment PATH here.
26146         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
26147         path_prepend_.
26148         * tests/test-vc-list-files-git.sh: Likewise.
26149
26150 2010-09-04  Jim Meyering  <meyering@redhat.com>
26151
26152         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
26153         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
26154
26155 2010-09-04  Bruno Haible  <bruno@clisp.org>
26156
26157         strdup: Fix compilation error in C++ mode.
26158         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
26159         the macro.
26160
26161 2010-09-04  Bruno Haible  <bruno@clisp.org>
26162
26163         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
26164         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
26165         macro into a function.
26166         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26167
26168 2010-09-04  Bruno Haible  <bruno@clisp.org>
26169
26170         Set PATH_SEPARATOR the same way autoconf does.
26171         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
26172         the value of PATH_SEPARATOR the same way autoconf-generated configure
26173         scripts do.
26174         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
26175         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26176
26177 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26178
26179         Set PATH_SEPARATOR the same way autoconf does.
26180         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
26181         the same way autoconf-generated configure scripts do.
26182         * posix-modules: Likewise.
26183
26184 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
26185
26186         hash: fix safe_hasher const typo
26187         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
26188         const; otherwise, there is a type error later.
26189
26190 2010-09-02  Jim Meyering  <meyering@redhat.com>
26191
26192         test-update-copyright.sh: require perl 5.8.0
26193         * tests/test-update-copyright.sh: Require 5.8.0,
26194         which Tom G. Christensen has confirmed is adequate,
26195         while 5.6.1 is not.
26196
26197 2010-09-02  Eric Blake  <eblake@redhat.com>
26198
26199         tests: init.sh improvements for re-exec'ing with zsh
26200         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
26201         -vx through shell re-exec.
26202         Reported by Tom G. Christensen.
26203
26204         wctype: fix typo in previous commit
26205         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
26206         Reported by Ludovic Courtès.
26207
26208 2010-09-02  Jim Meyering  <meyering@redhat.com>
26209
26210         test-update-copyright.sh: skip test if Perl is too old
26211         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
26212         Reported by Tom G. Christensen.
26213
26214 2010-09-02  Bruno Haible  <bruno@clisp.org>
26215
26216         wctype: Avoid compilation error on IRIX 6.5.30.
26217         * lib/wctype.in.h (iswblank): Declare with a replacement if
26218         REPLACE_ISWBLANK is set.
26219         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
26220         declared. Set REPLACE_ISWBLANK.
26221         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
26222         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
26223         * doc/posix-headers/wctype.texi: Likewise.
26224         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26225
26226 2010-09-01  Bruno Haible  <bruno@clisp.org>
26227
26228         New module 'socketlib'.
26229         * modules/socketlib: New file.
26230         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
26231         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
26232         * modules/sockets (Depends-on): Add socketlib.
26233         Suggested by Sam Steingold <sds@gnu.org>.
26234
26235 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
26236
26237         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
26238
26239         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
26240         when one needs search access to a directory but not read access.
26241         On systems where it is available, it works in some cases where
26242         O_RDONLY does not, namely on directories that are searchable but
26243         not readable, and which need only to be searchable.  If O_SEARCH
26244         is not available, fall back to the traditional method of using
26245         O_RDONLY.
26246
26247         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
26248         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
26249         when opening a directory that needs only to be searchable.
26250         * lib/chdir-safer.c (chdir_no_follow): Likewise.
26251         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
26252         * lib/openat-proc.c (openat_proc_name): Likewise.
26253         * lib/openat.c (openat_needs_fchdir): Likewise.
26254         * lib/save-cwd.c (save_cwd): Likewise.
26255         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
26256
26257 2010-08-28  Bruno Haible  <bruno@clisp.org>
26258
26259         New module 'host-cpu-c-abi'.
26260         * modules/host-cpu-c-abi: New file.
26261         * m4/host-cpu-c-abi.m4: New file, based on part of
26262         clisp/src/m4/general.m4.
26263         Requested by Sam Steingold <sds@gnu.org>.
26264
26265 2010-08-31  Eric Blake  <eblake@redhat.com>
26266         and Jim Meyering  <meyering@redhat.com>
26267
26268         hash: factor, and guard against misbehaving hasher function
26269         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
26270         of table->hasher's return value.  Also protect against a hash value
26271         so large that adding it to table->bucket results in a NULL pointer.
26272         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
26273         Use it in place of open-coded check-and-abort.
26274
26275 2010-08-30  Bruno Haible  <bruno@clisp.org>
26276
26277         hash: silence spurious clang warning
26278         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
26279         Reported by Eric Blake.
26280
26281 2010-08-30  Eric Blake  <eblake@redhat.com>
26282
26283         strstr, memmem, strcasestr: avoid leaked shell message
26284         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
26285         FreeBSD.
26286         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26287         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26288
26289         tests: silence clang warning
26290         * tests/test-malloca.c (do_allocation): Avoid dead store.
26291
26292 2010-08-29  Bruno Haible  <bruno@clisp.org>
26293
26294         gettext: Fix recent mistake.
26295         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
26296
26297 2010-08-29  Bruno Haible  <bruno@clisp.org>
26298
26299         selinux-h: Offer a --without-selinux option.
26300         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
26301         --without-selinux was specified, skip all tests and define
26302         HAVE_SELINUX_SELINUX_H to 0.
26303         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
26304         set LIB_SELINUX to empty.
26305         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
26306         gl_LIBSELINUX. If --without-selinux was specified, replace
26307         selinux/context.h.
26308         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
26309
26310 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26311             Bruno Haible  <bruno@clisp.org>
26312
26313         Make the module 'realloc-gnu' work again on AIX and OSF/1.
26314         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
26315         of HAVE_REALLOC.
26316         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
26317         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
26318         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
26319         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26320
26321 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26322             Bruno Haible  <bruno@clisp.org>
26323
26324         Make the module 'calloc-gnu' work again on AIX and OSF/1.
26325         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
26326         HAVE_CALLOC.
26327         * lib/xmalloc.c: Update accordingly.
26328         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
26329         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
26330         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
26331
26332 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26333             Bruno Haible  <bruno@clisp.org>
26334
26335         Make the module 'malloc-gnu' work again on AIX and OSF/1.
26336         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
26337         HAVE_MALLOC.
26338         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
26339         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
26340         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26341
26342 2010-08-29  Bruno Haible  <bruno@clisp.org>
26343
26344         Update modules list.
26345         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26346         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
26347         (String handling <string.h>): Add astrxfrm.
26348         (File system functions): Add readlinkat.
26349
26350 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26351
26352         Tests for module 'realloc-gnu'.
26353         * modules/realloc-gnu-tests: New file.
26354         * tests/test-realloc-gnu.c: New file.
26355
26356         Tests for module 'calloc-gnu'.
26357         * modules/calloc-gnu-tests: New file.
26358         * tests/test-calloc-gnu.c: New file.
26359
26360         Tests for module 'malloc-gnu'.
26361         * modules/malloc-gnu-tests: New file.
26362         * tests/test-malloc-gnu.c: New file.
26363
26364 2010-08-28  Bruno Haible  <bruno@clisp.org>
26365
26366         Rename module 'realloc' -> 'realloc-gnu'.
26367         * modules/realloc-gnu: New file, copied from modules/realloc.
26368         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
26369         obsolete.
26370         * modules/mgetgroups (Depends-on): Update.
26371         * doc/posix-functions/realloc.texi: Update.
26372         * NEWS: Mention the change.
26373
26374         Rename module 'calloc' -> 'calloc-gnu'.
26375         * modules/calloc-gnu: New file, copied from modules/calloc.
26376         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
26377         obsolete.
26378         * doc/posix-functions/calloc.texi: Update.
26379         * NEWS: Mention the change.
26380
26381         Rename module 'malloc' -> 'malloc-gnu'.
26382         * modules/malloc-gnu: New file, copied from modules/malloc.
26383         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
26384         obsolete.
26385         * modules/argp (Depends-on): Update.
26386         * modules/regex (Depends-on): Update.
26387         * doc/posix-functions/malloc.texi: Update.
26388         * NEWS: Mention the change.
26389
26390 2010-08-28  Eric Blake  <eblake@redhat.com>
26391
26392         pread, pwrite: add missing dependency
26393         * modules/pread (Depends-on): Add extensions.
26394         * modules/pwrite (Depends-on): Likewise.
26395
26396 2010-08-28  Bruno Haible  <bruno@clisp.org>
26397
26398         unistr/u*-strchr: Fix tests dependencies.
26399         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
26400         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
26401         Reported by Ian Beckwith <ianb@erislabs.net>.
26402
26403 2010-08-28  Bruno Haible  <bruno@clisp.org>
26404
26405         read-file: Don't occupy too much unused memory.
26406         * lib/read-file.c (fread_file): Shrink the buffer at the end.
26407
26408 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
26409             Eric Blake  <eblake@redhat.com>
26410             Bruno Haible  <bruno@clisp.org>
26411
26412         read-file: Avoid memory reallocations with regular files.
26413         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
26414         (fread_file): With regular files, use the remaining length as the
26415         initial buffer size.  Check against overflow.
26416         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
26417         sys_stat.
26418
26419 2010-08-28  Bruno Haible  <bruno@clisp.org>
26420
26421         ftello: Relax license.
26422         * modules/ftello (License): Relax to LGPLv2+.
26423         Reported by Eric Blake.
26424
26425 2010-08-28  Bruno Haible  <bruno@clisp.org>
26426
26427         Avoid relocwrapper link errors due to gnulib replacement functions.
26428         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
26429         function.
26430         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26431
26432 2010-08-28  Bruno Haible  <bruno@clisp.org>
26433
26434         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
26435         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
26436         defined.
26437         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
26438         Suggested by Eric Blake.
26439
26440 2010-08-28  Bruno Haible  <bruno@clisp.org>
26441
26442         sys_socket, netdb: Ensure socklen_t gets defined.
26443         * modules/sys_socket (Depends-on): Add socklen.
26444         * modules/netdb (Depends-on): Likewise.
26445         * modules/getaddrinfo (Depends-on): Remove socklen.
26446         * modules/getsockopt (Depends-on): Likewise.
26447         * modules/setsockopt (Depends-on): Likewise.
26448         * tests/test-sys_socket.c: Check that socklen_t is defined.
26449         * tests/test-netdb.c: Likewise.
26450         * m4/socklen.m4: Update comments.
26451         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26452
26453 2010-08-27  Eric Blake  <eblake@redhat.com>
26454
26455         login_tty: add missing dependency
26456         * modules/login_tty (Depends-on): Add pty.
26457
26458 2010-08-26  Eric Blake  <eblake@redhat.com>
26459
26460         lib-symbol-versions: fix m4 quoting
26461         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
26462         format for AC_LINK_IFELSE.
26463
26464         glob: fix compile test
26465         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
26466
26467         btowc: fix missing file
26468         * modules/btowc (Files): Also ship locale-fr.m4.
26469
26470         lseek: fix link test
26471         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
26472         AC_LINK_IFELSE.
26473
26474         include_next: silence autoconf 2.68 warning
26475         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
26476         AC_COMPILE_IFELSE as special.
26477         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
26478         autoconf < 2.68.
26479
26480         acl: fix compilation test
26481         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
26482         AC_COMPILE_IFELSE.
26483
26484 2010-08-26  Bruno Haible  <bruno@clisp.org>
26485
26486         Modernize AC_TRY_RUN invocations.
26487         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
26488         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
26489         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
26490         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
26491         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
26492         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
26493         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
26494         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26495         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26496         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26497         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26498         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26499         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26500         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26501         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26502         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26503         gl_MBRLEN_NUL_RETVAL): Likewise.
26504         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26505         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26506         Likewise.
26507         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26508         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26509         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26510         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26511         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
26512         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
26513         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
26514         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
26515         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
26516         Likewise.
26517         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
26518         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
26519         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26520         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26521         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26522         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26523         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26524         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
26525         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26526         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26527
26528 2010-08-26  Bruno Haible  <bruno@clisp.org>
26529
26530         Modernize AC_TRY_LINK invocations.
26531         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
26532         AC_TRY_LINK.
26533         * m4/argp.m4 (gl_ARGP): Likewise.
26534         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
26535         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
26536         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
26537         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26538         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26539         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
26540         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
26541         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
26542         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26543         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
26544         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26545         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
26546         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
26547         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26548         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
26549         * m4/hostent.m4 (gl_HOSTENT): Likewise.
26550         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26551         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
26552         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
26553         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
26554         Likewise.
26555         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
26556         Likewise.
26557         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
26558         Likewise.
26559         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
26560         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
26561         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
26562         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
26563         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
26564         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26565         * m4/servent.m4 (gl_SERVENT): Likewise.
26566         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
26567         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
26568         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
26569         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
26570         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26571         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
26572         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26573         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26574         * modules/tsearch-tests (configure.ac): Likewise.
26575
26576 2010-08-26  Bruno Haible  <bruno@clisp.org>
26577
26578         Modernize AC_TRY_COMPILE invocations.
26579         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
26580         AC_TRY_COMPILE.
26581         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
26582         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
26583         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
26584         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
26585         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
26586         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
26587         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26588         * m4/lock.m4 (gl_LOCK): Likewise.
26589         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
26590         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
26591         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
26592         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26593         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
26594         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
26595         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
26596         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
26597         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
26598         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
26599         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
26600         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
26601         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
26602         extraneous semicolon.
26603
26604 2010-08-26  Jim Meyering  <meyering@redhat.com>
26605
26606         stat-time: relax license LGPL
26607         * modules/stat-time (License): Change from GPL to LGPL,
26608         with consent from all contributors, for use in libguile.
26609         Requested by Ludovic Courtès.
26610
26611 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
26612
26613         poll: return immediately on POLLHUP.
26614         * lib/poll.c (poll): Always set timeout before wait_timeout is
26615         computed.
26616
26617 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26618
26619         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
26620         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
26621         rmdir ("dir/.//"), unlinkat.
26622
26623 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
26624
26625         stdbool: avoid spurious failure with modern xlc
26626         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26627
26628 2010-08-24  Bruno Haible  <bruno@clisp.org>
26629
26630         getloadavg: simplify code
26631         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
26632         gl_have_func. Update comments.
26633
26634 2010-08-24  Eric Blake  <eblake@redhat.com>
26635
26636         getloadavg: don't define SVR4 on cygwin
26637         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
26638         only define SVR4 when -lkvm is required.
26639         Reported by Yaakov Selkowitz.
26640
26641 2010-08-24  Bruno Haible  <bruno@clisp.org>
26642
26643         priv-set: fix comment
26644         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
26645
26646 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26647
26648         priv-set: fix comments
26649         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
26650         to match code, as suggested by David Bartley in:
26651         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
26652
26653 2010-08-23  Eric Blake  <eblake@redhat.com>
26654
26655         stdbool: avoid rejecting clang
26656         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26657         * tests/test-stdbool.c: Enable more tests if using the system
26658         <stdbool.h> instead of the gnulib replacement.
26659         (main): Move xlc bug test to a runtime test for all compilers.
26660         Reported by Anders Kaseorg.
26661
26662         argz: fix shell quoting issue
26663         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
26664         Reported by Charles Wilson.
26665
26666 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
26667             Erik Faye-Lund <kusmabite@gmail.com>
26668
26669         poll, select: handle ERROR_BROKEN_PIPE.
26670         * lib/poll.c (win32_compute_revents): Return POLLHUP when
26671         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26672         * lib/select.c (win32_compute_revents): Do not mark a pipe
26673         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26674
26675 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
26676
26677         fts: allow compilation with C++
26678         * lib/fts_.h: Specify extern "C" linkage with C++.
26679
26680 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26681
26682         Fix gnulib-tool sed script de-commentation for AIX sed.
26683         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
26684         sed.
26685
26686 2010-08-17  Eric Blake  <eblake@redhat.com>
26687
26688         test-stddef: test for (some) offsetof bugs
26689         * tests/test-stddef.c: Enhance test to ensure correct type of
26690         offsetof.
26691         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
26692         that we are not fixing at this time.
26693
26694 2010-08-15  Bruno Haible  <bruno@clisp.org>
26695
26696         stpncpy: Allow stpncpy to be defined as a macro.
26697         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
26698         if it's already correctly declared.
26699         * lib/string.in.h (stpncpy): Undefine before redefining.
26700         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
26701
26702 2010-08-14  Bruno Haible  <bruno@clisp.org>
26703
26704         Rename module 'memxfrm' to 'amemxfrm'.
26705         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
26706         (amemxfrm): Renamed from memxfrm.
26707         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
26708         (amemxfrm): Renamed from memxfrm.
26709         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
26710         * NEWS: Mention the change.
26711         * MODULES.html.sh (String handling <string.h>): Update.
26712         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
26713         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
26714         * lib/unicase/u16-casexfrm.c: Likewise.
26715         * lib/unicase/u32-casexfrm.c: Likewise.
26716         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
26717         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
26718         * lib/uninorm/u16-normxfrm.c: Likewise.
26719         * lib/uninorm/u32-normxfrm.c: Likewise.
26720         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
26721         memxfrm.
26722         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
26723         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
26724         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
26725         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
26726         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
26727         Suggested by Paul Eggert.
26728
26729 2010-08-14  Bruno Haible  <bruno@clisp.org>
26730
26731         Tests for module 'astrxfrm'.
26732         * modules/astrxfrm-tests: New file.
26733         * tests/test-astrxfrm.c: New file.
26734
26735         New module 'astrxfrm'.
26736         * lib/astrxfrm.h: New file.
26737         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
26738         * modules/astrxfrm: New file.
26739
26740 2010-08-14  Reuben Thomas <rrt@sc3d.org>
26741
26742         regex: Tweak doc.
26743         * doc/regex.texi (Overview): Don't mention regex.c.
26744         (GNU Regular Expression Compiling): Likewise.
26745         (Match-end-of-line Operator): Mention 'not_eol'.
26746
26747 2010-08-14  Brian Gough  <bjg@gnu.org>
26748             Bruno Haible  <bruno@clisp.org>
26749
26750         git-merge-changelog: add doc relating to use with bzr and hg.
26751         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
26752
26753 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
26754
26755         pthread: fix pthread.h creation for srcdir != builddir
26756         * modules/pthread (Makefile.am): Fix the rule to work also in a
26757         non-srcdir build.
26758
26759 2010-08-13  Karl Berry  <karl@gnu.org>
26760
26761         * doc/regex.texi (Predefined Syntaxes): @smallexample.
26762         * doc/posix-*/*: force line break before @url of POSIX
26763         specifications.
26764         Suggested by Werner Lemberg.
26765
26766 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
26767
26768         strtod: fix const diagnostic
26769         * lib/strtod.c (strtod): Don't assign const char * to char *,
26770         as this elicits a warning from GCC when warnings are enabled.
26771
26772 2010-08-10  Pádraig Brady <P@draigbrady.com>
26773         and Eric Blake  <eblake@redhat.com>
26774
26775         copy-acl: ignore ENOTSUP on HP-UX
26776         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
26777         so that it is available for HP-UX.
26778         * lib/copy-acl.c (qcopy_acl): Use it.
26779         Reported by Patrick M. Callahan.
26780
26781 2010-08-10  Eric Blake  <eblake@redhat.com>
26782
26783         open, chown: relax license
26784         * modules/open (License): Change to LGPLv2+, with consent by all
26785         authors, for use in augeas.
26786         * modules/chown (License): Likewise.
26787         * modules/lchown (Likewise): Likewise.
26788         Requested by Adam Stokes.
26789
26790 2010-08-09  Karl Berry  <karl@gnu.org>
26791
26792         * build-aux/ar-lib: new file, import from Automake.
26793         * config/srclist.txt: autocheck for updates.
26794
26795 2010-08-09  Eric Blake  <eblake@redhat.com>
26796
26797         readlinkat: adjust client modules
26798         * modules/areadlinkat (Depends-on): Use readlinkat, not
26799         symlinkat.
26800         * modules/areadlinkat-with-size (Depends-on): Likewise.
26801
26802         mknod: be more vocal about danger of running tests as root
26803         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
26804         root, since that is just asking for problems.
26805         Suggested by Bruno Haible, based on a report by Rainer Tammer.
26806
26807         readlinkat: split into its own module
26808         * modules/symlinkat: Split readlinkat...
26809         * modules/readlinkat: ...into separate module.
26810         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
26811         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
26812         * lib/symlinkat.c (readlinkat): Move...
26813         * lib/readlinkat.c: ...into new file.
26814         * modules/symlinkat-tests: Split readlinkat test...
26815         * modules/readlinkat-tests: ...into separate module.
26816         * tests/test-symlinkat.c: Split...
26817         * tests/test-readlinkat.c: ...into new file.
26818         * NEWS: Document the split.
26819         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26820         * lib/unistd.in.h (readlinkat): Likewise.
26821         Suggested by Bruno Haible.
26822
26823 2010-08-08  Bruno Haible  <bruno@clisp.org>
26824
26825         memxfrm: Speed up.
26826         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
26827         that usually only one call to strxfrm is necessary for each string
26828         part.
26829         Reported by Paul Eggert <eggert@cs.ucla.edu>.
26830
26831 2010-08-07  Karl Berry  <karl@gnu.org>
26832
26833         * doc/posix-headers/limits.texi,
26834         * doc/posix-functions/malloc.texi,
26835         * doc/posix-functions/strsignal.texi: missing @item.
26836         * doc/ld-version-script.texi: spurious leading i.
26837         * doc/regex.texi (Interval Operators): no commas inside @var.
26838
26839 2010-08-01  Bruno Haible  <bruno@clisp.org>
26840
26841         Integrate the regex documentation.
26842         * doc/gnulib.texi: Define 'cn' index.
26843         (Regular expressions): New a chapter that includes regex.texi and
26844         regexprops-generic.texi.
26845         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
26846         syntax.
26847
26848         Whitespace cleanup.
26849         * doc/regex.texi: Remove trailing spaces.
26850
26851         Add regex documentation.
26852         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
26853         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
26854         Written by Kathy A. Hargreaves and Karl Berry.
26855
26856 2010-08-01  Bruno Haible  <bruno@clisp.org>
26857
26858         link: Update documentation.
26859         * doc/posix-functions/link.texi: Update regarding Solaris.
26860
26861 2010-07-31  Bruno Haible  <bruno@clisp.org>
26862
26863         Update modules list.
26864         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
26865         (String handling <string.h>): Add memcmp2, memxfrm.
26866         (Container data structures): Add xlist, xsublist, xoset.
26867         (Core language properties): Add alignof, unused-parameter.
26868         (Process control, Numeric conversion functions <stdlib.h>): Renamed
26869         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
26870         (Unibyte characters <ctype.h>): New section.
26871         (String handling <string.h>): New section.
26872         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
26873         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
26874         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
26875         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
26876         tan, tanh, tanl, y0, y1, yn.
26877         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
26878         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
26879         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
26880         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
26881         unlockpt, vdprintf, vdprintf-posix.
26882         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
26883         (File system functions): Add concat-filename, sys_file, sys_ioctl,
26884         xconcat-filename.
26885         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
26886         getdtablesize, pipe2, pipe2-safer.
26887         (Security): New section.
26888         (Networking functions): Add accept4.
26889         (Signal handling): Add sigpipe.
26890         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
26891         mbmemcasecoll.
26892         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
26893         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
26894         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
26895         pipe-filter-ii.
26896         (Misc): Add argp-version-etc, login_tty, parse-duration.
26897
26898 2010-07-31  Bruno Haible  <bruno@clisp.org>
26899
26900         Improve doc in MODULES.html.
26901         * modules/linkat (Description): Add the word "function".
26902         * modules/mkfifo (Description): Likewise.
26903         * modules/mknod (Description): Likewise.
26904         * modules/remove (Description): Likewise.
26905         * modules/renameat (Description): Likewise.
26906         * modules/stat (Description): Likewise.
26907         * modules/symlink (Description): Likewise.
26908         * modules/unlink (Description): Likewise.
26909
26910 2010-07-31  Bruno Haible  <bruno@clisp.org>
26911
26912         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
26913         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
26914         option --enable/disable-c++ instead of --enable/disable-cxx.
26915         * NEWS: Mention the change.
26916
26917 2010-07-31  Bruno Haible  <bruno@clisp.org>
26918
26919         readlink, areadlink: Relax test a bit.
26920         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
26921         alternative to ENOTDIR.
26922         * tests/test-areadlink.h (test_areadlink): Likewise.
26923         Reported by Rainer Tammer.
26924
26925 2010-07-31  Bruno Haible  <bruno@clisp.org>
26926
26927         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
26928         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
26929         character, perform the search using U_STRCHR.
26930         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
26931         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
26932         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
26933         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
26934         Suggested by Paolo Bonzini.
26935
26936 2010-07-31  Bruno Haible  <bruno@clisp.org>
26937
26938         unistr/u*-strstr: Fix dependencies.
26939         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
26940         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
26941         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
26942
26943 2010-07-31  Bruno Haible  <bruno@clisp.org>
26944
26945         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
26946         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
26947         the beginning of the loop.
26948         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
26949         cases in 'switch' statement.
26950
26951         unistr/u8-strchr: Fix several bugs.
26952         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
26953         the string. When not found, return NULL, not a pointer near the end.
26954
26955         More tests for unistr/u8-strchr.
26956         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
26957         that the function does not read past the first occurrence of the byte
26958         being searched.
26959         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
26960         * tests/unistr/test-u16-strchr.c (main): New function.
26961         * tests/unistr/test-u32-strchr.c (main): New function.
26962
26963 2010-07-31  Bruno Haible  <bruno@clisp.org>
26964
26965         posix-modules: Ignore backup files of documentation files.
26966         * posix-modules: grep only through files named *.texi.
26967
26968 2010-07-31  Bruno Haible  <bruno@clisp.org>
26969
26970         symlinkat: Fix documentation.
26971         * doc/posix-functions/readlinkat.texi: Fix module name.
26972
26973 2010-07-31  Bruno Haible  <bruno@clisp.org>
26974
26975         fchownat: Replace also when chown has the trailing slash bug.
26976         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
26977         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
26978         introduced on 2010-04-10.
26979         Reported by Rainer Tammer.
26980
26981 2010-07-31  Bruno Haible  <bruno@clisp.org>
26982
26983         linkat: Work around AIX 7.1 bug.
26984         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
26985         whether linkat handles trailing slash correctly. If not, replace linkat
26986         and define LINKAT_TRAILING_SLASH_BUG.
26987         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
26988         check whether (fd1,file1) points to a directory if file1 or file2 ends
26989         in a slash. Code taken from lib/link.c.
26990         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
26991         Reported by Rainer Tammer.
26992
26993 2010-07-31  Bruno Haible  <bruno@clisp.org>
26994
26995         Correctly determine whether pow is available in libc on AIX 7 with xlc.
26996         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
26997         This disables an xlc optimization that was causing wrong test results.
26998         Reported by Rainer Tammer.
26999
27000 2010-07-31  Bruno Haible  <bruno@clisp.org>
27001
27002         iconv: Work around AIX 6.1..7.1 bug.
27003         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27004         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27005         cross-compiling, guess no on all versions of AIX.
27006         Reported by Rainer Tammer.
27007
27008 2010-07-31  Bruno Haible  <bruno@clisp.org>
27009
27010         readlink: Relax test a bit.
27011         * tests/test-readlink.h (test_readlink): Allow different errno value
27012         when readlink is called with a file name that ends in / and refers to
27013         a file.
27014         Suggested by Eric Blake.
27015         Reported by Rainer Tammer.
27016
27017 2010-07-31  Bruno Haible  <bruno@clisp.org>
27018
27019         copysign: Does not require -lm on glibc systems.
27020         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27021         gl_COMMON_DOUBLE_MATHFUNC.
27022         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27023
27024 2010-07-31  Bruno Haible  <bruno@clisp.org>
27025
27026         duplocale: Work around AIX 7.1 bug.
27027         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27028         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27029         * lib/duplocale.c (rpl_duplocale): Update comment.
27030         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27031         Reported by Rainer Tammer.
27032
27033 2010-07-30  Bruno Haible  <bruno@clisp.org>
27034
27035         dirfd: Avoid link error on AIX 7.1.
27036         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27037         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27038         exist, set REPLACE_DIRFD.
27039         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27040         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27041         * doc/posix-functions/dirfd.texi: Update.
27042         Reported by Rainer Tammer.
27043
27044 2010-07-30  Eric Blake  <eblake@redhat.com>
27045
27046         strtod: next round of AIX fixes
27047         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27048         exponent.
27049         * tests/test-strtod.c (main): Enhance tests.
27050         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27051         Reported by Rainer Tammer.
27052
27053         futimens: fix configure check
27054         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27055         Reported by Bruno Haible.
27056
27057 2010-07-30  Bruno Haible  <bruno@clisp.org>
27058
27059         getline: Update regarding AIX.
27060         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27061         Reported by Rainer Tammer.
27062
27063 2010-07-30  Bruno Haible  <bruno@clisp.org>
27064
27065         wcwidth: Drop replacement on AIX 7.
27066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27067         AIX 7.
27068         Reported by Rainer Tammer.
27069
27070 2010-07-30  Bruno Haible  <bruno@clisp.org>
27071
27072         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27073         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27074         a 'char *'.
27075         Reported by Rainer Tammer.
27076
27077 2010-07-30  Bruno Haible  <bruno@clisp.org>
27078
27079         unlink: Update regarding AIX.
27080         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27081         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27082         Reported by Rainer Tammer.
27083
27084 2010-07-30  Bruno Haible  <bruno@clisp.org>
27085
27086         symlink: Update regarding AIX.
27087         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27088         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27089         Reported by Rainer Tammer.
27090
27091 2010-07-30  Bruno Haible  <bruno@clisp.org>
27092
27093         strndup: Update regarding AIX.
27094         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
27095         AIX 7.
27096         Reported by Rainer Tammer.
27097
27098 2010-07-30  Bruno Haible  <bruno@clisp.org>
27099
27100         stat: Update regarding AIX.
27101         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
27102         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
27103         Reported by Rainer Tammer.
27104
27105 2010-07-30  Bruno Haible  <bruno@clisp.org>
27106
27107         truncl: Fix autoconf test.
27108         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
27109         whether truncl works.
27110         Reported by Rainer Tammer.
27111
27112 2010-07-30  Bruno Haible  <bruno@clisp.org>
27113
27114         round: Update regarding AIX.
27115         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
27116         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
27117         Reported by Rainer Tammer.
27118
27119 2010-07-30  Bruno Haible  <bruno@clisp.org>
27120
27121         rename: Update regarding AIX.
27122         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
27123         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
27124         Reported by Rainer Tammer.
27125
27126 2010-07-30  Bruno Haible  <bruno@clisp.org>
27127
27128         printf.m4: Update regarding AIX.
27129         * m4/printf.m4: Update comments regarding AIX.
27130         Reported by Rainer Tammer.
27131
27132 2010-07-30  Bruno Haible  <bruno@clisp.org>
27133
27134         iconv: Update regarding AIX.
27135         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
27136         AIX 7.
27137         Reported by Rainer Tammer.
27138
27139 2010-07-30  Bruno Haible  <bruno@clisp.org>
27140
27141         getopt: Update regarding AIX.
27142         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
27143         no on AIX.
27144         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
27145         Reported by Rainer Tammer.
27146
27147 2010-07-30  Bruno Haible  <bruno@clisp.org>
27148
27149         ldexpl; Update regarding AIX.
27150         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
27151         on AIX 7.
27152         Reported by Rainer Tammer.
27153
27154 2010-07-30  Bruno Haible  <bruno@clisp.org>
27155
27156         frexpl: Update regarding AIX.
27157         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
27158         on AIX 7.
27159         Reported by Rainer Tammer.
27160
27161 2010-07-30  Bruno Haible  <bruno@clisp.org>
27162
27163         open, fopen: Update regarding AIX.
27164         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
27165         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27166         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
27167         * doc/posix-functions/fopen.texi: Likewise.
27168         Reported by Rainer Tammer.
27169
27170 2010-07-30  Bruno Haible  <bruno@clisp.org>
27171
27172         chown: Update doc regarding AIX.
27173         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
27174         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
27175         Reported by Rainer Tammer.
27176
27177 2010-07-30  Eric Blake  <eblake@redhat.com>
27178
27179         strtod: fix bug in replacement function on AIX
27180         * lib/strtod.c (strtod): Special case broken "0x" parse in
27181         underlying strtod.
27182         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
27183         * doc/posix-functions/strtod.texi (strtod): Likewise.
27184         Reported by Rainer Tammer.
27185
27186 2010-07-30  Bruno Haible  <bruno@clisp.org>
27187
27188         mbrlen: Fix cross-compilation guess for AIX.
27189         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
27190         guess. Leftover from 2008-12-22.
27191
27192 2010-07-30  Bruno Haible  <bruno@clisp.org>
27193
27194         mbrtowc: Fix cross-compilation guess for AIX.
27195         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
27196         guess. Leftover from 2008-12-21.
27197
27198 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
27199
27200         init.sh: work around trap limitation of some shells
27201         * tests/init.sh (setup_): Move exit trap outside of shell function.
27202
27203 2010-07-29  Eric Blake  <eblake@redhat.com>
27204
27205         strtod: aid debugging
27206         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
27207         understanding why strtod is rejected.
27208
27209 2010-07-28  Bruno Haible  <bruno@clisp.org>
27210
27211         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
27212         * lib/unistr/u8-chr.c: Include <string.h>.
27213         * tests/unistr/test-u8-chr.c: Likewise.
27214         * tests/unistr/test-u16-chr.c: Likewise.
27215         * tests/unistr/test-u32-chr.c: Likewise.
27216         * tests/unistr/test-u8-strchr.c: Likewise.
27217         * tests/unistr/test-u16-strchr.c: Likewise.
27218         * tests/unistr/test-u32-strchr.c: Likewise.
27219         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
27220         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
27221         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
27222         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
27223
27224 2010-07-28  Bruno Haible  <bruno@clisp.org>
27225
27226         Use spaces for indentation, not tabs.
27227         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27228
27229 2010-07-27  Bruno Haible  <bruno@clisp.org>
27230
27231         mbspcasecmp: Fix function specification.
27232         * lib/string.in.h (mbspcasecmp): Fix specification comment.
27233         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
27234         Reported by Eric Blake <eblake@redhat.com>.
27235
27236 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
27237
27238         timespec: use cast and not conditional, as truncation isn't possible
27239         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
27240         instead of a conditional.  Comment about the situation in more detail.
27241         This undoes most of the 2009-10-29 patch.
27242
27243 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
27244
27245         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
27246         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
27247         * lib/unistr/u8-strchr.c: Likewise.
27248         * modules/unistr/u8-chr: Depend on memchr.
27249
27250         unistr/u*-strchr: add tests
27251         * modules/unistr/u8-strchr-tests: New file.
27252         * modules/unistr/u16-strchr-tests: New file.
27253         * modules/unistr/u32-strchr-tests: New file.
27254         * tests/unistr/test-strchr.h: New file.
27255         * tests/unistr/test-u8-strchr.c: New file.
27256         * tests/unistr/test-u16-strchr.c: New file.
27257         * tests/unistr/test-u32-strchr.c: New file.
27258
27259         unistr/u*-chr: test multibyte sequences more
27260         * tests/unistr/test-chr.h: Do complete testing of the characters in the
27261         test vector.
27262         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
27263         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
27264         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
27265
27266         unistr/u*-chr: test multibyte sequences
27267         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
27268
27269         unistr/u*-chr: prepare for multibyte tests
27270         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
27271         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
27272         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
27273         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
27274         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
27275         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
27276
27277 2010-07-18  Bruno Haible  <bruno@clisp.org>
27278
27279         unistr/u8-strchr: Optimize non-ASCII argument case.
27280         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
27281         because the first byte often matches anyway.
27282         Reported by Pádraig Brady <P@draigbrady.com>.
27283
27284 2010-07-15  Karl Berry  <karl@gnu.org>
27285
27286         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
27287
27288 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
27289
27290         getcwd: on Solaris, work better if ancestors are inaccessible
27291         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
27292         buffer and size, try again with a large buffer.  This works better
27293         on Solaris, since its getcwd succeeds even if the path to the root
27294         is inaccessible, and this is helpful in common cases such as .zfs
27295         hidden directories.  Problem reported by J Chapman Flack in
27296         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
27297         Use system getcwd if it's declared, not merely if it's partly
27298         working; use the partly-working test only to avoid needless effort
27299         if the system getcwd fails.
27300         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
27301         comment that was already obsolete and is now even more obsolete.
27302         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
27303         now might call strdup.
27304
27305 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
27306
27307         pthread: Add enough so that coreutils/src/sort.c compiles.
27308         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
27309         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
27310         gnulib. Include <sched.h> and <time.h>, as per POSIX.
27311         Include <sys/types.h>, in case it defines pthread_t.
27312         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
27313         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
27314         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
27315         (pthread_rwlockattr_t, pthread_spinlock_t):
27316         New typedefs, if HAVE_PTHREAD_T is not defined.
27317         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
27318         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
27319         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
27320         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
27321         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
27322         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
27323         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
27324         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
27325         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
27326         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
27327         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
27328         New macros.
27329         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
27330         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
27331         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
27332         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
27333         (pthread_spin_unlock): New dummy functions.
27334         (pthread_create): Return EAGAIN; don't set errno.
27335         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
27336         require AC_C_INLINE.
27337         * modules/pthread (Depends-on): Add sched, time.
27338         (pthread.h): Use AM_V_GEN.
27339
27340 2010-07-13  Bruno Haible  <bruno@clisp.org>
27341
27342         striconveh: Don't malloc memory if the result buffer is sufficient.
27343         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
27344         buffer if its size is sufficient.
27345         Reported by Ludovic Courtès <ludo@gnu.org>.
27346
27347 2010-07-13  Bruno Haible  <bruno@clisp.org>
27348
27349         strtod: Add safety check.
27350         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
27351
27352 2010-07-12  Bruno Haible  <bruno@clisp.org>
27353
27354         Unify tests that set gl_cv_func_ldexpl_no_libm.
27355         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
27356         gl_FUNC_LDEXPL.
27357         (gl_FUNC_LDEXPL): Invoke it.
27358         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27359
27360 2010-07-12  Bruno Haible  <bruno@clisp.org>
27361
27362         Unify tests that set gl_cv_func_ldexp_no_libm.
27363         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
27364         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
27365         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
27366         (configure.ac): Simply invoke gl_FUNC_LDEXP.
27367         * modules/strtod (Files): Add m4/ldexp.m4.
27368
27369 2010-07-12  Bruno Haible  <bruno@clisp.org>
27370
27371         Unify tests that set gl_cv_func_frexpl_no_libm.
27372         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
27373         gl_FUNC_FREXPL_NO_LIBM.
27374         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
27375         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27376
27377 2010-07-12  Bruno Haible  <bruno@clisp.org>
27378
27379         Unify tests that set gl_cv_func_frexp_no_libm.
27380         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
27381         gl_FUNC_FREXP_NO_LIBM.
27382         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
27383         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27384
27385 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27386
27387         memcoll: clarify sizes versus lengths, document better, and tweak perf
27388         * lib/memcoll.c (strcoll_loop, memcoll0):
27389         Improve quality of descriptive comments.  Name variables
27390         consistently as to whether they are lengths (which do not include
27391         terminating null) versus sizes (which do).
27392         * lib/xmemcoll.c (xmemcoll0): Likewise.
27393         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
27394         returned when s1size == 0; this is easier to compile and saves
27395         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
27396
27397 2010-07-12  Bruno Haible  <bruno@clisp.org>
27398
27399         Tests for module '_Exit'.
27400         * modules/_Exit-tests: New file.
27401         * tests/test-_Exit.sh: New file.
27402         * tests/test-_Exit.c: New file.
27403
27404         New module '_Exit'.
27405         * lib/stdlib.in.h (__attribute__): New macro.
27406         (_Exit): New declaration.
27407         * lib/_Exit.c: New file.
27408         * m4/_Exit.m4: New file.
27409         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
27410         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
27411         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
27412         * modules/_Exit: New file.
27413         * tests/test-stdlib-c++.cc (_Exit): Check signature.
27414         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
27415
27416 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27417
27418         strtod: make it more-accurate typically, and don't require libm
27419         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
27420         Include limits.h.  Don't include string.h.
27421         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
27422         (locale_isspace): New function, so that no casts are needed to
27423         check whether *s is a space.
27424         (ldexp): Provide an unused dummy if not available.
27425         (scale_radix_exp, parse_number, underlying_strtod): New functions.
27426         (strtod): Use them.  This implementation prefers to use the
27427         underlying strtod if available, falling back on our own code
27428         only to fix known bugs.  This is more likely to produce an
27429         accurate result.  Also, it avoids the use of libm functions.
27430         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
27431         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
27432         was absent, but it caused a test failure with coreutils.
27433         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
27434         with libm.
27435         * modules/strtod (Makefile.am, Link): libm is no longer needed.
27436         * modules/strtod-tests (Makefile.am): Likewise.
27437
27438 2010-07-11  Pádraig Brady  <P@draigBrady.com>
27439             Bruno Haible  <bruno@clisp.org>
27440
27441         unistr/u8-strchr: Optimize ASCII argument case.
27442         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
27443
27444 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
27445
27446         (x)memcoll: minor tweaks
27447         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
27448         is after the type that it qualifies.
27449         (memcoll0): Likewise.
27450         * lib/memcoll.h (memcoll0): Likewise.
27451         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
27452         * lib/xmemcoll.h (xmemcoll0): Likewise.
27453         * lib/memcoll.c (memcoll0): Correct the comment.  This function
27454         differs from memcoll in that the NUL byte is part of the argument.
27455         Omit the abort-checks, as performance is a real issue here.  Plus,
27456         the checks were wrong anyway (an off-by-one error).  Omit local
27457         variable 'diff', as it's a bit clearer that way.
27458         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
27459         no longer needed.
27460
27461 2010-07-08  Chen Guo <chenguo4@yahoo.com>
27462
27463         (x)memcoll: speedup when input is known to be NUL delimited
27464         * lib/memcoll.c: Include stdlib.
27465         (memcoll0): New function.
27466         (strcoll_loop): New function, refactored for use in both memcoll
27467         and memcoll0.
27468         * lib/memcoll.h (memcoll0): Add prototype.
27469         * lib/xmemcoll.c (xmemcoll0): New function.
27470         (collate_error): New function, refactored for use in both xmemcoll
27471         and xmemcoll0.
27472         * lib/xmemcoll.h (xmemcoll0): Add prototype.
27473         * m4/memcoll.m4: add inline invocation.
27474
27475 2010-07-06  Pádraig Brady  <P@draigBrady.com>
27476
27477         * build-aux/bootstrap: Remove any local translations
27478         from the translation project synchronization directory,
27479         so that local only translations are not distributed.
27480
27481 2010-07-04  Bruno Haible  <bruno@clisp.org>
27482
27483         fsusage: Clarify which code applies to which platforms.
27484         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
27485         platform.
27486         * lib/fsusage.c (get_fs_usage): Likewise.
27487
27488 2010-07-04  Bruno Haible  <bruno@clisp.org>
27489
27490         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
27491         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
27492         Reported by Martin Lambers <marlam@marlam.de>.
27493
27494 2010-07-04  Jim Meyering  <meyering@redhat.com>
27495
27496         hash: once again explicitly disallow insertion of NULL
27497         * lib/hash.c (hash_insert0): Reinstate just-removed test:
27498         inserting a NULL pointer cannot work with these functions.
27499         Add a comment with details.
27500         This reverts part of the 2010-07-01 commit, 5bef1a35
27501         "hash: extend module to deal with non-pointer keys".
27502
27503 2010-07-01  Bruno Haible  <bruno@clisp.org>
27504
27505         stdbool: Update doc.
27506         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
27507         Info from Christian Weisgerber <naddy@mips.inka.de>.
27508
27509 2010-07-01  Jim Meyering  <meyering@redhat.com>
27510
27511         hash: extend module to deal with non-pointer keys
27512         * lib/hash.c (hash_insert0): New interface, much like hash_insert
27513         but that allows insertion of non-pointer entries.
27514         Do not disallow an ENTRY value of NULL.
27515         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
27516         * lib/hash.h (hash_insert0): Declare.
27517
27518 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27519
27520         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
27521         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
27522         not present (i.e. with autoconf 2.59 and when using gettextize, not
27523         gnulib), require AC_GNU_SOURCE instead.
27524
27525 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
27526
27527         idpriv-drop: Fix tests.
27528         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
27529         not to the test-idpriv-droptemp program.
27530
27531 2010-06-29  Bruno Haible  <bruno@clisp.org>
27532
27533         string: Fix syntax error with g++ 2.96.
27534         * lib/string.in.h (__pure__): Remove definition.
27535         (_GL_ATTRIBUTE_PURE): New macro.
27536         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
27537         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
27538         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27539
27540 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
27541
27542         unitypes: Fix bug introduced on 2010-05-18.
27543         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
27544
27545 2010-06-22  Eric Blake  <eblake@redhat.com>
27546
27547         memmem: slight optimization
27548         * lib/str-two-way.h (critical_factorization): Update comments.
27549         Reduce work during factorization phase.
27550         Reported by Carlos Bueno <carlos@bueno.org>.
27551
27552 2010-06-21  Bruno Haible  <bruno@clisp.org>
27553
27554         Fix HAVE_CALLOC_POSIX misnomer.
27555         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
27556         !HAVE_CALLOC_POSIX.
27557         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
27558         HAVE_CALLOC_POSIX.
27559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
27560         instead of HAVE_CALLOC_POSIX.
27561         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
27562         HAVE_CALLOC_POSIX.
27563
27564         Use modern idiom for calloc() replacement.
27565         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
27566         AC_FUNC_CALLOC.
27567         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
27568         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
27569         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27570         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
27571         (gl_REPLACE_CALLOC): New macro.
27572
27573 2010-06-21  Bruno Haible  <bruno@clisp.org>
27574
27575         Fix HAVE_REALLOC_POSIX misnomer.
27576         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
27577         !HAVE_REALLOC_POSIX.
27578         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
27579         HAVE_REALLOC_POSIX.
27580         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
27581         instead of HAVE_REALLOC_POSIX.
27582         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
27583         HAVE_REALLOC_POSIX.
27584
27585         Use modern idiom for realloc() replacement.
27586         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
27587         AC_FUNC_REALLOC.
27588         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
27589         Autoconf's AC_FUNC_REALLOC.
27590         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27591         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
27592         (gl_REPLACE_REALLOC): New macro.
27593         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27594
27595 2010-06-21  Bruno Haible  <bruno@clisp.org>
27596
27597         Fix HAVE_MALLOC_POSIX misnomer.
27598         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
27599         !HAVE_MALLOC_POSIX.
27600         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
27601         HAVE_MALLOC_POSIX.
27602         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
27603         instead of HAVE_MALLOC_POSIX.
27604         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
27605         HAVE_MALLOC_POSIX.
27606
27607         Use modern idiom for malloc() replacement.
27608         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
27609         AC_FUNC_MALLOC.
27610         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
27611         Autoconf's AC_FUNC_MALLOC.
27612         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27613         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
27614         (gl_REPLACE_MALLOC): New macro.
27615         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27616
27617 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
27618
27619         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
27620         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
27621         This macro takes 3 arguments, not 4.
27622
27623 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
27624
27625         ipv6: fix detection under mingw
27626         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
27627         in6_addr.
27628
27629 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
27630
27631         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
27632         that strtod() works when cross-compiling to a glibc version known
27633         to work.
27634
27635 2010-06-15  Bruno Haible  <bruno@clisp.org>
27636
27637         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
27638
27639 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
27640
27641         select: Correct timeout.
27642         * lib/select.c (rpl_select): Compute wait_timeout correctly.
27643
27644 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27645
27646         git-version-gen: init shell var to avoid env var influence
27647         * build-aux/git-version-gen (v): Init shell var to empty.
27648
27649 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
27650
27651         priv-set: Don't assume that priv.h exists merely because getppriv does.
27652         See Jan Andersen's bug report about AIX 5L in
27653         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
27654         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
27655         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
27656         * lib/priv-set.h: Likewise.
27657         * tests/test-priv-set.c: Likewise.
27658
27659 2010-06-13  Bruno Haible  <bruno@clisp.org>
27660
27661         relocatable: Make it easier to test whether to install wrappers.
27662         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
27663         RELOCATABLE_VIA_WRAPPER.
27664
27665 2010-06-13  Bruno Haible  <bruno@clisp.org>
27666
27667         gnulib-tool: Display specified modules and dependencies differently.
27668         * gnulib-tool (func_show_module_list): New function.
27669         (func_import, func_create_testdir): Invoke it.
27670         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27671
27672 2010-06-13  Bruno Haible  <bruno@clisp.org>
27673
27674         gnulib-tool: Align code of func_import and func_create_testdir.
27675         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
27676         specified_modules.
27677
27678 2010-06-12  Jim Meyering  <meyering@redhat.com>
27679
27680         test-inttostr: avoid spurious failure on Solaris 9
27681         * tests/test-inttostr.c (main): Skip the test when snprintf fails
27682         to accept "%ju".  Reported by Bruno Haible.
27683
27684 2010-06-11  Jim Meyering  <meyering@redhat.com>
27685
27686         test-sys_socket: mark variables as used more readably
27687         * tests/test-sys_socket.c (main): Mark otherwise unused variables
27688         as "used" explicitly via (void) statement casts.  This is more
27689         readable than using them in an artificial return expression.
27690         Suggestion from Bruno Haible.
27691
27692 2010-06-11  Bruno Haible  <bruno@clisp.org>
27693
27694         Avoid some more warnings from "gcc -Wwrite-strings".
27695         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
27696         to 'const char *'.
27697         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
27698         * tests/test-c-strcasestr.c (main): Likewise.
27699         * tests/test-mbscasestr1.c (main): Likewise.
27700         * tests/test-mbscasestr2.c (main): Likewise.
27701         * tests/test-memmem.c (main): Likewise.
27702         * tests/test-strstr.c (main): Likewise.
27703         * tests/test-strcasestr.c (main): Likewise.
27704
27705 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27706
27707         init.sh: change framework_failure_ to fail with status 99, not 1
27708         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
27709         automake's parallel-tests rule that this is an unexpected failure,
27710         even if the test is listed in XFAIL_TESTS.
27711
27712 2010-06-11  Jim Meyering  <meyering@redhat.com>
27713
27714         test-inttostr: avoid warnings about 4-6KB literal strings
27715         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
27716         Include "macros.h", for its definition of ASSERT.
27717         (CK): s/assert/ASSERT/
27718         * modules/inttostr-tests (Files): Add macros.h.
27719
27720         init.sh: don't use $ME_ or skip_ before they are defined
27721         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
27722         their first uses.  Also hoist their companions: warn_, fail_,
27723         framework_failure_, $stderr_fileno.  Prompted by a patch from
27724         Stefano Lattarini.
27725
27726         test-sys_socket: avoid set-but-not-used warnings from gcc
27727         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
27728         avoid warning about set-but-not-used variables.
27729
27730         test-xvasprintf: avoid 'const' discard warnings
27731         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
27732         "const" when assigning from literal strings.
27733         (test_xasprintf): Add "void" in function argument list to placate
27734         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
27735
27736         tests: avoid compilation warnings in argmatch and exclude tests...
27737         in packages that define ARGMATCH_DIE_DECL, like coreutils.
27738         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
27739         Since it always exits, declare with the "noreturn" attribute.
27740         * tests/test-argmatch.c: Likewise.
27741
27742         tests: avoid 'const' discard warnings in mbsstr tests
27743         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
27744         * tests/test-mbsstr2.c (main): Likewise.
27745
27746         test-verify: avoid warning from gcc's -Wmissing-declarations
27747         * tests/test-verify.c (function): Declare to be static.
27748
27749         test-inttostr.c: include <string.h> for use of strcmp
27750         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
27751
27752         test-linkat: avoid failed assertion on "other" architectures
27753         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
27754         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
27755         sparc: https://bugs.launchpad.net/bugs/591968
27756
27757 2010-06-11  Jim Meyering  <meyering@redhat.com>
27758
27759         printf.m4: avoid autoconf's "Expanded Before Required" warning
27760         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
27761         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
27762         autoconf warning.
27763
27764 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
27765
27766         Replacement header templates are now named with ".in", not "_".
27767         * doc/gnulib-intro.texi: Correct.
27768
27769 2010-06-10  Jim Meyering  <meyering@redhat.com>
27770
27771         inttostr-tests: depend on snprintf, not snprintf-posix
27772         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
27773         snprintf-posix, to avoid this aclocal failure:
27774           missing file gnulib-tests/vasnprintf.c
27775           configure.ac:45: error: expected source file, required through \
27776           AC_LIBSOURCES, not found
27777
27778 2010-06-10  Jim Meyering  <meyering@redhat.com>
27779
27780         inttostr: add a new function, inttostr, and tests
27781         The namesake function was not available.  The existence of the
27782         template file, inttostr.c makes its addition nontrivial.
27783         * lib/anytostr.c: Rename from inttostr.c.
27784         (anytostr): Rename from inttostr.
27785         * lib/inttostr.c: New file.
27786         * modules/inttostr (Files): Add anytostr.c.
27787         (Makefile.am): Set lib_SOURCES instead of ...
27788         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
27789         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
27790         * lib/offtostr.c: Likewise.
27791         * lib/uinttostr.c: Likewise.
27792         * lib/umaxtostr.c: Likewise.
27793         * modules/inttostr-tests: New file.
27794         * tests/test-inttostr.c: New file.  Test these functions.
27795
27796 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
27797             Bruno Haible  <bruno@clisp.org>
27798
27799         Add "Extending Gnulib" chapter to manual.
27800         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
27801         chapter.
27802         (Extending Gnulib): New chapter.
27803         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
27804         chapter.
27805
27806 2010-06-09  Bruno Haible  <bruno@clisp.org>
27807
27808         Avoid relocwrapper link errors due to gnulib replacement functions.
27809         * lib/areadlink.c: Use the system's malloc, realloc functions.
27810         (areadlink): Set errno to ENOMEM explicitly.
27811         * modules/areadlink (Depends-on): Remove malloc-posix.
27812         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27813
27814 2010-06-09  Bruno Haible  <bruno@clisp.org>
27815
27816         Avoid relocwrapper link errors due to gnulib replacement functions.
27817         * lib/canonicalize-lgpl.c: Use the system's malloc function.
27818         * lib/malloca.c: Likewise.
27819         * lib/relocatable.c: Likewise.
27820         * lib/progreloc.c: Use the system's malloc, sprintf functions.
27821         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
27822         * lib/setenv.c: Use the system's malloc, realloc functions.
27823         * lib/strerror.c: Use the system's sprintf function.
27824         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27825
27826 2010-06-04  Bruno Haible  <bruno@clisp.org>
27827
27828         Prefer documented low-level autoconf macro names.
27829         * m4/lib-link.m4: Use m4_translit instead of translit.
27830         * m4/environ.m4: Likewise.
27831         * m4/mathfunc.m4: Likewise.
27832         * m4/onceonly.m4: Likewise.
27833         * m4/stdint.m4: Likewise.
27834         Suggested by Eric Blake.
27835
27836 2010-06-04  Martin Lambers  <marlam@marlam.de>
27837             Bruno Haible  <bruno@clisp.org>
27838
27839         havelib: Allow library names with '+' characters.
27840         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27841         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
27842
27843 2010-06-09  Bruno Haible  <bruno@clisp.org>
27844
27845         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
27846         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
27847         realloc failed.
27848
27849 2010-06-08  Peter Simons  <simons@cryp.to>
27850
27851         maint.mk: make the news-check rule more configurable
27852         * top/maint.mk (news-check-lines-spec): New variable.
27853         (news-check): Use "sed -n 1,10p" in place of "head".
27854
27855 2010-06-07  Jim Meyering  <meyering@redhat.com>
27856
27857         do-release-commit-and-tag: fix typo in --help
27858         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
27859
27860         regex: avoid new dead-code warning with gcc-4.6.0
27861         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
27862         if-block containing a while-loop.  It's been unused for at least
27863         5 years.
27864
27865 2010-06-05  Bruno Haible  <bruno@clisp.org>
27866
27867         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
27868         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
27869
27870 2010-06-04  Bruno Haible  <bruno@clisp.org>
27871
27872         Update to GNU gettext 0.18.1.
27873         * modules/gettext (configure.ac): Require gettext infrastructure from
27874         version 0.18.1.
27875
27876 2010-06-03  Bruno Haible  <bruno@clisp.org>
27877
27878         Don't use AC_LIBOBJ with file names in subdirectories.
27879         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
27880         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
27881         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
27882         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
27883         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
27884         gl_LIBUNISTRING_LIBSOURCE.
27885         (Makefile.am): Augment lib_SOURCES here, conditionally.
27886         * NEWS: Drop requirement for Automake option 'subdir-objects'.
27887
27888 2010-06-03  Bruno Haible  <bruno@clisp.org>
27889
27890         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
27891         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
27892         expansion does not end with a newline.
27893         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
27894         unnecessary newline.
27895
27896 2010-06-03  Bruno Haible  <bruno@clisp.org>
27897
27898         Reduce dependencies.
27899         * tests/test-quotearg.h: New file, extracted from
27900         tests/test-quotearg.c.
27901         * tests/test-quotearg-simple.c: New file, extracted from
27902         tests/test-quotearg.c.
27903         * tests/test-quotearg.c: Don't include <ctype.h>.
27904         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
27905         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
27906         use_quote_double_quotes, use_quotearg_colon): Moved to
27907         tests/test-quotearg.h.
27908         (results_g, flag_results, custom_quotes, custom_results): Moved
27909         to tests/test-quotearg-simple.c.
27910         (main): Moved the part that does not depend on gettext to
27911         tests/test-quotearg-simple.c. Return 77 if the test cannot be
27912         performed.
27913         * modules/quotearg-simple: New file.
27914         * modules/quotearg-simple-tests: New file.
27915         * modules/quotearg (Depends-on): Add quotearg-simple.
27916         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
27917         (Files): Add tests/test-quotearg.h.
27918         Reported by Paolo Bonzini.
27919
27920 2010-06-03  Bruno Haible  <bruno@clisp.org>
27921
27922         Reduce dependencies.
27923         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
27924
27925 2010-06-03  Bruno Haible  <bruno@clisp.org>
27926
27927         time: Undefine more broken macros.
27928         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
27929         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
27930         Reported by Eric Blake.
27931
27932 2010-06-03  Bruno Haible  <bruno@clisp.org>
27933
27934         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
27935         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
27936         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
27937         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
27938         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
27939         Reported by Ludovic Courtès <ludo@gnu.org>.
27940
27941 2010-06-02  Eric Blake  <eblake@redhat.com>
27942
27943         time: work with mingw + pthreads-win32 library
27944         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
27945         if timespec is defined only in pthread.h.
27946         * modules/time (Makefile.am): Substitute it.
27947         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
27948         <pthread.h>, when needed.
27949         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
27950         from the library.
27951
27952 2010-05-31  Bruno Haible  <bruno@clisp.org>
27953
27954         Avoid expanding two macros in the wrong order.
27955         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
27956         gl_LIBUNISTRING if it is defined.
27957         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
27958         autoconf >= 2.64.
27959         Reported by Ludovic Courtès <ludo@gnu.org>.
27960
27961 2010-05-27  Jim Meyering  <meyering@redhat.com>
27962
27963         maint.mk: also prohibit "#undef" of always-defined symbols
27964         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
27965         Allow more than one space before the symbol name.
27966         (sc_prohibit_always-defined_macros): Use grep's -E, now that
27967         the regexp uses alternation.
27968
27969 2010-05-26  Eric Blake  <eblake@redhat.com>
27970
27971         maint.mk: avoid echo -e
27972         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
27973         Convert all uses of echo -* to printf.
27974         Reported by Matthias Bolte.
27975
27976 2010-05-25  Bruno Haible  <bruno@clisp.org>
27977
27978         Update to GNU gettext 0.18, part 2.
27979         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
27980         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
27981
27982 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27983
27984         Add missing include in test-pwrite.c.
27985         * tests/test-pwrite.c: Include string.h, for strcmp.
27986
27987 2010-05-24  Bruno Haible  <bruno@clisp.org>
27988
27989         * NEWS: Mention requirement for Automake option 'subdir-objects'.
27990
27991 2010-05-24  Bruno Haible  <bruno@clisp.org>
27992
27993         Don't use conversion with transliteration in u{8,16,32}_strcoll.
27994         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
27995         iconveh_error argument.
27996         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
27997         U_STRCONV_TO_LOCALE.
27998         * lib/unistr/u16-strcoll.c: Likewise.
27999         * lib/unistr/u32-strcoll.c: Likewise.
28000         * modules/unistr/u8-strcoll (Depends-on): Add
28001         uniconv/u8-strconv-to-enc, localcharset. Remove
28002         uniconv/u8-strconv-to-locale.
28003         (configure.ac): Bump version number.
28004         * modules/unistr/u16-strcoll (Depends-on): Add
28005         uniconv/u16-strconv-to-enc, localcharset. Remove
28006         uniconv/u16-strconv-to-locale.
28007         (configure.ac): Bump version number.
28008         * modules/unistr/u32-strcoll (Depends-on): Add
28009         uniconv/u32-strconv-to-enc, localcharset. Remove
28010         uniconv/u32-strconv-to-locale.
28011         (configure.ac): Bump version number.
28012
28013 2010-05-24  Bruno Haible  <bruno@clisp.org>
28014
28015         Avoid a test failure on NetBSD 5.0.
28016         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28017         an iconv() bug.
28018
28019 2010-05-24  Bruno Haible  <bruno@clisp.org>
28020
28021         Adjust #include directive style.
28022         * modules/regex (Includes): Recommend to write <regex.h>.
28023
28024 2010-05-24  Bruno Haible  <bruno@clisp.org>
28025
28026         regex: Don't require alloca.
28027         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28028         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28029         only inside if (0).
28030
28031 2010-05-23  Jim Meyering  <meyering@redhat.com>
28032
28033         test-renameat.c: include <sys/stat.h>
28034         * tests/test-renameat.c: Include <sys/stat.h>; required for
28035         definition of S_IS* macros.
28036
28037 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28038
28039         Update maintainer documentation for 'relocatable-prog' module.
28040         * doc/relocatable-maint.texi: Update.
28041         Comments by Bruno Haible.
28042
28043 2010-05-23  Bruno Haible  <bruno@clisp.org>
28044
28045         git-merge-changelog: Enable --split-merged-entry by default.
28046         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28047         (usage): Don't mention this option any more.
28048         Reported by Ralf Wildenhues.
28049
28050 2010-05-23  Jim Meyering  <meyering@redhat.com>
28051
28052         test-pwrite: do not leave behind a test file named "out"
28053         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28054         The trivial-looking use of init.sh is really necessary.
28055         It ensures that the temporary file, "out", is created in
28056         a temporary directory, and removed upon termination.
28057         * tests/test-pwrite.sh: Re-add file.
28058         * modules/pwrite-tests: Reference it.
28059
28060 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28061
28062         Fix output redirection buglet in init.sh.
28063         * tests/init.sh: Fix redirection of stderr.
28064
28065 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28066
28067         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28068
28069 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28070
28071         * modules/valgrind-tests: New file.
28072         * m4/valgrind-tests.m4: New file.
28073         * doc/valgrind-tests.texi: New file.
28074         * doc/gnulib.texi (Running self-tests under valgrind): New
28075         section.
28076
28077 2010-05-19  Bruno Haible  <bruno@clisp.org>
28078
28079         Clean up dead code in recent commit.
28080         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28081         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28082         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28083         Suggested by Paolo Bonzini.
28084
28085 2010-05-19  Bruno Haible  <bruno@clisp.org>
28086
28087         Avoid valgrind error reports from libunistring.
28088         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28089         * modules/libunistring (Files): Add it.
28090         * modules/libunistring-optional (Files): Likewise.
28091
28092 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28093             Bruno Haible  <bruno@clisp.org>
28094
28095         New module 'libunistring-optional'.
28096         * modules/libunistring-optional: New file.
28097         * m4/libunistring-base.m4: New file.
28098         * m4/libunistring-optional.m4: New file.
28099         * lib/unicase.in.h: Renamed from lib/unicase.h.
28100         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
28101         * lib/unictype.in.h: Renamed from lib/unictype.h.
28102         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
28103         * lib/uniname.in.h: Renamed from lib/uniname.h.
28104         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
28105         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
28106         * lib/unistr.in.h: Renamed from lib/unistr.h.
28107         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
28108         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
28109         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
28110         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
28111         gl_LIBUNISTRING. If the library was found, determine the installed
28112         version and set LIBUNISTRING_VERSION.
28113         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
28114         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
28115         handle a configuration option --with-included-libunistring.
28116         * modules/libunistring (Files): Add m4/absolute-header.m4.
28117         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
28118         Add m4/libunistring-base.m4.
28119         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28120         (Makefile.am): Build unicase.h from unicase.in.h.
28121         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
28122         Add m4/libunistring-base.m4.
28123         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28124         (Makefile.am): Build uniconv.h from uniconv.in.h.
28125         * modules/unictype/base (Files): Use unictype.in.h instead of
28126         unictype.h. Add m4/libunistring-base.m4.
28127         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28128         (Makefile.am): Build unictype.h from unictype.in.h.
28129         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
28130         Add m4/libunistring-base.m4.
28131         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28132         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
28133         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
28134         Add m4/libunistring-base.m4.
28135         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28136         (Makefile.am): Build uniname.h from uniname.in.h.
28137         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
28138         Add m4/libunistring-base.m4.
28139         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28140         (Makefile.am): Build uninorm.h from uninorm.in.h.
28141         * modules/unistdio/base (Files): Use unistdio.in.h instead of
28142         unistdio.h. Add m4/libunistring-base.m4.
28143         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28144         (Makefile.am): Build unistdio.h from unistdio.in.h.
28145         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
28146         Add m4/libunistring-base.m4.
28147         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28148         (Makefile.am): Build unistr.h from unistr.in.h.
28149         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
28150         Add m4/libunistring-base.m4.
28151         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28152         (Makefile.am): Build unitypes.h from unitypes.in.h.
28153         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
28154         Add m4/libunistring-base.m4.
28155         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28156         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
28157         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
28158         uniwidth.h. Add m4/libunistring-base.m4.
28159         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28160         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
28161         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
28162         instead of augmenting lib_SOURCES.
28163         * modules/unicase/empty-suffix-context: Likewise.
28164         * modules/unicase/locale-language: Likewise.
28165         * modules/unicase/tolower: Likewise.
28166         * modules/unicase/totitle: Likewise.
28167         * modules/unicase/toupper: Likewise.
28168         * modules/unicase/u8-casecmp: Likewise.
28169         * modules/unicase/u8-casecoll: Likewise.
28170         * modules/unicase/u8-casefold: Likewise.
28171         * modules/unicase/u8-casexfrm: Likewise.
28172         * modules/unicase/u8-ct-casefold: Likewise.
28173         * modules/unicase/u8-ct-tolower: Likewise.
28174         * modules/unicase/u8-ct-totitle: Likewise.
28175         * modules/unicase/u8-ct-toupper: Likewise.
28176         * modules/unicase/u8-is-cased: Likewise.
28177         * modules/unicase/u8-is-casefolded: Likewise.
28178         * modules/unicase/u8-is-lowercase: Likewise.
28179         * modules/unicase/u8-is-titlecase: Likewise.
28180         * modules/unicase/u8-is-uppercase: Likewise.
28181         * modules/unicase/u8-prefix-context: Likewise.
28182         * modules/unicase/u8-suffix-context: Likewise.
28183         * modules/unicase/u8-tolower: Likewise.
28184         * modules/unicase/u8-totitle: Likewise.
28185         * modules/unicase/u8-toupper: Likewise.
28186         * modules/unicase/u16-casecmp: Likewise.
28187         * modules/unicase/u16-casecoll: Likewise.
28188         * modules/unicase/u16-casefold: Likewise.
28189         * modules/unicase/u16-casexfrm: Likewise.
28190         * modules/unicase/u16-ct-casefold: Likewise.
28191         * modules/unicase/u16-ct-tolower: Likewise.
28192         * modules/unicase/u16-ct-totitle: Likewise.
28193         * modules/unicase/u16-ct-toupper: Likewise.
28194         * modules/unicase/u16-is-cased: Likewise.
28195         * modules/unicase/u16-is-casefolded: Likewise.
28196         * modules/unicase/u16-is-lowercase: Likewise.
28197         * modules/unicase/u16-is-titlecase: Likewise.
28198         * modules/unicase/u16-is-uppercase: Likewise.
28199         * modules/unicase/u16-prefix-context: Likewise.
28200         * modules/unicase/u16-suffix-context: Likewise.
28201         * modules/unicase/u16-tolower: Likewise.
28202         * modules/unicase/u16-totitle: Likewise.
28203         * modules/unicase/u16-toupper: Likewise.
28204         * modules/unicase/u32-casecmp: Likewise.
28205         * modules/unicase/u32-casecoll: Likewise.
28206         * modules/unicase/u32-casefold: Likewise.
28207         * modules/unicase/u32-casexfrm: Likewise.
28208         * modules/unicase/u32-ct-casefold: Likewise.
28209         * modules/unicase/u32-ct-tolower: Likewise.
28210         * modules/unicase/u32-ct-totitle: Likewise.
28211         * modules/unicase/u32-ct-toupper: Likewise.
28212         * modules/unicase/u32-is-cased: Likewise.
28213         * modules/unicase/u32-is-casefolded: Likewise.
28214         * modules/unicase/u32-is-lowercase: Likewise.
28215         * modules/unicase/u32-is-titlecase: Likewise.
28216         * modules/unicase/u32-is-uppercase: Likewise.
28217         * modules/unicase/u32-prefix-context: Likewise.
28218         * modules/unicase/u32-suffix-context: Likewise.
28219         * modules/unicase/u32-tolower: Likewise.
28220         * modules/unicase/u32-totitle: Likewise.
28221         * modules/unicase/u32-toupper: Likewise.
28222         * modules/unicase/ulc-casecmp: Likewise.
28223         * modules/unicase/ulc-casecoll: Likewise.
28224         * modules/unicase/ulc-casexfrm: Likewise.
28225         * modules/uniconv/u8-conv-from-enc: Likewise.
28226         * modules/uniconv/u8-conv-to-enc: Likewise.
28227         * modules/uniconv/u8-strconv-from-enc: Likewise.
28228         * modules/uniconv/u8-strconv-from-locale: Likewise.
28229         * modules/uniconv/u8-strconv-to-enc: Likewise.
28230         * modules/uniconv/u8-strconv-to-locale: Likewise.
28231         * modules/uniconv/u16-conv-from-enc: Likewise.
28232         * modules/uniconv/u16-conv-to-enc: Likewise.
28233         * modules/uniconv/u16-strconv-from-enc: Likewise.
28234         * modules/uniconv/u16-strconv-from-locale: Likewise.
28235         * modules/uniconv/u16-strconv-to-enc: Likewise.
28236         * modules/uniconv/u16-strconv-to-locale: Likewise.
28237         * modules/uniconv/u32-conv-from-enc: Likewise.
28238         * modules/uniconv/u32-conv-to-enc: Likewise.
28239         * modules/uniconv/u32-strconv-from-enc: Likewise.
28240         * modules/uniconv/u32-strconv-from-locale: Likewise.
28241         * modules/uniconv/u32-strconv-to-enc: Likewise.
28242         * modules/uniconv/u32-strconv-to-locale: Likewise.
28243         * modules/unictype/bidicategory-byname: Likewise.
28244         * modules/unictype/bidicategory-name: Likewise.
28245         * modules/unictype/bidicategory-of: Likewise.
28246         * modules/unictype/bidicategory-test: Likewise.
28247         * modules/unictype/block-list: Likewise.
28248         * modules/unictype/block-test: Likewise.
28249         * modules/unictype/category-C: Likewise.
28250         * modules/unictype/category-Cc: Likewise.
28251         * modules/unictype/category-Cf: Likewise.
28252         * modules/unictype/category-Cn: Likewise.
28253         * modules/unictype/category-Co: Likewise.
28254         * modules/unictype/category-Cs: Likewise.
28255         * modules/unictype/category-L: Likewise.
28256         * modules/unictype/category-Ll: Likewise.
28257         * modules/unictype/category-Lm: Likewise.
28258         * modules/unictype/category-Lo: Likewise.
28259         * modules/unictype/category-Lt: Likewise.
28260         * modules/unictype/category-Lu: Likewise.
28261         * modules/unictype/category-M: Likewise.
28262         * modules/unictype/category-Mc: Likewise.
28263         * modules/unictype/category-Me: Likewise.
28264         * modules/unictype/category-Mn: Likewise.
28265         * modules/unictype/category-N: Likewise.
28266         * modules/unictype/category-Nd: Likewise.
28267         * modules/unictype/category-Nl: Likewise.
28268         * modules/unictype/category-No: Likewise.
28269         * modules/unictype/category-P: Likewise.
28270         * modules/unictype/category-Pc: Likewise.
28271         * modules/unictype/category-Pd: Likewise.
28272         * modules/unictype/category-Pe: Likewise.
28273         * modules/unictype/category-Pf: Likewise.
28274         * modules/unictype/category-Pi: Likewise.
28275         * modules/unictype/category-Po: Likewise.
28276         * modules/unictype/category-Ps: Likewise.
28277         * modules/unictype/category-S: Likewise.
28278         * modules/unictype/category-Sc: Likewise.
28279         * modules/unictype/category-Sk: Likewise.
28280         * modules/unictype/category-Sm: Likewise.
28281         * modules/unictype/category-So: Likewise.
28282         * modules/unictype/category-Z: Likewise.
28283         * modules/unictype/category-Zl: Likewise.
28284         * modules/unictype/category-Zp: Likewise.
28285         * modules/unictype/category-Zs: Likewise.
28286         * modules/unictype/category-and: Likewise.
28287         * modules/unictype/category-and-not: Likewise.
28288         * modules/unictype/category-byname: Likewise.
28289         * modules/unictype/category-name: Likewise.
28290         * modules/unictype/category-none: Likewise.
28291         * modules/unictype/category-of: Likewise.
28292         * modules/unictype/category-or: Likewise.
28293         * modules/unictype/category-test: Likewise.
28294         * modules/unictype/combining-class: Likewise.
28295         * modules/unictype/ctype-alnum: Likewise.
28296         * modules/unictype/ctype-alpha: Likewise.
28297         * modules/unictype/ctype-blank: Likewise.
28298         * modules/unictype/ctype-cntrl: Likewise.
28299         * modules/unictype/ctype-digit: Likewise.
28300         * modules/unictype/ctype-graph: Likewise.
28301         * modules/unictype/ctype-lower: Likewise.
28302         * modules/unictype/ctype-print: Likewise.
28303         * modules/unictype/ctype-punct: Likewise.
28304         * modules/unictype/ctype-space: Likewise.
28305         * modules/unictype/ctype-upper: Likewise.
28306         * modules/unictype/ctype-xdigit: Likewise.
28307         * modules/unictype/decimal-digit: Likewise.
28308         * modules/unictype/digit: Likewise.
28309         * modules/unictype/mirror: Likewise.
28310         * modules/unictype/numeric: Likewise.
28311         * modules/unictype/property-alphabetic: Likewise.
28312         * modules/unictype/property-ascii-hex-digit: Likewise.
28313         * modules/unictype/property-bidi-arabic-digit: Likewise.
28314         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
28315         * modules/unictype/property-bidi-block-separator: Likewise.
28316         * modules/unictype/property-bidi-boundary-neutral: Likewise.
28317         * modules/unictype/property-bidi-common-separator: Likewise.
28318         * modules/unictype/property-bidi-control: Likewise.
28319         * modules/unictype/property-bidi-embedding-or-override: Likewise.
28320         * modules/unictype/property-bidi-eur-num-separator: Likewise.
28321         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
28322         * modules/unictype/property-bidi-european-digit: Likewise.
28323         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
28324         * modules/unictype/property-bidi-left-to-right: Likewise.
28325         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
28326         * modules/unictype/property-bidi-other-neutral: Likewise.
28327         * modules/unictype/property-bidi-pdf: Likewise.
28328         * modules/unictype/property-bidi-segment-separator: Likewise.
28329         * modules/unictype/property-bidi-whitespace: Likewise.
28330         * modules/unictype/property-byname: Likewise.
28331         * modules/unictype/property-combining: Likewise.
28332         * modules/unictype/property-composite: Likewise.
28333         * modules/unictype/property-currency-symbol: Likewise.
28334         * modules/unictype/property-dash: Likewise.
28335         * modules/unictype/property-decimal-digit: Likewise.
28336         * modules/unictype/property-default-ignorable-code-point: Likewise.
28337         * modules/unictype/property-deprecated: Likewise.
28338         * modules/unictype/property-diacritic: Likewise.
28339         * modules/unictype/property-extender: Likewise.
28340         * modules/unictype/property-format-control: Likewise.
28341         * modules/unictype/property-grapheme-base: Likewise.
28342         * modules/unictype/property-grapheme-extend: Likewise.
28343         * modules/unictype/property-grapheme-link: Likewise.
28344         * modules/unictype/property-hex-digit: Likewise.
28345         * modules/unictype/property-hyphen: Likewise.
28346         * modules/unictype/property-id-continue: Likewise.
28347         * modules/unictype/property-id-start: Likewise.
28348         * modules/unictype/property-ideographic: Likewise.
28349         * modules/unictype/property-ids-binary-operator: Likewise.
28350         * modules/unictype/property-ids-trinary-operator: Likewise.
28351         * modules/unictype/property-ignorable-control: Likewise.
28352         * modules/unictype/property-iso-control: Likewise.
28353         * modules/unictype/property-join-control: Likewise.
28354         * modules/unictype/property-left-of-pair: Likewise.
28355         * modules/unictype/property-line-separator: Likewise.
28356         * modules/unictype/property-logical-order-exception: Likewise.
28357         * modules/unictype/property-lowercase: Likewise.
28358         * modules/unictype/property-math: Likewise.
28359         * modules/unictype/property-non-break: Likewise.
28360         * modules/unictype/property-not-a-character: Likewise.
28361         * modules/unictype/property-numeric: Likewise.
28362         * modules/unictype/property-other-alphabetic: Likewise.
28363         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
28364         * modules/unictype/property-other-grapheme-extend: Likewise.
28365         * modules/unictype/property-other-id-continue: Likewise.
28366         * modules/unictype/property-other-id-start: Likewise.
28367         * modules/unictype/property-other-lowercase: Likewise.
28368         * modules/unictype/property-other-math: Likewise.
28369         * modules/unictype/property-other-uppercase: Likewise.
28370         * modules/unictype/property-paired-punctuation: Likewise.
28371         * modules/unictype/property-paragraph-separator: Likewise.
28372         * modules/unictype/property-pattern-syntax: Likewise.
28373         * modules/unictype/property-pattern-white-space: Likewise.
28374         * modules/unictype/property-private-use: Likewise.
28375         * modules/unictype/property-punctuation: Likewise.
28376         * modules/unictype/property-quotation-mark: Likewise.
28377         * modules/unictype/property-radical: Likewise.
28378         * modules/unictype/property-sentence-terminal: Likewise.
28379         * modules/unictype/property-soft-dotted: Likewise.
28380         * modules/unictype/property-space: Likewise.
28381         * modules/unictype/property-terminal-punctuation: Likewise.
28382         * modules/unictype/property-test: Likewise.
28383         * modules/unictype/property-titlecase: Likewise.
28384         * modules/unictype/property-unassigned-code-value: Likewise.
28385         * modules/unictype/property-unified-ideograph: Likewise.
28386         * modules/unictype/property-uppercase: Likewise.
28387         * modules/unictype/property-variation-selector: Likewise.
28388         * modules/unictype/property-white-space: Likewise.
28389         * modules/unictype/property-xid-continue: Likewise.
28390         * modules/unictype/property-xid-start: Likewise.
28391         * modules/unictype/property-zero-width: Likewise.
28392         * modules/unictype/scripts: Likewise.
28393         * modules/unictype/syntax-c-ident: Likewise.
28394         * modules/unictype/syntax-c-whitespace: Likewise.
28395         * modules/unictype/syntax-java-ident: Likewise.
28396         * modules/unictype/syntax-java-whitespace: Likewise.
28397         * modules/unilbrk/u8-possible-linebreaks: Likewise.
28398         * modules/unilbrk/u8-width-linebreaks: Likewise.
28399         * modules/unilbrk/u16-possible-linebreaks: Likewise.
28400         * modules/unilbrk/u16-width-linebreaks: Likewise.
28401         * modules/unilbrk/u32-possible-linebreaks: Likewise.
28402         * modules/unilbrk/u32-width-linebreaks: Likewise.
28403         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
28404         * modules/unilbrk/ulc-width-linebreaks: Likewise.
28405         * modules/uniname/uniname: Likewise.
28406         * modules/uninorm/canonical-decomposition: Likewise.
28407         * modules/uninorm/composition: Likewise.
28408         * modules/uninorm/decomposing-form: Likewise.
28409         * modules/uninorm/decomposition: Likewise.
28410         * modules/uninorm/filter: Likewise.
28411         * modules/uninorm/nfc: Likewise.
28412         * modules/uninorm/nfd: Likewise.
28413         * modules/uninorm/nfkc: Likewise.
28414         * modules/uninorm/nfkd: Likewise.
28415         * modules/uninorm/u8-normalize: Likewise.
28416         * modules/uninorm/u8-normcmp: Likewise.
28417         * modules/uninorm/u8-normcoll: Likewise.
28418         * modules/uninorm/u8-normxfrm: Likewise.
28419         * modules/uninorm/u16-normalize: Likewise.
28420         * modules/uninorm/u16-normcmp: Likewise.
28421         * modules/uninorm/u16-normcoll: Likewise.
28422         * modules/uninorm/u16-normxfrm: Likewise.
28423         * modules/uninorm/u32-normalize: Likewise.
28424         * modules/uninorm/u32-normcmp: Likewise.
28425         * modules/uninorm/u32-normcoll: Likewise.
28426         * modules/uninorm/u32-normxfrm: Likewise.
28427         * modules/unistdio/u8-asnprintf: Likewise.
28428         * modules/unistdio/u8-asprintf: Likewise.
28429         * modules/unistdio/u8-snprintf: Likewise.
28430         * modules/unistdio/u8-sprintf: Likewise.
28431         * modules/unistdio/u8-u8-asnprintf: Likewise.
28432         * modules/unistdio/u8-u8-asprintf: Likewise.
28433         * modules/unistdio/u8-u8-snprintf: Likewise.
28434         * modules/unistdio/u8-u8-sprintf: Likewise.
28435         * modules/unistdio/u8-u8-vasnprintf: Likewise.
28436         * modules/unistdio/u8-u8-vasprintf: Likewise.
28437         * modules/unistdio/u8-u8-vsnprintf: Likewise.
28438         * modules/unistdio/u8-u8-vsprintf: Likewise.
28439         * modules/unistdio/u8-vasnprintf: Likewise.
28440         * modules/unistdio/u8-vasprintf: Likewise.
28441         * modules/unistdio/u8-vsnprintf: Likewise.
28442         * modules/unistdio/u8-vsprintf: Likewise.
28443         * modules/unistdio/u16-asnprintf: Likewise.
28444         * modules/unistdio/u16-asprintf: Likewise.
28445         * modules/unistdio/u16-snprintf: Likewise.
28446         * modules/unistdio/u16-sprintf: Likewise.
28447         * modules/unistdio/u16-u16-asnprintf: Likewise.
28448         * modules/unistdio/u16-u16-asprintf: Likewise.
28449         * modules/unistdio/u16-u16-snprintf: Likewise.
28450         * modules/unistdio/u16-u16-sprintf: Likewise.
28451         * modules/unistdio/u16-u16-vasnprintf: Likewise.
28452         * modules/unistdio/u16-u16-vasprintf: Likewise.
28453         * modules/unistdio/u16-u16-vsnprintf: Likewise.
28454         * modules/unistdio/u16-u16-vsprintf: Likewise.
28455         * modules/unistdio/u16-vasnprintf: Likewise.
28456         * modules/unistdio/u16-vasprintf: Likewise.
28457         * modules/unistdio/u16-vsnprintf: Likewise.
28458         * modules/unistdio/u16-vsprintf: Likewise.
28459         * modules/unistdio/u32-asnprintf: Likewise.
28460         * modules/unistdio/u32-asprintf: Likewise.
28461         * modules/unistdio/u32-snprintf: Likewise.
28462         * modules/unistdio/u32-sprintf: Likewise.
28463         * modules/unistdio/u32-u32-asnprintf: Likewise.
28464         * modules/unistdio/u32-u32-asprintf: Likewise.
28465         * modules/unistdio/u32-u32-snprintf: Likewise.
28466         * modules/unistdio/u32-u32-sprintf: Likewise.
28467         * modules/unistdio/u32-u32-vasnprintf: Likewise.
28468         * modules/unistdio/u32-u32-vasprintf: Likewise.
28469         * modules/unistdio/u32-u32-vsnprintf: Likewise.
28470         * modules/unistdio/u32-u32-vsprintf: Likewise.
28471         * modules/unistdio/u32-vasnprintf: Likewise.
28472         * modules/unistdio/u32-vasprintf: Likewise.
28473         * modules/unistdio/u32-vsnprintf: Likewise.
28474         * modules/unistdio/u32-vsprintf: Likewise.
28475         * modules/unistdio/ulc-asnprintf: Likewise.
28476         * modules/unistdio/ulc-asprintf: Likewise.
28477         * modules/unistdio/ulc-fprintf: Likewise.
28478         * modules/unistdio/ulc-snprintf: Likewise.
28479         * modules/unistdio/ulc-sprintf: Likewise.
28480         * modules/unistdio/ulc-vasnprintf: Likewise.
28481         * modules/unistdio/ulc-vasprintf: Likewise.
28482         * modules/unistdio/ulc-vfprintf: Likewise.
28483         * modules/unistdio/ulc-vsnprintf: Likewise.
28484         * modules/unistdio/ulc-vsprintf: Likewise.
28485         * modules/unistr/u8-check: Likewise.
28486         * modules/unistr/u8-chr: Likewise.
28487         * modules/unistr/u8-cmp: Likewise.
28488         * modules/unistr/u8-cmp2: Likewise.
28489         * modules/unistr/u8-cpy: Likewise.
28490         * modules/unistr/u8-cpy-alloc: Likewise.
28491         * modules/unistr/u8-endswith: Likewise.
28492         * modules/unistr/u8-mblen: Likewise.
28493         * modules/unistr/u8-mbsnlen: Likewise.
28494         * modules/unistr/u8-mbtouc: Likewise.
28495         * modules/unistr/u8-mbtouc-unsafe: Likewise.
28496         * modules/unistr/u8-mbtoucr: Likewise.
28497         * modules/unistr/u8-move: Likewise.
28498         * modules/unistr/u8-next: Likewise.
28499         * modules/unistr/u8-prev: Likewise.
28500         * modules/unistr/u8-set: Likewise.
28501         * modules/unistr/u8-startswith: Likewise.
28502         * modules/unistr/u8-stpcpy: Likewise.
28503         * modules/unistr/u8-stpncpy: Likewise.
28504         * modules/unistr/u8-strcat: Likewise.
28505         * modules/unistr/u8-strchr: Likewise.
28506         * modules/unistr/u8-strcmp: Likewise.
28507         * modules/unistr/u8-strcoll: Likewise.
28508         * modules/unistr/u8-strcpy: Likewise.
28509         * modules/unistr/u8-strcspn: Likewise.
28510         * modules/unistr/u8-strdup: Likewise.
28511         * modules/unistr/u8-strlen: Likewise.
28512         * modules/unistr/u8-strmblen: Likewise.
28513         * modules/unistr/u8-strmbtouc: Likewise.
28514         * modules/unistr/u8-strncat: Likewise.
28515         * modules/unistr/u8-strncmp: Likewise.
28516         * modules/unistr/u8-strncpy: Likewise.
28517         * modules/unistr/u8-strnlen: Likewise.
28518         * modules/unistr/u8-strpbrk: Likewise.
28519         * modules/unistr/u8-strrchr: Likewise.
28520         * modules/unistr/u8-strspn: Likewise.
28521         * modules/unistr/u8-strstr: Likewise.
28522         * modules/unistr/u8-strtok: Likewise.
28523         * modules/unistr/u8-to-u16: Likewise.
28524         * modules/unistr/u8-to-u32: Likewise.
28525         * modules/unistr/u8-uctomb: Likewise.
28526         * modules/unistr/u16-check: Likewise.
28527         * modules/unistr/u16-chr: Likewise.
28528         * modules/unistr/u16-cmp: Likewise.
28529         * modules/unistr/u16-cmp2: Likewise.
28530         * modules/unistr/u16-cpy: Likewise.
28531         * modules/unistr/u16-cpy-alloc: Likewise.
28532         * modules/unistr/u16-endswith: Likewise.
28533         * modules/unistr/u16-mblen: Likewise.
28534         * modules/unistr/u16-mbsnlen: Likewise.
28535         * modules/unistr/u16-mbtouc: Likewise.
28536         * modules/unistr/u16-mbtouc-unsafe: Likewise.
28537         * modules/unistr/u16-mbtoucr: Likewise.
28538         * modules/unistr/u16-move: Likewise.
28539         * modules/unistr/u16-next: Likewise.
28540         * modules/unistr/u16-prev: Likewise.
28541         * modules/unistr/u16-set: Likewise.
28542         * modules/unistr/u16-startswith: Likewise.
28543         * modules/unistr/u16-stpcpy: Likewise.
28544         * modules/unistr/u16-stpncpy: Likewise.
28545         * modules/unistr/u16-strcat: Likewise.
28546         * modules/unistr/u16-strchr: Likewise.
28547         * modules/unistr/u16-strcmp: Likewise.
28548         * modules/unistr/u16-strcoll: Likewise.
28549         * modules/unistr/u16-strcpy: Likewise.
28550         * modules/unistr/u16-strcspn: Likewise.
28551         * modules/unistr/u16-strdup: Likewise.
28552         * modules/unistr/u16-strlen: Likewise.
28553         * modules/unistr/u16-strmblen: Likewise.
28554         * modules/unistr/u16-strmbtouc: Likewise.
28555         * modules/unistr/u16-strncat: Likewise.
28556         * modules/unistr/u16-strncmp: Likewise.
28557         * modules/unistr/u16-strncpy: Likewise.
28558         * modules/unistr/u16-strnlen: Likewise.
28559         * modules/unistr/u16-strpbrk: Likewise.
28560         * modules/unistr/u16-strrchr: Likewise.
28561         * modules/unistr/u16-strspn: Likewise.
28562         * modules/unistr/u16-strstr: Likewise.
28563         * modules/unistr/u16-strtok: Likewise.
28564         * modules/unistr/u16-to-u32: Likewise.
28565         * modules/unistr/u16-to-u8: Likewise.
28566         * modules/unistr/u16-uctomb: Likewise.
28567         * modules/unistr/u32-check: Likewise.
28568         * modules/unistr/u32-chr: Likewise.
28569         * modules/unistr/u32-cmp: Likewise.
28570         * modules/unistr/u32-cmp2: Likewise.
28571         * modules/unistr/u32-cpy: Likewise.
28572         * modules/unistr/u32-cpy-alloc: Likewise.
28573         * modules/unistr/u32-endswith: Likewise.
28574         * modules/unistr/u32-mblen: Likewise.
28575         * modules/unistr/u32-mbsnlen: Likewise.
28576         * modules/unistr/u32-mbtouc: Likewise.
28577         * modules/unistr/u32-mbtouc-unsafe: Likewise.
28578         * modules/unistr/u32-mbtoucr: Likewise.
28579         * modules/unistr/u32-move: Likewise.
28580         * modules/unistr/u32-next: Likewise.
28581         * modules/unistr/u32-prev: Likewise.
28582         * modules/unistr/u32-set: Likewise.
28583         * modules/unistr/u32-startswith: Likewise.
28584         * modules/unistr/u32-stpcpy: Likewise.
28585         * modules/unistr/u32-stpncpy: Likewise.
28586         * modules/unistr/u32-strcat: Likewise.
28587         * modules/unistr/u32-strchr: Likewise.
28588         * modules/unistr/u32-strcmp: Likewise.
28589         * modules/unistr/u32-strcoll: Likewise.
28590         * modules/unistr/u32-strcpy: Likewise.
28591         * modules/unistr/u32-strcspn: Likewise.
28592         * modules/unistr/u32-strdup: Likewise.
28593         * modules/unistr/u32-strlen: Likewise.
28594         * modules/unistr/u32-strmblen: Likewise.
28595         * modules/unistr/u32-strmbtouc: Likewise.
28596         * modules/unistr/u32-strncat: Likewise.
28597         * modules/unistr/u32-strncmp: Likewise.
28598         * modules/unistr/u32-strncpy: Likewise.
28599         * modules/unistr/u32-strnlen: Likewise.
28600         * modules/unistr/u32-strpbrk: Likewise.
28601         * modules/unistr/u32-strrchr: Likewise.
28602         * modules/unistr/u32-strspn: Likewise.
28603         * modules/unistr/u32-strstr: Likewise.
28604         * modules/unistr/u32-strtok: Likewise.
28605         * modules/unistr/u32-to-u16: Likewise.
28606         * modules/unistr/u32-to-u8: Likewise.
28607         * modules/unistr/u32-uctomb: Likewise.
28608         * modules/uniwbrk/u8-wordbreaks: Likewise.
28609         * modules/uniwbrk/u16-wordbreaks: Likewise.
28610         * modules/uniwbrk/u32-wordbreaks: Likewise.
28611         * modules/uniwbrk/ulc-wordbreaks: Likewise.
28612         * modules/uniwbrk/wordbreak-property: Likewise.
28613         * modules/uniwidth/u8-strwidth: Likewise.
28614         * modules/uniwidth/u8-width: Likewise.
28615         * modules/uniwidth/u16-strwidth: Likewise.
28616         * modules/uniwidth/u16-width: Likewise.
28617         * modules/uniwidth/u32-strwidth: Likewise.
28618         * modules/uniwidth/u32-width: Likewise.
28619         * modules/uniwidth/width: Likewise.
28620         * modules/unicase/cased-tests (Makefile.am): Link all test programs
28621         with $(LIBUNISTRING).
28622         * modules/unicase/ignorable-tests: Likewise.
28623         * modules/unicase/locale-language-tests: Likewise.
28624         * modules/unicase/tolower-tests: Likewise.
28625         * modules/unicase/totitle-tests: Likewise.
28626         * modules/unicase/toupper-tests: Likewise.
28627         * modules/unicase/u8-casecmp-tests: Likewise.
28628         * modules/unicase/u8-casecoll-tests: Likewise.
28629         * modules/unicase/u8-casefold-tests: Likewise.
28630         * modules/unicase/u8-is-cased-tests: Likewise.
28631         * modules/unicase/u8-is-casefolded-tests: Likewise.
28632         * modules/unicase/u8-is-lowercase-tests: Likewise.
28633         * modules/unicase/u8-is-titlecase-tests: Likewise.
28634         * modules/unicase/u8-is-uppercase-tests: Likewise.
28635         * modules/unicase/u8-tolower-tests: Likewise.
28636         * modules/unicase/u8-totitle-tests: Likewise.
28637         * modules/unicase/u8-toupper-tests: Likewise.
28638         * modules/unicase/u16-casecmp-tests: Likewise.
28639         * modules/unicase/u16-casecoll-tests: Likewise.
28640         * modules/unicase/u16-casefold-tests: Likewise.
28641         * modules/unicase/u16-is-cased-tests: Likewise.
28642         * modules/unicase/u16-is-casefolded-tests: Likewise.
28643         * modules/unicase/u16-is-lowercase-tests: Likewise.
28644         * modules/unicase/u16-is-titlecase-tests: Likewise.
28645         * modules/unicase/u16-is-uppercase-tests: Likewise.
28646         * modules/unicase/u16-tolower-tests: Likewise.
28647         * modules/unicase/u16-totitle-tests: Likewise.
28648         * modules/unicase/u16-toupper-tests: Likewise.
28649         * modules/unicase/u32-casecmp-tests: Likewise.
28650         * modules/unicase/u32-casecoll-tests: Likewise.
28651         * modules/unicase/u32-casefold-tests: Likewise.
28652         * modules/unicase/u32-is-cased-tests: Likewise.
28653         * modules/unicase/u32-is-casefolded-tests: Likewise.
28654         * modules/unicase/u32-is-lowercase-tests: Likewise.
28655         * modules/unicase/u32-is-titlecase-tests: Likewise.
28656         * modules/unicase/u32-is-uppercase-tests: Likewise.
28657         * modules/unicase/u32-tolower-tests: Likewise.
28658         * modules/unicase/u32-totitle-tests: Likewise.
28659         * modules/unicase/u32-toupper-tests: Likewise.
28660         * modules/unicase/ulc-casecmp-tests: Likewise.
28661         * modules/unicase/ulc-casecoll-tests: Likewise.
28662         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
28663         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
28664         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
28665         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
28666         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
28667         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
28668         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
28669         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
28670         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
28671         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
28672         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
28673         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
28674         * modules/unictype/bidicategory-byname-tests: Likewise.
28675         * modules/unictype/bidicategory-name-tests: Likewise.
28676         * modules/unictype/bidicategory-of-tests: Likewise.
28677         * modules/unictype/bidicategory-test-tests: Likewise.
28678         * modules/unictype/block-list-tests: Likewise.
28679         * modules/unictype/block-of-tests: Likewise.
28680         * modules/unictype/block-test-tests: Likewise.
28681         * modules/unictype/category-C-tests: Likewise.
28682         * modules/unictype/category-Cc-tests: Likewise.
28683         * modules/unictype/category-Cf-tests: Likewise.
28684         * modules/unictype/category-Cn-tests: Likewise.
28685         * modules/unictype/category-Co-tests: Likewise.
28686         * modules/unictype/category-Cs-tests: Likewise.
28687         * modules/unictype/category-L-tests: Likewise.
28688         * modules/unictype/category-Ll-tests: Likewise.
28689         * modules/unictype/category-Lm-tests: Likewise.
28690         * modules/unictype/category-Lo-tests: Likewise.
28691         * modules/unictype/category-Lt-tests: Likewise.
28692         * modules/unictype/category-Lu-tests: Likewise.
28693         * modules/unictype/category-M-tests: Likewise.
28694         * modules/unictype/category-Mc-tests: Likewise.
28695         * modules/unictype/category-Me-tests: Likewise.
28696         * modules/unictype/category-Mn-tests: Likewise.
28697         * modules/unictype/category-N-tests: Likewise.
28698         * modules/unictype/category-Nd-tests: Likewise.
28699         * modules/unictype/category-Nl-tests: Likewise.
28700         * modules/unictype/category-No-tests: Likewise.
28701         * modules/unictype/category-P-tests: Likewise.
28702         * modules/unictype/category-Pc-tests: Likewise.
28703         * modules/unictype/category-Pd-tests: Likewise.
28704         * modules/unictype/category-Pe-tests: Likewise.
28705         * modules/unictype/category-Pf-tests: Likewise.
28706         * modules/unictype/category-Pi-tests: Likewise.
28707         * modules/unictype/category-Po-tests: Likewise.
28708         * modules/unictype/category-Ps-tests: Likewise.
28709         * modules/unictype/category-S-tests: Likewise.
28710         * modules/unictype/category-Sc-tests: Likewise.
28711         * modules/unictype/category-Sk-tests: Likewise.
28712         * modules/unictype/category-Sm-tests: Likewise.
28713         * modules/unictype/category-So-tests: Likewise.
28714         * modules/unictype/category-Z-tests: Likewise.
28715         * modules/unictype/category-Zl-tests: Likewise.
28716         * modules/unictype/category-Zp-tests: Likewise.
28717         * modules/unictype/category-Zs-tests: Likewise.
28718         * modules/unictype/category-and-not-tests: Likewise.
28719         * modules/unictype/category-and-tests: Likewise.
28720         * modules/unictype/category-byname-tests: Likewise.
28721         * modules/unictype/category-name-tests: Likewise.
28722         * modules/unictype/category-none-tests: Likewise.
28723         * modules/unictype/category-of-tests: Likewise.
28724         * modules/unictype/category-or-tests: Likewise.
28725         * modules/unictype/category-test-withtable-tests: Likewise.
28726         * modules/unictype/combining-class-tests: Likewise.
28727         * modules/unictype/ctype-alnum-tests: Likewise.
28728         * modules/unictype/ctype-alpha-tests: Likewise.
28729         * modules/unictype/ctype-blank-tests: Likewise.
28730         * modules/unictype/ctype-cntrl-tests: Likewise.
28731         * modules/unictype/ctype-digit-tests: Likewise.
28732         * modules/unictype/ctype-graph-tests: Likewise.
28733         * modules/unictype/ctype-lower-tests: Likewise.
28734         * modules/unictype/ctype-print-tests: Likewise.
28735         * modules/unictype/ctype-punct-tests: Likewise.
28736         * modules/unictype/ctype-space-tests: Likewise.
28737         * modules/unictype/ctype-upper-tests: Likewise.
28738         * modules/unictype/ctype-xdigit-tests: Likewise.
28739         * modules/unictype/decimal-digit-tests: Likewise.
28740         * modules/unictype/digit-tests: Likewise.
28741         * modules/unictype/mirror-tests: Likewise.
28742         * modules/unictype/numeric-tests: Likewise.
28743         * modules/unictype/property-alphabetic-tests: Likewise.
28744         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
28745         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
28746         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
28747         * modules/unictype/property-bidi-block-separator-tests: Likewise.
28748         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
28749         * modules/unictype/property-bidi-common-separator-tests: Likewise.
28750         * modules/unictype/property-bidi-control-tests: Likewise.
28751         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
28752         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
28753         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
28754         * modules/unictype/property-bidi-european-digit-tests: Likewise.
28755         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
28756         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
28757         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
28758         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
28759         * modules/unictype/property-bidi-pdf-tests: Likewise.
28760         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
28761         * modules/unictype/property-bidi-whitespace-tests: Likewise.
28762         * modules/unictype/property-byname-tests: Likewise.
28763         * modules/unictype/property-combining-tests: Likewise.
28764         * modules/unictype/property-composite-tests: Likewise.
28765         * modules/unictype/property-currency-symbol-tests: Likewise.
28766         * modules/unictype/property-dash-tests: Likewise.
28767         * modules/unictype/property-decimal-digit-tests: Likewise.
28768         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
28769         * modules/unictype/property-deprecated-tests: Likewise.
28770         * modules/unictype/property-diacritic-tests: Likewise.
28771         * modules/unictype/property-extender-tests: Likewise.
28772         * modules/unictype/property-format-control-tests: Likewise.
28773         * modules/unictype/property-grapheme-base-tests: Likewise.
28774         * modules/unictype/property-grapheme-extend-tests: Likewise.
28775         * modules/unictype/property-grapheme-link-tests: Likewise.
28776         * modules/unictype/property-hex-digit-tests: Likewise.
28777         * modules/unictype/property-hyphen-tests: Likewise.
28778         * modules/unictype/property-id-continue-tests: Likewise.
28779         * modules/unictype/property-id-start-tests: Likewise.
28780         * modules/unictype/property-ideographic-tests: Likewise.
28781         * modules/unictype/property-ids-binary-operator-tests: Likewise.
28782         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
28783         * modules/unictype/property-ignorable-control-tests: Likewise.
28784         * modules/unictype/property-iso-control-tests: Likewise.
28785         * modules/unictype/property-join-control-tests: Likewise.
28786         * modules/unictype/property-left-of-pair-tests: Likewise.
28787         * modules/unictype/property-line-separator-tests: Likewise.
28788         * modules/unictype/property-logical-order-exception-tests: Likewise.
28789         * modules/unictype/property-lowercase-tests: Likewise.
28790         * modules/unictype/property-math-tests: Likewise.
28791         * modules/unictype/property-non-break-tests: Likewise.
28792         * modules/unictype/property-not-a-character-tests: Likewise.
28793         * modules/unictype/property-numeric-tests: Likewise.
28794         * modules/unictype/property-other-alphabetic-tests: Likewise.
28795         * modules/unictype/property-other-default-ignorable-code-point-tests:
28796         Likewise.
28797         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
28798         * modules/unictype/property-other-id-continue-tests: Likewise.
28799         * modules/unictype/property-other-id-start-tests: Likewise.
28800         * modules/unictype/property-other-lowercase-tests: Likewise.
28801         * modules/unictype/property-other-math-tests: Likewise.
28802         * modules/unictype/property-other-uppercase-tests: Likewise.
28803         * modules/unictype/property-paired-punctuation-tests: Likewise.
28804         * modules/unictype/property-paragraph-separator-tests: Likewise.
28805         * modules/unictype/property-pattern-syntax-tests: Likewise.
28806         * modules/unictype/property-pattern-white-space-tests: Likewise.
28807         * modules/unictype/property-private-use-tests: Likewise.
28808         * modules/unictype/property-punctuation-tests: Likewise.
28809         * modules/unictype/property-quotation-mark-tests: Likewise.
28810         * modules/unictype/property-radical-tests: Likewise.
28811         * modules/unictype/property-sentence-terminal-tests: Likewise.
28812         * modules/unictype/property-soft-dotted-tests: Likewise.
28813         * modules/unictype/property-space-tests: Likewise.
28814         * modules/unictype/property-terminal-punctuation-tests: Likewise.
28815         * modules/unictype/property-test-tests: Likewise.
28816         * modules/unictype/property-titlecase-tests: Likewise.
28817         * modules/unictype/property-unassigned-code-value-tests: Likewise.
28818         * modules/unictype/property-unified-ideograph-tests: Likewise.
28819         * modules/unictype/property-uppercase-tests: Likewise.
28820         * modules/unictype/property-variation-selector-tests: Likewise.
28821         * modules/unictype/property-white-space-tests: Likewise.
28822         * modules/unictype/property-xid-continue-tests: Likewise.
28823         * modules/unictype/property-xid-start-tests: Likewise.
28824         * modules/unictype/property-zero-width-tests: Likewise.
28825         * modules/unictype/scripts-tests: Likewise.
28826         * modules/unictype/syntax-c-ident-tests: Likewise.
28827         * modules/unictype/syntax-c-whitespace-tests: Likewise.
28828         * modules/unictype/syntax-java-ident-tests: Likewise.
28829         * modules/unictype/syntax-java-whitespace-tests: Likewise.
28830         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
28831         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
28832         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
28833         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
28834         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
28835         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
28836         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
28837         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
28838         * modules/uniname/uniname-tests: Likewise.
28839         * modules/uninorm/canonical-decomposition-tests: Likewise.
28840         * modules/uninorm/compat-decomposition-tests: Likewise.
28841         * modules/uninorm/composition-tests: Likewise.
28842         * modules/uninorm/decomposing-form-tests: Likewise.
28843         * modules/uninorm/decomposition-tests: Likewise.
28844         * modules/uninorm/filter-tests: Likewise.
28845         * modules/uninorm/nfc-tests: Likewise.
28846         * modules/uninorm/nfd-tests: Likewise.
28847         * modules/uninorm/nfkc-tests: Likewise.
28848         * modules/uninorm/nfkd-tests: Likewise.
28849         * modules/uninorm/u8-normcmp-tests: Likewise.
28850         * modules/uninorm/u8-normcoll-tests: Likewise.
28851         * modules/uninorm/u16-normcmp-tests: Likewise.
28852         * modules/uninorm/u16-normcoll-tests: Likewise.
28853         * modules/uninorm/u32-normcmp-tests: Likewise.
28854         * modules/uninorm/u32-normcoll-tests: Likewise.
28855         * modules/unistdio/u8-asnprintf-tests: Likewise.
28856         * modules/unistdio/u8-vasnprintf-tests: Likewise.
28857         * modules/unistdio/u8-vasprintf-tests: Likewise.
28858         * modules/unistdio/u8-vsnprintf-tests: Likewise.
28859         * modules/unistdio/u8-vsprintf-tests: Likewise.
28860         * modules/unistdio/u16-asnprintf-tests: Likewise.
28861         * modules/unistdio/u16-vasnprintf-tests: Likewise.
28862         * modules/unistdio/u16-vasprintf-tests: Likewise.
28863         * modules/unistdio/u16-vsnprintf-tests: Likewise.
28864         * modules/unistdio/u16-vsprintf-tests: Likewise.
28865         * modules/unistdio/u32-asnprintf-tests: Likewise.
28866         * modules/unistdio/u32-vasnprintf-tests: Likewise.
28867         * modules/unistdio/u32-vasprintf-tests: Likewise.
28868         * modules/unistdio/u32-vsnprintf-tests: Likewise.
28869         * modules/unistdio/u32-vsprintf-tests: Likewise.
28870         * modules/unistdio/ulc-asnprintf-tests: Likewise.
28871         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
28872         * modules/unistdio/ulc-vasprintf-tests: Likewise.
28873         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
28874         * modules/unistdio/ulc-vsprintf-tests: Likewise.
28875         * modules/unistr/u8-check-tests: Likewise.
28876         * modules/unistr/u8-chr-tests: Likewise.
28877         * modules/unistr/u8-cmp-tests: Likewise.
28878         * modules/unistr/u8-cmp2-tests: Likewise.
28879         * modules/unistr/u8-cpy-alloc-tests: Likewise.
28880         * modules/unistr/u8-cpy-tests: Likewise.
28881         * modules/unistr/u8-mblen-tests: Likewise.
28882         * modules/unistr/u8-mbsnlen-tests: Likewise.
28883         * modules/unistr/u8-mbtouc-tests: Likewise.
28884         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
28885         * modules/unistr/u8-mbtoucr-tests: Likewise.
28886         * modules/unistr/u8-move-tests: Likewise.
28887         * modules/unistr/u8-next-tests: Likewise.
28888         * modules/unistr/u8-prev-tests: Likewise.
28889         * modules/unistr/u8-set-tests: Likewise.
28890         * modules/unistr/u8-stpcpy-tests: Likewise.
28891         * modules/unistr/u8-stpncpy-tests: Likewise.
28892         * modules/unistr/u8-strcat-tests: Likewise.
28893         * modules/unistr/u8-strcmp-tests: Likewise.
28894         * modules/unistr/u8-strcoll-tests: Likewise.
28895         * modules/unistr/u8-strcpy-tests: Likewise.
28896         * modules/unistr/u8-strdup-tests: Likewise.
28897         * modules/unistr/u8-strlen-tests: Likewise.
28898         * modules/unistr/u8-strmblen-tests: Likewise.
28899         * modules/unistr/u8-strmbtouc-tests: Likewise.
28900         * modules/unistr/u8-strncat-tests: Likewise.
28901         * modules/unistr/u8-strncmp-tests: Likewise.
28902         * modules/unistr/u8-strncpy-tests: Likewise.
28903         * modules/unistr/u8-strnlen-tests: Likewise.
28904         * modules/unistr/u8-to-u16-tests: Likewise.
28905         * modules/unistr/u8-to-u32-tests: Likewise.
28906         * modules/unistr/u8-uctomb-tests: Likewise.
28907         * modules/unistr/u16-check-tests: Likewise.
28908         * modules/unistr/u16-chr-tests: Likewise.
28909         * modules/unistr/u16-cmp-tests: Likewise.
28910         * modules/unistr/u16-cmp2-tests: Likewise.
28911         * modules/unistr/u16-cpy-alloc-tests: Likewise.
28912         * modules/unistr/u16-cpy-tests: Likewise.
28913         * modules/unistr/u16-mblen-tests: Likewise.
28914         * modules/unistr/u16-mbsnlen-tests: Likewise.
28915         * modules/unistr/u16-mbtouc-tests: Likewise.
28916         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
28917         * modules/unistr/u16-mbtoucr-tests: Likewise.
28918         * modules/unistr/u16-move-tests: Likewise.
28919         * modules/unistr/u16-next-tests: Likewise.
28920         * modules/unistr/u16-prev-tests: Likewise.
28921         * modules/unistr/u16-set-tests: Likewise.
28922         * modules/unistr/u16-stpcpy-tests: Likewise.
28923         * modules/unistr/u16-stpncpy-tests: Likewise.
28924         * modules/unistr/u16-strcat-tests: Likewise.
28925         * modules/unistr/u16-strcmp-tests: Likewise.
28926         * modules/unistr/u16-strcoll-tests: Likewise.
28927         * modules/unistr/u16-strcpy-tests: Likewise.
28928         * modules/unistr/u16-strdup-tests: Likewise.
28929         * modules/unistr/u16-strlen-tests: Likewise.
28930         * modules/unistr/u16-strmblen-tests: Likewise.
28931         * modules/unistr/u16-strmbtouc-tests: Likewise.
28932         * modules/unistr/u16-strncat-tests: Likewise.
28933         * modules/unistr/u16-strncmp-tests: Likewise.
28934         * modules/unistr/u16-strncpy-tests: Likewise.
28935         * modules/unistr/u16-strnlen-tests: Likewise.
28936         * modules/unistr/u16-to-u32-tests: Likewise.
28937         * modules/unistr/u16-to-u8-tests: Likewise.
28938         * modules/unistr/u16-uctomb-tests: Likewise.
28939         * modules/unistr/u32-check-tests: Likewise.
28940         * modules/unistr/u32-chr-tests: Likewise.
28941         * modules/unistr/u32-cmp-tests: Likewise.
28942         * modules/unistr/u32-cmp2-tests: Likewise.
28943         * modules/unistr/u32-cpy-alloc-tests: Likewise.
28944         * modules/unistr/u32-cpy-tests: Likewise.
28945         * modules/unistr/u32-mblen-tests: Likewise.
28946         * modules/unistr/u32-mbsnlen-tests: Likewise.
28947         * modules/unistr/u32-mbtouc-tests: Likewise.
28948         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
28949         * modules/unistr/u32-mbtoucr-tests: Likewise.
28950         * modules/unistr/u32-move-tests: Likewise.
28951         * modules/unistr/u32-next-tests: Likewise.
28952         * modules/unistr/u32-prev-tests: Likewise.
28953         * modules/unistr/u32-set-tests: Likewise.
28954         * modules/unistr/u32-stpcpy-tests: Likewise.
28955         * modules/unistr/u32-stpncpy-tests: Likewise.
28956         * modules/unistr/u32-strcat-tests: Likewise.
28957         * modules/unistr/u32-strcmp-tests: Likewise.
28958         * modules/unistr/u32-strcoll-tests: Likewise.
28959         * modules/unistr/u32-strcpy-tests: Likewise.
28960         * modules/unistr/u32-strdup-tests: Likewise.
28961         * modules/unistr/u32-strlen-tests: Likewise.
28962         * modules/unistr/u32-strmblen-tests: Likewise.
28963         * modules/unistr/u32-strmbtouc-tests: Likewise.
28964         * modules/unistr/u32-strncat-tests: Likewise.
28965         * modules/unistr/u32-strncmp-tests: Likewise.
28966         * modules/unistr/u32-strncpy-tests: Likewise.
28967         * modules/unistr/u32-strnlen-tests: Likewise.
28968         * modules/unistr/u32-to-u16-tests: Likewise.
28969         * modules/unistr/u32-to-u8-tests: Likewise.
28970         * modules/unistr/u32-uctomb-tests: Likewise.
28971         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
28972         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
28973         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
28974         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
28975         * modules/uniwidth/u8-strwidth-tests: Likewise.
28976         * modules/uniwidth/u8-width-tests: Likewise.
28977         * modules/uniwidth/u16-strwidth-tests: Likewise.
28978         * modules/uniwidth/u16-width-tests: Likewise.
28979         * modules/uniwidth/u32-strwidth-tests: Likewise.
28980         * modules/uniwidth/u32-width-tests: Likewise.
28981         * modules/uniwidth/width-tests: Likewise.
28982
28983 2010-05-18  Richard Jones  <rjones@redhat.com>
28984
28985         doc: users.txt: list hivex
28986         * users.txt: Add hivex.
28987
28988 2010-05-18  Richard Jones  <rjones@redhat.com>
28989
28990         doc: users.txt: list febootstrap
28991         * users.txt: Add febootstrap.
28992
28993 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
28994
28995         bootstrap: fix an error when gnulib is not used as a git submodule
28996         * build-aux/bootstrap (gnulib_path): If its length is zero then
28997         assign "gnulib" to it.
28998         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
28999
29000 2010-05-16  Bruno Haible  <bruno@clisp.org>
29001
29002         Avoid autoconf warnings about AM_ICONV.
29003         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29004         2.64.
29005
29006 2010-05-16  Bruno Haible  <bruno@clisp.org>
29007
29008         absolute-header: Make the macro usable in more situations.
29009         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29010         from gl_ABSOLUTE_HEADER.
29011         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29012
29013 2010-05-16  James Youngman  <jay@gnu.org>
29014
29015         doc: update users.txt
29016         * users.txt: Add CSSC.
29017
29018 2010-05-16  Jim Meyering  <meyering@redhat.com>
29019
29020         init.sh: fix an error in the previous change; add more comments
29021         * tests/init.sh: Compare exit code in loop against 9, not 2.
29022         Patch by Bruno Haible.
29023         Make the two tests more similar by adding an empty "then" clause.
29024         Add comments.
29025
29026         init.sh: avoid unnecessary shell re-exec
29027         * tests/init.sh: Improve the re-exec-required check to first test the
29028         current shell.  If it passes the test, do not search for a shell that
29029         does pass, and do not re-exec.  This test is particularly contorted to
29030         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29031         of $(...) evokes a syntax error and causes immediate shell exit with
29032         status 2.  Bruno Haible reported that the re-exec made it impossible
29033         to single-step through any init.sh-using script.
29034
29035 2010-05-16  Bruno Haible  <bruno@clisp.org>
29036
29037         Fix collision between gnulib's and libintl's printf replacements.
29038         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29039         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29040         (printf): When using GNU C, map the __printf__ function to rpl_printf
29041         via __asm__. When not using GNU C, define rpl_printf instead of
29042         __printf__.
29043         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29044         commit.
29045         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29046         commit.
29047         * m4/asm-underscore.m4: New file.
29048         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29049         * modules/stdio (Files): Add m4/asm-underscore.m4.
29050         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29051         Reported by Ben Pfaff.
29052
29053 2010-05-16  Bruno Haible  <bruno@clisp.org>
29054
29055         verify: Avoid skipping the test on openSUSE 11.0.
29056         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29057
29058 2010-05-13  Bruno Haible  <bruno@clisp.org>
29059
29060         Avoid useless warnings from G++.
29061         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29062         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29063         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29064
29065 2010-05-11  Jim Meyering  <meyering@redhat.com>
29066
29067         maint.mk: tweak preceding change
29068         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29069         regexps tighter by anchoring at EOL, and make the new group "shy"
29070         for slightly decreased overhead.
29071
29072 2010-05-11  Eric Blake  <eblake@redhat.com>
29073
29074         maint.mk: gnulib doesn't guarantee NSIG
29075         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29076
29077 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29078
29079         test-pwrite.c: Remove unused variable declaration.
29080         * tests/test-pwrite.c (main): Remove read_buf declaration.
29081
29082         Remove useless test-pwrite.sh file.
29083         * tests/test-pwrite.sh: Delete file.
29084         * modules/pwrite-tests: Remove references.
29085         Reported by Bruno Haible.
29086
29087 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29088
29089         init.sh: fix a typo
29090         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29091
29092 2010-05-10  Jim Meyering  <meyering@redhat.com>
29093
29094         maint.mk: avoid using a temporary file in the always-defined-macros check
29095         * top/maint.mk (.re-defmac): Remove rule.
29096         (gl_trap_): Remove definition.
29097         (sc_prohibit_always-defined_macros): Rewrite not to create and
29098         depend on a temporary file.  Instead, depend on GNU grep's ability
29099         to read a list of regular expressions from stdin when given "-f -".
29100
29101 2010-05-09  Bruno Haible  <bruno@clisp.org>
29102
29103         Update to GNU gettext 0.18, part 1.
29104         * m4/gettext.m4: Update to GNU gettext 0.18.
29105         * m4/intl.m4: Likewise.
29106         * m4/po.m4: Likewise.
29107         * modules/gettext (Files): Add m4/fcntl-o.m4.
29108         (configure.ac): Require gettext infrastructure from version 0.18.
29109
29110 2010-05-09  Jim Meyering  <meyering@redhat.com>
29111
29112         init.sh: enable MALLOC_PERTURB_
29113         * tests/init.sh: Enable glibc's malloc-perturbing option.
29114
29115         maint.mk: improve sc_cross_check_PATH_usage_in_tests
29116         With my recent change in init.sh from the two-line form:
29117             -#   : ${srcdir=.}
29118             -#   . "$srcdir/init.sh"; path_prepend_ .
29119             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
29120         I noticed that using the one-line form would cause this test
29121         to fail with a false-positive, or to stop working altogether,
29122         depending on whether help-version changed or all the tests did.
29123         * top/maint.mk (_hv_regex): Remove this definition.
29124         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
29125         (_hv_regex_strong): Use a stronger regex to check for conformance.
29126         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
29127         Give a separate diagnostic for lack of conforming use.
29128
29129         maint.mk: prohibit definition of symbols defined by gnulib
29130         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
29131         definition of symbols defined by gnulib.
29132
29133 2010-05-09  Bruno Haible  <bruno@clisp.org>
29134
29135         acl: Avoid test failure on Cygwin-hosted mingw.
29136         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
29137
29138 2010-05-09  Bruno Haible  <bruno@clisp.org>
29139
29140         error: Use system's fcntl function.
29141         * lib/error.c (fcntl): Undefine.
29142
29143 2010-05-09  Jim Meyering  <meyering@redhat.com>
29144
29145         verify: adjust formatting to be more consistent
29146         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
29147         argument-list '('s, and after one comma.
29148
29149 2010-05-09  Bruno Haible  <bruno@clisp.org>
29150
29151         error: More reliable output on mingw.
29152         * lib/error.c: Include <windows.h>.
29153         (is_open): New function.
29154         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
29155         defined.
29156
29157 2010-05-09  Bruno Haible  <bruno@clisp.org>
29158
29159         vasnprintf: Fix syntax errors in libintl build on mingw.
29160         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
29161         pad_ourselves and prec_ourselves after use.
29162
29163 2010-05-08  Bruno Haible  <bruno@clisp.org>
29164
29165         * lib/config.charset: Update comments for Cygwin 1.7.
29166         * lib/localcharset.c: Likewise.
29167
29168 2010-05-07  Jim Meyering  <meyering@redhat.com>
29169
29170         init.sh: improve comments
29171         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
29172         . "${srcdir=.}/init.sh"; path_prepend_ .
29173         Add a note about path_prepend_ and the alternative of using
29174         TESTS_ENVIRONMENT.
29175
29176 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29177
29178         exclude: Unescape hashed patterns in wildcard mode.
29179         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
29180         to the hash list.
29181         * tests/test-exclude8.sh: New test case.
29182         * modules/exclude-tests: Add new test.
29183
29184 2010-05-05  Eric Blake  <eblake@redhat.com>
29185
29186         verify: automate tests
29187         * modules/verify-tests: New module.
29188         * tests/test-verify.sh: New file.
29189         * tests/test-verify.c: Guard each negative test with a unique id.
29190         Also avoid warning about unused left hand of comma expressions.
29191
29192 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
29193
29194         Further improvements to verify.h, suggested by Eric Blake.
29195         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
29196         the GL_* versions, to avoid collision with OpenGL.
29197         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
29198         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
29199         than testing merely whether it's defined.
29200
29201         Modify verify.h to pacify gcc -Wredundant_decls.
29202         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
29203         These use the prefix "GL_" since they're likely to be useful elsewhere.
29204         We may need to break them out into a different .h file.
29205         (__COUNTER__): Define to 0 if the compiler doesn't support it.
29206         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
29207         of verify_function__.
29208
29209 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29210
29211         Tests for module pwrite.
29212         * modules/pwrite-tests: New file.
29213         * tests/test-pwrite.sh: New file.
29214         * tests/test-pwrite.c: New file.
29215
29216         New module pwrite.
29217         * lib/unistd.in.h (pwrite): New declaration.
29218         * lib/pwrite.c: New file, from glibc with modifications.
29219         * m4/pwrite.m4: New file.
29220         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
29221         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
29222         REPLACE_PWRITE.
29223         * modules/pwrite: New file.
29224         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
29225         REPLACE_PWRITE.
29226         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
29227         * doc/posix-functions/pwrite.texi: Mention the new module.
29228
29229 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29230
29231         pread: Update documentation.
29232         * doc/posix-functions/pread.texi: Mention the 'pread' module.
29233
29234 2010-05-04  Eric Blake  <eblake@redhat.com>
29235
29236         docs: update cygwin progress
29237         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
29238         this bug.
29239         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
29240         Added in cygwin 1.7.2.
29241         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
29242         Likewise.
29243         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
29244         Likewise.
29245         * doc/glibc-functions/dup3.texi (dup3): Likewise.
29246         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
29247         * doc/glibc-functions/accept4.texi (accept4): Likewise.
29248         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
29249         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
29250         Mention nproc module.
29251         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
29252         bug in cygwin 1.7.5 addition.
29253         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
29254         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
29255         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
29256         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
29257         1.7.5.
29258         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
29259         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
29260         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
29261         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
29262         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
29263         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
29264         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
29265         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
29266         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
29267         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
29268         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
29269         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
29270         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
29271         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
29272         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
29273         Likewise.
29274         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
29275         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
29276         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
29277         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
29278         Likewise.
29279         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
29280         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
29281         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
29282         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
29283         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
29284         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
29285         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
29286         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
29287         Likewise.
29288         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
29289         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
29290         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
29291         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
29292         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
29293         Likewise.
29294         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
29295         Likewise.
29296         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
29297         Likewise.
29298         * doc/glibc-functions/xdrrec_endofrecord.texi
29299         (xdrrec_endofrecord): Likewise.
29300         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
29301         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
29302         Likewise.
29303         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
29304         Likewise.
29305
29306 2010-05-04  Jim Meyering  <meyering@redhat.com>
29307
29308         gendocs.sh: make its "-s FILE" option more useful
29309         * build-aux/gendocs.sh: When honoring the -s FILE option, update
29310         $PACKAGE to reflect the probably-different basename of "FILE".
29311
29312 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29313
29314         bootstrap: don't ignore download_po_files failure
29315         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
29316         failure.
29317
29318 2010-05-03  Jim Meyering  <meyering@redhat.com>
29319
29320         maint.mk: allow to pass options to gendocs.sh
29321         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
29322         (gendocs_options_): New overridable variable.
29323
29324         gnu-web-doc-update: don't ignore configure or build failure
29325         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
29326
29327         announce-gen: backslash-escape '@'s in --help output
29328         * build-aux/announce-gen: Fix syntax errors.
29329
29330         maint.mk, announce-gen: allow project-specific announcement mail headers
29331         * top/maint.mk (translation_project_): Define default.
29332         (announcement_Cc_, announcement_mail_headers_): Likewise.
29333         (announcement): Invoke announce-gen with new --mail-headers option.
29334         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
29335
29336         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
29337         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
29338         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
29339         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
29340         line in the "err2" output file when running "make check" in verbose
29341         mode (i.e., with set -x enabled).
29342
29343 2010-05-03  Bruno Haible  <bruno@clisp.org>
29344
29345         wctob: Fix for weird platforms.
29346         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
29347         argument value.
29348
29349 2010-05-03  Jim Meyering  <meyering@redhat.com>
29350
29351         maint.mk: prohibit unwarranted use of <strings.h>
29352         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
29353         strings.h in a file that does not also use strcasecmp, strncasecmp,
29354         ffs or ffsll.
29355
29356         maint.mk: remove obsolete comments
29357         * top/maint.mk: Remove stale, commented-out rules.
29358
29359 2010-05-02  Bruno Haible  <bruno@clisp.org>
29360
29361         wcwidth: Declare also when it's aliased.
29362         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
29363         macro.
29364
29365 2010-05-02  Bruno Haible  <bruno@clisp.org>
29366
29367         Fix regression from 2010-04-25.
29368         * gnulib-tool (func_modules_transitive_closure): Check the status of
29369         all modules, not only of the tests that are of the form foo-tests where
29370         foo is a module.
29371
29372 2010-05-02  Bruno Haible  <bruno@clisp.org>
29373
29374         wctob: Work around nasty Cygwin 1.7.2 bug.
29375         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
29376         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
29377
29378 2010-05-01  Bruno Haible  <bruno@clisp.org>
29379
29380         fpurge: Sharper test.
29381         * tests/test-fpurge.c (main): Add one more ftell check.
29382         * modules/fpurge-tests (Depends-on): Add ftell.
29383         Suggested by Eric Blake.
29384
29385 2010-05-01  Bruno Haible  <bruno@clisp.org>
29386
29387         ftello: Another test.
29388         * tests/test-ftello3.c: New file.
29389         * modules/ftello-tests (Files): Add it.
29390         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29391         MOSTLYCLEANFILES.
29392
29393         ftell: Another test.
29394         * tests/test-ftell3.c: New file.
29395         * modules/ftell-tests (Files): Add it.
29396         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29397         MOSTLYCLEANFILES.
29398
29399 2010-05-01  Bruno Haible  <bruno@clisp.org>
29400
29401         ftell, ftello: Work around Solaris bug.
29402         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
29403         * lib/ftello.c: Include stdio-impl.h.
29404         (ftello): On Solaris, when _IOWRT is set, compute the result without
29405         looking at _IOREAD.
29406         * modules/ftello (Files): Add lib/stdio-impl.h.
29407         * doc/posix-functions/ftell.texi: Mention Solaris bug.
29408         * doc/posix-functions/ftello.texi: Likewise.
29409         Reported by Eric Blake.
29410
29411 2010-05-01  Bruno Haible  <bruno@clisp.org>
29412
29413         freading: Adapt to special meaning of _IOREAD flag on Solaris.
29414         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
29415         the _IOWRT flag is also set.
29416
29417 2010-05-01  Bruno Haible  <bruno@clisp.org>
29418
29419         Fix doc about a HP-UX stdio bug.
29420         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
29421         * doc/posix-functions/ftello.texi: Likewise.
29422
29423 2010-05-01  Bruno Haible  <bruno@clisp.org>
29424
29425         lseek test: Fix failure on Solaris.
29426         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
29427         output.
29428
29429 2010-04-30  Jim Meyering  <meyering@redhat.com>
29430
29431         bootstrap: don't ignore failure to generate po*/Makevars
29432         * build-aux/bootstrap (with_gettext): Don't ignore failure
29433         to create po/Makevars or runtime-po/Makevars.
29434
29435 2010-04-29  Eric Blake  <eblake@redhat.com>
29436
29437         headers: relax license to LGPLv2+
29438         * modules/fcntl-h (License): Relax license.
29439         * modules/getopt-posix (License): Likewise.
29440         * modules/locale (License): Likewise.
29441         * modules/math (License): Likewise.
29442         * modules/pty (License): Likewise.
29443         * modules/sched (License): Likewise.
29444         * modules/search (License): Likewise.
29445         * modules/spawn (License): Likewise.
29446         * modules/stdarg (License): Likewise.
29447         * modules/sysexits (License): Likewise.
29448
29449 2010-04-29  Jim Meyering  <meyering@redhat.com>
29450
29451         inttypes: relax license to LGPLv2+
29452         * modules/inttypes (License): Relax license.
29453
29454 2010-04-29  Simon Josefsson  <simon@josefsson.org>
29455
29456         * top/maint.mk (indent): Run twice to produce idempotent results.
29457
29458 2010-04-28  Bruno Haible  <bruno@clisp.org>
29459
29460         getdate: Generate getdate.c in the source directory.
29461         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
29462         MOSTLYCLEANFILES.
29463         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
29464
29465 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
29466
29467         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
29468         is not declared as a const *; avoid warnings in that case.
29469
29470 2010-04-28  Eric Blake  <eblake@redhat.com>
29471
29472         canonicalize-lgpl: avoid compiler warning
29473         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
29474         declaration' / 'extraneous semicolon' warning with some compilers.
29475         Reported by Andreas Gruenbacher.
29476
29477 2010-04-28  Jim Meyering  <meyering@redhat.com>
29478
29479         init.sh: ensure a more reliable exit status when exiting via trap
29480         * tests/init.sh (setup_): Don't rely on $? in signal handler.
29481         Inspired by patches from Dmitry V. Levin.
29482         Also trap on signal 3 (SIGQUIT).
29483
29484 2010-04-27  Bruno Haible  <bruno@clisp.org>
29485
29486         Update doc about utimes().
29487         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
29488         'utimens' module.
29489         Reported by Andreas Gruenbacher <agruen@suse.de>.
29490
29491 2010-04-27  Eric Blake  <eblake@redhat.com>
29492
29493         full-read, full-write: relax license
29494         * modules/full-read (License): Drop to LGPLv2+.
29495         * modules/full-write (License): Likewise.
29496         * modules/safe-read (License): Likewise.
29497         * modules/safe-write (License): Likewise.
29498
29499         pthread: mention library for linking
29500         * modules/pthread (Link): Mention $(LIB_PTHREAD).
29501
29502 2010-04-27  Jim Meyering  <meyering@redhat.com>
29503
29504         maint.mk: fix a bug introduced in last change
29505         * top/maint.mk (gl_assured_headers_): Now that all names are on
29506         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
29507         is not anchored to end of word, it should be adequate.
29508
29509         maint.mk: avoid side-effect in latest syntax-check
29510         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
29511         to run commands via $(shell...), and hence to incur cost only when
29512         the new rule is actually run.
29513
29514         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
29515         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
29516         and use that to create a regexp used to detect all #if HAVE_..._H uses.
29517         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
29518         (gl_assured_headers_, az_, AZ_): Define.
29519         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
29520
29521 2010-04-26  Jim Meyering  <jim@meyering.net>
29522             Bruno Haible  <bruno@clisp.org>
29523
29524         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
29525         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
29526         Prompted by an exchange with Gilles Espinasse.
29527
29528 2010-04-26  Jim Meyering  <meyering@redhat.com>
29529
29530         git-version-gen: aesthetic tweak
29531         * build-aux/git-version-gen: Use "$nl" rather than a literal,
29532         so that the command remains on a single line.
29533
29534 2010-04-26  Eric Blake  <eblake@redhat.com>
29535
29536         git-version-gen: allow use on EBCDIC hosts
29537         * build-aux/git-version-gen (dirty): Use literal rather than tying
29538         ourselves to ascii.
29539         Reported by Steve Goetze.
29540
29541 2010-04-25  Bruno Haible  <bruno@clisp.org>
29542
29543         netdb: Add support for GNULIB_POSIXCHECK.
29544         * lib/netdb.in.h: Include warn-on-use.h.
29545         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
29546         functions are used when GNULIB_POSIXCHECK is defined and the
29547         getaddrinfo module is not in use.
29548         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
29549         freeaddrinfo, gai_strerror, getnameinfo are declared.
29550         * modules/netdb (Depends-on): Add warn-on-use.
29551         (Makefile.am): Include warn-on-use.h in netdb.h.
29552
29553 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
29554
29555         build: avoid "make check" failure without .git/ directory
29556         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
29557         there is no .git/ directory.
29558
29559 2010-04-25  Bruno Haible  <bruno@clisp.org>
29560
29561         ptsname: Fix misuse of ttyname_r.
29562         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
29563         of errno.
29564
29565 2010-04-25  Bruno Haible  <bruno@clisp.org>
29566
29567         ttyname_r: Make it work on Solaris 10.
29568         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
29569         if the system function has the POSIX declaration. Test whether the
29570         function fails if the buffer is less than 128 bytes large.
29571         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
29572         system's ttyname_r function. Provide a reasonably large buffer.
29573         * modules/ttyname_r (Depends-on): Add extensions.
29574         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
29575
29576 2010-04-25  Bruno Haible  <bruno@clisp.org>
29577
29578         Use the 'extensions' module for some more functions on Solaris.
29579         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
29580         module.
29581         * doc/posix-functions/ctime_r.texi: Likewise.
29582         * doc/posix-functions/getgrgid_r.texi: Likewise.
29583         * doc/posix-functions/getgrnam_r.texi: Likewise.
29584         * doc/posix-functions/getpwnam_r.texi: Likewise.
29585         * doc/posix-functions/getpwuid_r.texi: Likewise.
29586         * doc/posix-functions/readdir_r.texi: Likewise.
29587         * doc/posix-functions/sigwait.texi: Likewise.
29588         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
29589         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
29590
29591 2010-04-25  Bruno Haible  <bruno@clisp.org>
29592
29593         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
29594         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
29595         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
29596         * lib/ttyname_r.c: Include <limits.h>.
29597         (ttyname_r): Define using the system's ttyname_r function, if it exists
29598         and not on Solaris.
29599         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
29600         set.
29601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
29602         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
29603         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
29604         Reported by Simon Josefsson.
29605
29606 2010-04-25  Bruno Haible  <bruno@clisp.org>
29607
29608         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
29609         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
29610         * doc/posix-functions/ctime_r.texi: Likewise.
29611         * doc/posix-functions/getgrgid_r.texi: Likewise.
29612         * doc/posix-functions/getgrnam_r.texi: Likewise.
29613         * doc/posix-functions/getlogin_r.texi: Likewise.
29614         * doc/posix-functions/getpwnam_r.texi: Likewise.
29615         * doc/posix-functions/getpwuid_r.texi: Likewise.
29616         * doc/posix-functions/readdir_r.texi: Likewise.
29617         * doc/posix-functions/sigwait.texi: Likewise.
29618         * doc/posix-functions/ttyname_r.texi: Likewise.
29619         Reported by Simon Josefsson.
29620
29621 2010-04-25  Bruno Haible  <bruno@clisp.org>
29622
29623         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
29624         * gnulib-tool (func_usage): Document that --with-*-tests options apply
29625         also to --create-testdir.
29626         (func_acceptable): Don't consider the status of *-tests modules here.
29627         (func_modules_transitive_closure): Consider it here, before including a
29628         test module.
29629         (func_import, func_create_testdir): Set inc_all_direct_tests,
29630         inc_all_indirect_tests.
29631         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
29632         --create-testdir and --create-megatestdir.
29633
29634 2010-04-25  Bruno Haible  <bruno@clisp.org>
29635
29636         gnulib-tool: Add --without-*-tests options.
29637         * gnulib-tool (func_usage): Document the --without-*-tests options.
29638         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
29639         excl_unportable_tests): New variables.
29640         Fail if they are specified with --import or --update.
29641         (func_acceptable): Respect the excl_*_tests variables.
29642         (func_import): Set the excl_*_tests variables to empty.
29643
29644 2010-04-25  Simon Josefsson  <simon@josefsson.org>
29645             Bruno Haible  <bruno@clisp.org>
29646
29647         Work around a MacOS X 10.4 bug with openpty.
29648         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
29649         * tests/test-openpty.c (main): Close the master side explicitly.
29650
29651 2010-04-25  Bruno Haible  <bruno@clisp.org>
29652
29653         strnlen: Fix a C++ test error on MacOS X and Solaris.
29654         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
29655         the function is not declared.
29656         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
29657         Simon Josefsson.
29658
29659 2010-04-24  Bruno Haible  <bruno@clisp.org>
29660
29661         Avoid a gcc warning.
29662         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
29663         of correct type for %08lx directive.
29664         Reported by Eric Blake.
29665
29666 2010-04-24  Bruno Haible  <bruno@clisp.org>
29667
29668         vasnprintf: Correct errno value in case of out-of-memory.
29669         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
29670         or sprintf. Use the errno value from SNPRINTF or sprintf.
29671         Reported by Ian Beckwith <ianb@erislabs.net>.
29672
29673 2010-04-24  Bruno Haible  <bruno@clisp.org>
29674
29675         ansi-c++-opt: Find correct compiler when cross-compiling.
29676         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
29677         AC_CHECK_PROGS.
29678         Reported by Simon Josefsson.
29679
29680 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
29681
29682         vc-list-files: Add support for subversion
29683         * build-aux/vc-list-files: Use "svn list" to generate the list of
29684         files controlled by subversion.
29685
29686 2010-04-23  Jim Meyering  <meyering@redhat.com>
29687
29688         vc-list-files tests: convert to use init.sh
29689         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
29690         path_prepend_.
29691         Use Exit, not exit.
29692         Use skip_ rather than open coding it.
29693         Remove trap set-up and compare definitions.
29694         * tests/test-vc-list-files-git.sh: Likewise.
29695         * modules/vc-list-files-tests (Files): Add tests/init.sh.
29696
29697 2010-04-22  Simon Josefsson  <simon@josefsson.org>
29698
29699         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
29700         backup files.
29701
29702 2010-04-21  Simon Josefsson  <simon@josefsson.org>
29703
29704         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
29705
29706 2010-04-20  Eric Blake  <eblake@redhat.com>
29707
29708         tests: be robust to ignored SIGPIPE
29709         * tests/test-select-in.sh: Consume all output.
29710         * tests/test-lseek.sh: Check correct exit status, while avoiding
29711         EPIPE.
29712
29713 2010-04-20  Simon Josefsson  <simon@josefsson.org>
29714             Bruno Haible  <bruno@clisp.org>
29715
29716         visibility: Don't use -fvisibility if it leads to a warning.
29717         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
29718         yes, don't pretend that visibility works if it leads to a warning.
29719         Reported by Mike Gran <spk121@yahoo.com>.
29720
29721 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
29722
29723         * build-aux/bootstrap: Use "git -h" for testing for supported options
29724         instead of "git --help".  The short-form option only shows a summary,
29725         and doesn't layout the full man page.  Grep for the full option name
29726         in the summary, too.
29727
29728 2010-04-19  Bruno Haible  <bruno@clisp.org>
29729
29730         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
29731         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
29732         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
29733         mention of RELOCATABLE_STRIP.
29734         Reported by Sylvain Beucler <beuc@beuc.net>.
29735
29736 2010-04-19  Bruno Haible  <bruno@clisp.org>
29737
29738         * lib/diffseq.h: Fix typo in comment.
29739         Reported by Eric Blake.
29740
29741 2010-04-19  Bruno Haible  <bruno@clisp.org>
29742
29743         ioctl: Move autoconf macro to a .m4 file.
29744         * m4/ioctl.m4: New file, extracted from modules/ioctl.
29745         * modules/ioctl (Files): Add it.
29746         (configure.ac): Simply invoke gl_FUNC_IOCTL.
29747         Reported by Ian Beckwith <ianb@erislabs.net>.
29748
29749 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
29750             Bruno Haible  <bruno@clisp.org>
29751
29752         diffseq: Accommodate use-case with abstract arrays.
29753         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
29754         is not defined.
29755         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
29756         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
29757
29758 2010-04-18  Bruno Haible  <bruno@clisp.org>
29759
29760         * doc/posix-headers/stdbool.texi: More precise wording.
29761
29762 2010-04-17  Jim Meyering  <meyering@redhat.com>
29763
29764         maint.mk: use gnu-style indentation in an embedded perl script
29765         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
29766         Rename variable: s/two/last_two_bytes/
29767
29768 2010-04-16  Eric Blake  <eblake@redhat.com>
29769
29770         test-stdbool: skip test that fails with Solaris CC
29771         * tests/test-stdbool.c (f): Skip test that causes compilation
29772         error under buggy C++ compiler.
29773         * lib/stdbool.in.h: Document the limitation.
29774         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
29775
29776         setenv: allow compilation with C++
29777         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
29778         register keyword.
29779
29780         stdint: allow test to pass with C++
29781         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
29782
29783         getopt: allow compilation with C++
29784         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
29785         struct.
29786         * lib/getopt.c (_getopt_internal_r): Use correct type.
29787         Reported by Dagobert Michelson, via Joel E. Denny.
29788
29789 2010-04-16  Bruno Haible  <bruno@clisp.org>
29790
29791         Override netdb.h always.
29792         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
29793         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
29794         Reported by Ludovic Courtès <ludo@gnu.org>.
29795
29796 2010-04-15  Bruno Haible  <bruno@clisp.org>
29797
29798         openpty: Fix mistake from 2010-03-21.
29799         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
29800         Reported by Simon Josefsson.
29801
29802 2010-04-15  Eric Blake  <eblake@redhat.com>
29803
29804         test-forkpty: fix expected signature
29805         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
29806         Reported by Simon Josefsson.
29807
29808 2010-04-15  Jim Meyering  <meyering@redhat.com>
29809
29810         maint.mk: texinfo_suffix_re_: correct the default regexp
29811         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
29812
29813         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
29814         make it configurable via texinfo_suffix_re_.
29815
29816 2010-04-14  Eric Blake  <eblake@redhat.com>
29817
29818         strtok_r: relax license to LGPLv2+
29819         * modules/strtok_r (License): Relax license.
29820         Reported by Matthias Bolte.
29821
29822 2010-04-14  Simon Josefsson  <simon@josefsson.org>
29823
29824         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
29825         version 1.4.4 by default instead of requiring the libgcrypt
29826         version used during build.  This makes it possible to use the
29827         application with older but still binary compatible libgcrypt
29828         versions.
29829
29830 2010-04-13  Eric Blake  <eblake@redhat.com>
29831
29832         getopt-gnu: match recent glibc fixes and posix ruling
29833         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
29834         '+' handling, when requesting extensions.
29835         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
29836         'W;' handling.
29837         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
29838         * doc/posix-functions/getopt.texi (getopt): Document this.
29839         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29840         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29841         Likewise.
29842
29843         getopt: merge bug fixes from glibc
29844         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
29845         diagnostics.  Honor '+:' correctly.  Reject ';'.
29846
29847         getopt-posix: detect MacOS bug
29848         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
29849         optind when missing a required argument.
29850         * doc/posix-functions/getopt.texi (getopt): Document the bug.
29851         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29852         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29853         Likewise.
29854
29855         getopt-posix: avoid spurious failure on Solaris
29856         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
29857         an indicator that setting optind=1 is sufficient for reset.
29858
29859         getopt-posix: avoid spurious failure on FreeBSD
29860         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
29861         in POSIX mode, since the m4 test uses it.
29862
29863         gnulib-tool: silence warning on BSD sh
29864         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
29865
29866 2010-04-13  Jim Meyering  <meyering@redhat.com>
29867
29868         doc: users.txt: GNU patch now uses gnulib
29869         * users.txt: Add patch.
29870
29871 2010-04-12  Jim Meyering  <meyering@redhat.com>
29872
29873         maint.mk: generate more concise timing data for syntax-check rules
29874         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
29875         " done" from each line that reports a syntax-check test duration.
29876
29877 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
29878
29879         git-version-gen: use "git update-index..." rather than "git status"
29880         * build-aux/git-version-gen: Use git update-index --refresh, not
29881         "git status".  With some versions of git, "git status" would fail
29882         to update the index and result in an unwarranted "-dirty" suffix.
29883
29884 2010-04-11  Jim Meyering  <meyering@redhat.com>
29885
29886         openat: correct formatting (no semantic change)
29887         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
29888         Suggested by Bruno Haible.
29889
29890 2010-04-11  Bruno Haible  <bruno@clisp.org>
29891
29892         Stricter declaration checking in testdirs.
29893         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29894         If for_tests is true, augment AM_CPPFLAGS to define
29895         GNULIB_STRICT_CHECKING.
29896         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
29897         GNULIB_STRICT_CHECKING is defined, verify that the function is
29898         declared.
29899
29900 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
29901             Bruno Haible  <bruno@clisp.org>
29902
29903         libunistring: Improve configure output.
29904         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
29905         Don't say "consider installing GNU libunistring" when checking again
29906         with libiconv.
29907
29908 2010-04-11  Bruno Haible  <bruno@clisp.org>
29909
29910         libunistring: Correct value of $LTLIBUNISTRING.
29911         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
29912         correct the value of $LTLIBUNISTRING.
29913
29914 2010-04-11  Bruno Haible  <bruno@clisp.org>
29915
29916         havelib: Add static libraries to LIBS in the right order.
29917         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
29918         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
29919
29920 2010-04-11  Bruno Haible  <bruno@clisp.org>
29921
29922         libunistring: Detect libunistring also when it depends on libiconv.
29923         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
29924         the second AC_LIB_HAVE_LINKFLAGS invocation.
29925
29926 2010-04-11  James Youngman  <jay@gnu.org>
29927
29928         close-stream: declare local scalars to be "const"
29929         * lib/close-stream.c (close_stream): Make boolean variables const
29930         to document the fact that we set but do not change them.
29931
29932 2010-04-11  Bruno Haible  <bruno@clisp.org>
29933
29934         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
29935
29936 2010-04-11  Jim Meyering  <meyering@redhat.com>
29937
29938         maint.mk: don't include dist-check.mk
29939         * top/maint.mk: Remove bogus include directive.
29940
29941         maint.mk: improve empty-line-at-EOF check
29942         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
29943         solution, rather than tail+Perl-based one.  The latter would read
29944         a few kilobytes from the end of each file, and did not handle empty
29945         files properly.
29946
29947         maint.mk: print the elapsed time for each syntax-check rule
29948         * top/maint.mk (sc_m_rules_): Save start time in a file.
29949         (sc_z_rules_): New rules: remove temp file and print elapsed time.
29950         (local-check): Interpose the .z rules
29951
29952 2010-04-11  Jim Meyering  <meyering@redhat.com>
29953
29954         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
29955         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
29956         empty file with one that ends in an empty line.
29957
29958 2010-04-10  Bruno Haible  <bruno@clisp.org>
29959
29960         mkdir: Make it work on mingw64.
29961         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
29962         * lib/mkdir.c: Update comment.
29963         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
29964
29965 2010-04-10  Bruno Haible  <bruno@clisp.org>
29966
29967         Don't override improved macro from newer autoconf.
29968         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
29969         autoconf >= 2.62.
29970         Reported by Joel E. Denny <jdenny@clemson.edu>.
29971
29972 2010-04-10  Jim Meyering  <meyering@redhat.com>
29973
29974         maint.mk: new syntax-check rule: prohibit empty lines at end of file
29975         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
29976
29977         maint.mk: correct a diagnostic
29978         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
29979         in diagnostic; now use $prohibit.
29980
29981 2010-04-10  Bruno Haible  <address@hidden>
29982
29983         fchownat: Fix a C++ test error on Solaris 8.
29984         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
29985         the function does not exist.
29986
29987 2010-04-10  Bruno Haible  <bruno@clisp.org>
29988
29989         vasnprintf: Add more tests.
29990         * tests/test-vasnprintf-posix.c: Include <errno.h>.
29991         (test_function): Test converting an invalid wide string.
29992
29993         vasnprintf: Correct handling of unconvertible wide string arguments.
29994         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
29995         VASNPRINTF.
29996         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
29997         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
29998         smaller than the expected maximum need for the directive. Set errno to
29999         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30000         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30001         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30002         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30003         * modules/vasnprintf (Files): Add m4/printf.m4.
30004         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30005
30006 2010-04-10  Bruno Haible  <bruno@clisp.org>
30007
30008         vasnprintf: Fix crash in %ls directive.
30009         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30010         string is passed as argument to %ls, with no precision and no width.
30011         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30012
30013 2010-04-10  Bruno Haible  <bruno@clisp.org>
30014
30015         vasnprintf: Fix multiple test failures on mingw.
30016         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30017         _snprintf, or snwprintf, not _snwprintf.
30018
30019 2010-04-10  Bruno Haible  <bruno@clisp.org>
30020
30021         write: Fix a C++ test error on mingw.
30022         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30023
30024 2010-04-10  Bruno Haible  <bruno@clisp.org>
30025
30026         vasnprintf test: Reduce code duplication.
30027         * tests/test-vasnprintf.c (test_function): New function, extracted from
30028         test_vasnprintf.
30029         (test_vasnprintf, test_asnprintf): Invoke it.
30030
30031 2010-04-10  Bruno Haible  <bruno@clisp.org>
30032
30033         strnlen: Fix warning in C++ mode on MacOS X.
30034         * lib/string.in.h (strnlen): Use the modern idiom.
30035         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30036         defining strnlen as a macro already in <config.h>.
30037         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30038         REPLACE_STRNLEN.
30039         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30040         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30041
30042 2010-04-08  James Youngman  <jay@gnu.org>
30043
30044         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30045         the example.
30046
30047 2010-04-09  Jim Meyering  <meyering@redhat.com>
30048
30049         maint.mk: print better diagnostic when there is no $(_hv_file)
30050         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30051         announce that when $(_hv_file) (aka help-version) does not exist.
30052
30053         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30054         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30055         not try to interpret its random input bytes.  Jarno Rajahalme reported
30056         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30057         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30058         (mktempd_): Likewise, just in case.
30059
30060         ftruncate: add two years to projected module removal date: 2012
30061         * m4/ftruncate.m4: Adjust comments.
30062
30063         ftruncate: mark module as obsolete; even MinGW provides it, now
30064         * modules/ftruncate (Status): Obsolete.
30065         (Notice): Say that.
30066         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30067         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30068
30069 2010-04-08  Bruno Haible  <bruno@clisp.org>
30070
30071         Fix side effects from tests-related modules.
30072         * modules/dprintf-posix (Comment): New section.
30073         * modules/fprintf-posix (Comment): Likewise.
30074         * modules/obstack-printf-posix (Comment): Likewise.
30075         * modules/printf-posix (Comment): Likewise.
30076         * modules/snprintf-posix (Comment): Likewise.
30077         * modules/sprintf-posix (Comment): Likewise.
30078         * modules/vasnprintf-posix (Comment): Likewise.
30079         * modules/vasprintf-posix (Comment): Likewise.
30080         * modules/vdprintf-posix (Comment): Likewise.
30081         * modules/vfprintf-posix (Comment): Likewise.
30082         * modules/vprintf-posix (Comment): Likewise.
30083         * modules/vsnprintf-posix (Comment): Likewise.
30084         * modules/vsprintf-posix (Comment): Likewise.
30085         * modules/xprintf-posix (Comment): Likewise.
30086         * modules/xvasprintf-posix (Comment): Likewise.
30087         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30088         * modules/floorf-tests (Depends-on): Likewise.
30089         * modules/round-tests (Depends-on): Likewise.
30090         * modules/roundf-tests (Depends-on): Likewise.
30091         * modules/trunc-tests (Depends-on): Likewise.
30092         * modules/truncf-tests (Depends-on): Likewise.
30093         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
30094         'fprintf-posix' module is not present.
30095         * tests/test-floorf2.c (check): Likewise.
30096         * tests/test-trunc2.c (check): Likewise.
30097         * tests/test-truncf2.c (check): Likewise.
30098         * tests/test-round2.c (equal): Likewise.
30099         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30100
30101 2010-04-07  Karl Berry  <karl@gnu.org>
30102
30103         * config/srclist.txt,
30104         * config/srclistvars.sh,
30105         * config/srclist-update: doc fixes.
30106
30107 2010-04-07  Jim Meyering  <meyering@redhat.com>
30108
30109         maint.mk: add a PATH crosschecking syntax-check rule
30110         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
30111         Useful if you use a test like the one in help-version (coreutils,
30112         diffutils, grep, gzip) that ensures $(VERSION) matches what is
30113         printed by prog --version.
30114
30115 2010-04-06  Bruno Haible  <bruno@clisp.org>
30116
30117         Fix link error on mingw.
30118         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
30119         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
30120
30121 2010-04-06  Bruno Haible  <bruno@clisp.org>
30122
30123         Assume rmdir exists.
30124         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
30125
30126 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
30127
30128         doc: update users.txt
30129         * users.txt: Add gcal.
30130
30131 2010-04-06  Jim Meyering  <meyering@redhat.com>
30132
30133         init.sh: simply unset TMPDIR rather than risking env -i
30134         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
30135         although it probably works fine on all Unix-based systems, some
30136         systems (Cygwin?) cannot tolerate a totally cleared environment.
30137         Suggestion from Eric Blake.
30138
30139 2010-04-06  Jim Meyering  <meyering@redhat.com>
30140
30141         init.sh: portability fix: use env's POSIX-specified -i option not -u
30142         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
30143         than unportable env -u.  Solaris 5.11's env lacks support for -u.
30144
30145 2010-04-05  Bruno Haible  <bruno@clisp.org>
30146
30147         btowc: Work around Cygwin 1.7.2 bug.
30148         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
30149         does not map NUL to 0.
30150         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
30151
30152 2010-04-05  Bruno Haible  <bruno@clisp.org>
30153
30154         Make the multithread modules work on Cygwin 1.7.2.
30155         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
30156         imported symbols can be declared weak, so that it returns "no" on
30157         Cygwin 1.7.2.
30158
30159 2010-04-05  Bruno Haible  <bruno@clisp.org>
30160
30161         Use the module 'strncat'.
30162         * modules/unistr/u8-strncat (Depends-on): Add strncat.
30163
30164         Tests for module 'strncat'.
30165         * modules/strncat-tests: New file.
30166         * tests/test-strncat.c: New file.
30167
30168         New module 'strncat'.
30169         * lib/string.in.h (strncat): New declaration.
30170         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
30171         * m4/strncat.m4: New file, based on m4/memchr.m4.
30172         * modules/strncat: New file.
30173         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
30174         is declared.
30175         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
30176         REPLACE_STRNCAT.
30177         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
30178         REPLACE_STRNCAT.
30179         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
30180         module.
30181         * tests/test-string-c++.cc: Check signature of strncat.
30182
30183 2010-04-05  Jim Meyering  <meyering@redhat.com>
30184
30185         xstrtoumax-tests: convert to use init.sh
30186         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
30187         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30188         Use Exit, not exit.
30189         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30190
30191         xstrtoimax-tests: convert to use init.sh
30192         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
30193         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30194         Use Exit, not exit.
30195         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30196
30197 2010-04-05  Bruno Haible  <bruno@clisp.org>
30198
30199         sys_socket: Avoid #define replacements in C++ mode.
30200         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
30201         warning to the function if possible, rather than #defining the symbol
30202         to a dysfunctional alias.
30203
30204 2010-04-05  Bruno Haible  <bruno@clisp.org>
30205
30206         fseeko: Fix C++ test error on mingw.
30207         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
30208         gl_FUNC_FSEEKO.
30209         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
30210         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
30211         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
30212         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
30213
30214 2010-04-05  Bruno Haible  <bruno@clisp.org>
30215
30216         duplocale: Improve test output.
30217         * tests/test-duplocale.c (main): Print reason for skipped test.
30218
30219 2010-04-05  Bruno Haible  <bruno@clisp.org>
30220
30221         Assume rmdir exists.
30222         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
30223         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
30224
30225 2010-04-05  Bruno Haible  <bruno@clisp.org>
30226
30227         Fix link error on Solaris 8 with cc.
30228         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
30229
30230 2010-04-05  Bruno Haible  <bruno@clisp.org>
30231
30232         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30233         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
30234
30235 2010-04-05  Bruno Haible  <bruno@clisp.org>
30236
30237         vasprintf: Update documentation.
30238         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
30239
30240 2010-04-05  Bruno Haible  <bruno@clisp.org>
30241
30242         ptsname: Improve test.
30243         * tests/test-ptsname.c (main): Also try the various master names of BSD
30244         systems.
30245
30246 2010-04-05  Bruno Haible  <bruno@clisp.org>
30247
30248         memchr: Avoid a possible C++ test error.
30249         * lib/string.in.h (memchr): Provide declaration if function is missing.
30250         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
30251         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
30252         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
30253         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
30254
30255 2010-04-05  Bruno Haible  <bruno@clisp.org>
30256
30257         strtok_r: Improve idiom.
30258         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
30259         AC_LIBOBJ is used.
30260
30261 2010-04-05  Bruno Haible  <bruno@clisp.org>
30262
30263         strdup: Improve idiom.
30264         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
30265         AC_LIBOBJ is used.
30266         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
30267         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
30268         when AC_LIBOBJ is used.
30269
30270 2010-04-05  Bruno Haible  <bruno@clisp.org>
30271
30272         mbsinit, mbrtowc, wcrtomb: Improve idioms.
30273         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
30274         don't set REPLACE_MBSINIT to 1.
30275         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
30276         don't set REPLACE_MBRTOWC to 1.
30277         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
30278         exist, don't set REPLACE_MBSRTOWCS to 1.
30279         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
30280         exist, don't set REPLACE_MBSNRTOWCS to 1.
30281         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
30282         don't set REPLACE_WCRTOMB to 1.
30283         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
30284         exist, don't set REPLACE_WCSRTOMBS to 1.
30285         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
30286         exist, don't set REPLACE_WCSNRTOMBS to 1.
30287
30288 2010-04-05  Bruno Haible  <bruno@clisp.org>
30289
30290         ldexpl: Improve idiom.
30291         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
30292         make sure to set HAVE_DECL_LDEXPL to 0.
30293
30294 2010-04-05  Jim Meyering  <meyering@redhat.com>
30295
30296         xstrtol-tests: convert to use init.sh
30297         * modules/xstrtol-tests (Files): Add tests/init.sh.
30298         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30299         Use Exit, not exit.
30300         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30301
30302         atexit-tests: convert to use init.sh
30303         * modules/atexit-tests (Files): Add tests/init.sh.
30304         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30305         Use Exit, not exit.
30306         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30307
30308         init.sh: fix typo
30309         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
30310
30311         init.sh: make it easier for a test script to write to the tty, ...
30312         when using automake's parallel-tests mode.
30313         * tests/init.sh (stderr_fileno_): Define overridable variable.
30314         (warn_): New function, to use it.
30315         (fail_, skip_, framework_failure_): Use warn_.
30316
30317 2010-04-04  Bruno Haible  <bruno@clisp.org>
30318
30319         btowc: Avoid warning.
30320         * lib/btowc.c: Include <stdlib.h>.
30321         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
30322
30323 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30324             Bruno Haible  <bruno@clisp.org>
30325
30326         wchar: Port to NetBSD 1.5.
30327         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
30328         * lib/wctype.in.h (WEOF): Likewise.
30329
30330 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30331             Bruno Haible  <bruno@clisp.org>
30332
30333         Port extended stdio to NetBSD 1.5.
30334         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
30335         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
30336         older.
30337
30338 2010-04-04  Bruno Haible  <bruno@clisp.org>
30339
30340         string: Remove unused substitution.
30341         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30342         HAVE_DECL_STRERROR.
30343         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
30344
30345 2010-04-04  Bruno Haible  <bruno@clisp.org>
30346
30347         strtod: Avoid a possible C++ test error.
30348         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
30349         set REPLACE_STRTOD.
30350
30351 2010-04-04  Bruno Haible  <bruno@clisp.org>
30352
30353         strerror: Update documentation.
30354         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
30355
30356 2010-04-04  Bruno Haible  <bruno@clisp.org>
30357
30358         stdio: Fix some C++ test errors on Solaris 8 with GCC.
30359         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
30360         _GL_CXXALIAS_SYS_CAST.
30361
30362 2010-04-04  Bruno Haible  <bruno@clisp.org>
30363
30364         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30365         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
30366         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
30367         REPLACE_FREXPL to 1.
30368         * doc/posix-functions/frexpl.texi: Update documentation.
30369
30370 2010-04-04  Bruno Haible  <bruno@clisp.org>
30371
30372         math: Fix some C++ test errors on Solaris 8 and Cygwin.
30373         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
30374
30375 2010-04-04  Bruno Haible  <bruno@clisp.org>
30376
30377         Implement nanosleep for native Windows.
30378         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
30379
30380 2010-04-04  Bruno Haible  <bruno@clisp.org>
30381
30382         math: Fix some C++ test errors on Solaris 8.
30383         * lib/math.in.h (truncf, trunc): Use simpler idiom.
30384
30385 2010-04-04  Bruno Haible  <bruno@clisp.org>
30386
30387         math: Fix some C++ test errors on Cygwin.
30388         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
30389         truncl): Provide declaration if the system does not have it.
30390         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
30391         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
30392         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
30393         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
30394         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
30395         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
30396         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
30397         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
30398         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
30399         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
30400         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
30401         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
30402         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
30403         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
30404         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
30405         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
30406         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
30407         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30408         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30409         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
30410         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30411         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30412
30413 2010-04-04  Bruno Haible  <bruno@clisp.org>
30414
30415         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
30416         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
30417         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
30418         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30419         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30420         * m4/isinf.m4 (gl_ISINF): Likewise.
30421         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30422
30423 2010-04-04  Bruno Haible  <bruno@clisp.org>
30424
30425         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
30426         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30427
30428 2010-04-04  Bruno Haible  <bruno@clisp.org>
30429
30430         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
30431         * modules/tmpfile (configure.ac): Update.
30432
30433         tmpfile: Fix C++ test error on mingw.
30434         * lib/stdio.in.h (tmpfile): New declaration.
30435         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
30436         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
30437         * modules/tmpfile (Depends-on): Add stdio.
30438         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30439         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
30440         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
30441         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
30442         REPLACE_TMPFILE.
30443         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
30444
30445 2010-04-04  Bruno Haible  <bruno@clisp.org>
30446
30447         ioctl: Fix C++ test error on mingw.
30448         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
30449         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
30450         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
30451
30452 2010-04-03  Bruno Haible  <bruno@clisp.org>
30453
30454         wcwidth: Fix C++ test error on mingw.
30455         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
30456         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
30457         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
30458
30459 2010-04-03  Bruno Haible  <bruno@clisp.org>
30460
30461         nanosleep: Fix C++ test error on mingw.
30462         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
30463         * lib/time.in.h (nanosleep): Use modern idiom.
30464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
30465         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
30466         REPLACE_NANOSLEEP to 1.
30467         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
30468         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
30469
30470 2010-04-03  Bruno Haible  <bruno@clisp.org>
30471
30472         strptime: Fix C++ test error on mingw.
30473         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
30474         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
30475         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
30476         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
30477         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
30478         not REPLACE_STRPTIME.
30479         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
30480         REPLACE_STRPTIME.
30481
30482 2010-04-03  Bruno Haible  <bruno@clisp.org>
30483
30484         timegm: Fix C++ test error on mingw.
30485         * lib/time.in.h (timegm): Use modern idiom.
30486         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
30487         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
30488         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
30489         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
30490
30491 2010-04-03  Bruno Haible  <bruno@clisp.org>
30492
30493         timegm: Assume declaration if function exists.
30494         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
30495         if it exists. Don't clobber ac_cv_func_timegm.
30496
30497 2010-04-03  Bruno Haible  <bruno@clisp.org>
30498
30499         time_r: Fix C++ test error on mingw.
30500         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
30501         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
30502         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
30503         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
30504         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
30505
30506 2010-04-03  Bruno Haible  <bruno@clisp.org>
30507
30508         time_r: Minor updates.
30509         * modules/time_r (Description): Mention the provided functions.
30510         * lib/time_r.c: Don't include <string.h>.
30511         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
30512         * doc/posix-functions/localtime_r.texi: Likewise.
30513
30514 2010-04-03  Bruno Haible  <bruno@clisp.org>
30515
30516         time: Fix regression introduced on 2010-03-08.
30517         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
30518         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
30519
30520 2010-04-03  Jim Meyering  <meyering@redhat.com>
30521
30522         maint.mk: don't silently disable project-specific syntax-check rules
30523         * top/maint.mk (_prohibit_regexp): Define, to help people realize
30524         that they need to convert their project-specific syntax-check rules
30525         to use the new _sc_search_regexp.
30526
30527 2010-04-03  Bruno Haible  <bruno@clisp.org>
30528
30529         fchdir: Fix regression introduced on 2010-03-08.
30530         * lib/unistd.in.h (fchdir): Fix declaration.
30531         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
30532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
30533         REPLACE_FCHDIR.
30534         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
30535         REPLACE_FCHDIR.
30536
30537 2010-04-03  Bruno Haible  <bruno@clisp.org>
30538
30539         getpagesize: Fix C++ test error on mingw.
30540         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
30541         system does not declare the function.
30542         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
30543         declared.
30544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30545         HAVE_DECL_GETPAGESIZE.
30546         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
30547
30548 2010-04-03  Bruno Haible  <bruno@clisp.org>
30549
30550         stdio: Make C++ tests work on mingw.
30551         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
30552         does not declare the function.
30553
30554 2010-04-03  Bruno Haible  <bruno@clisp.org>
30555
30556         ftello: Fix C++ test error on mingw.
30557         * lib/stdio.in.h (ftello): Use modern idiom.
30558         * lib/ftello.c (ftello): Renamed from rpl_ftello.
30559         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
30560         is missing and that it needs to be replaced.
30561         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
30562         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
30563         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
30564
30565 2010-04-03  Bruno Haible  <bruno@clisp.org>
30566
30567         fseeko: Fix C++ test error on mingw.
30568         * lib/stdio.in.h (fseeko): Use modern idiom.
30569         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
30570         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
30571         is missing and that it needs to be replaced.
30572         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
30573         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
30574         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
30575
30576 2010-04-03  Bruno Haible  <bruno@clisp.org>
30577
30578         mkstemp: Fix C++ test error on mingw.
30579         * lib/stdlib.in.h (mkstemp): Use modern idiom.
30580         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
30581         function is missing and that it needs to be replaced.
30582         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
30583         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
30584
30585 2010-04-03  Bruno Haible  <bruno@clisp.org>
30586
30587         stpncpy: Fix C++ test error on mingw.
30588         * lib/string.in.h (stpncpy): Use modern idiom.
30589         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
30590         function is missing and that it needs to be replaced.
30591         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30592         REPLACE_STPNCPY.
30593         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
30594
30595 2010-04-03  Bruno Haible  <bruno@clisp.org>
30596
30597         sys_stat: Fix C++ test error on mingw.
30598         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
30599         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
30600
30601 2010-04-03  Bruno Haible  <bruno@clisp.org>
30602
30603         pty: Update doc.
30604         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
30605
30606 2010-04-03  Bruno Haible  <bruno@clisp.org>
30607
30608         unistd: Fix C++ test error on mingw.
30609         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
30610
30611 2010-04-03  Bruno Haible  <bruno@clisp.org>
30612
30613         Update doc regarding mingw.
30614         * doc/glibc-functions/openpty.texi: Update regarding mingw.
30615         * doc/glibc-functions/login_tty.texi: Likewise.
30616         * doc/glibc-functions/forkpty.texi: Likewise.
30617
30618 2010-04-03  Bruno Haible  <bruno@clisp.org>
30619
30620         stdlib: Avoid compilation failure of c-strtold on mingw.
30621         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
30622
30623 2010-04-03  Bruno Haible  <bruno@clisp.org>
30624
30625         locale: Make C++ tests work on Cygwin and mingw.
30626         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
30627         cannot provide the function.
30628         Reported by Simon Josefsson.
30629
30630 2010-04-03  Bruno Haible  <bruno@clisp.org>
30631
30632         localename: Port to MacOS X 10.6.
30633         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
30634         memory layout of the locales in MacOS X 10.6 as well.
30635         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
30636
30637 2010-04-02  Bruno Haible  <bruno@clisp.org>
30638
30639         gnulib-tool: Ensure that long-running tests are executed last.
30640         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
30641         running tests after the one for the other tests.
30642
30643 2010-04-02  Bruno Haible  <bruno@clisp.org>
30644
30645         gnulib-tool: Ensure the tests in the main directory are executed first.
30646         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
30647         start with the current directory.
30648
30649 2010-04-02  Bruno Haible  <bruno@clisp.org>
30650
30651         Tests for module 'havelib', moved here from GNU gettext.
30652         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
30653         modifications.
30654         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
30655         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
30656         with modifications.
30657         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
30658         modifications.
30659         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
30660         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
30661         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
30662         with modifications.
30663         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
30664         with modifications.
30665         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
30666         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
30667         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
30668         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
30669         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
30670         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
30671         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
30672         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
30673         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
30674         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
30675         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
30676         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
30677         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
30678         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
30679         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
30680         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
30681         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
30682         with modifications.
30683         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
30684         with modifications.
30685         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
30686         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
30687         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
30688         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
30689         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
30690         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
30691         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
30692         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
30693         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
30694         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
30695         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
30696         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
30697         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
30698         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
30699         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
30700         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
30701         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
30702         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
30703         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
30704         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
30705         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
30706         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
30707         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
30708         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
30709         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
30710         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
30711         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
30712         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
30713         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
30714         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
30715         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
30716         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
30717         * tests/havelib/rpathx/rpathx.c: New file, from
30718         gettext/autoconf-lib-link.
30719         * tests/havelib/rpathx/Makefile.am: New file, from
30720         gettext/autoconf-lib-link.
30721         * tests/havelib/rpathx/configure.ac: New file, from
30722         gettext/autoconf-lib-link with modifications.
30723         * tests/havelib/rpathy/rpathy.c: New file, from
30724         gettext/autoconf-lib-link.
30725         * tests/havelib/rpathy/Makefile.am: New file, from
30726         gettext/autoconf-lib-link.
30727         * tests/havelib/rpathy/configure.ac: New file, from
30728         gettext/autoconf-lib-link with modifications.
30729         * tests/havelib/rpathz/rpathz.c: New file, from
30730         gettext/autoconf-lib-link.
30731         * tests/havelib/rpathz/Makefile.am: New file, from
30732         gettext/autoconf-lib-link.
30733         * tests/havelib/rpathz/configure.ac: New file, from
30734         gettext/autoconf-lib-link with modifications.
30735         * tests/havelib/rpathlx/usex.c: New file, from
30736         gettext/autoconf-lib-link.
30737         * tests/havelib/rpathlx/Makefile.am: New file, from
30738         gettext/autoconf-lib-link.
30739         * tests/havelib/rpathlx/configure.ac: New file, from
30740         gettext/autoconf-lib-link with modifications.
30741         * tests/havelib/rpathly/usey.c: New file, from
30742         gettext/autoconf-lib-link.
30743         * tests/havelib/rpathly/Makefile.am: New file, from
30744         gettext/autoconf-lib-link.
30745         * tests/havelib/rpathly/configure.ac: New file, from
30746         gettext/autoconf-lib-link with modifications.
30747         * tests/havelib/rpathlz/usez.c: New file, from
30748         gettext/autoconf-lib-link.
30749         * tests/havelib/rpathlz/Makefile.am: New file, from
30750         gettext/autoconf-lib-link.
30751         * tests/havelib/rpathlz/configure.ac: New file, from
30752         gettext/autoconf-lib-link with modifications.
30753         * tests/havelib/rpathlyx/usey.c: New file, from
30754         gettext/autoconf-lib-link.
30755         * tests/havelib/rpathlyx/Makefile.am: New file, from
30756         gettext/autoconf-lib-link.
30757         * tests/havelib/rpathlyx/configure.ac: New file, from
30758         gettext/autoconf-lib-link with modifications.
30759         * tests/havelib/rpathlzyx/usez.c: New file, from
30760         gettext/autoconf-lib-link.
30761         * tests/havelib/rpathlzyx/Makefile.am: New file, from
30762         gettext/autoconf-lib-link.
30763         * tests/havelib/rpathlzyx/configure.ac: New file, from
30764         gettext/autoconf-lib-link with modifications.
30765         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
30766         with modifications.
30767
30768 2010-04-02  Bruno Haible  <bruno@clisp.org>
30769
30770         gnulib-tool: Create distributed built sources also for the tests.
30771         * gnulib-tool (func_create_testdir): Also generate distributed built
30772         sources in the tests directory.
30773
30774 2010-04-02  Bruno Haible  <bruno@clisp.org>
30775
30776         gnulib-tool: Obey user's environment variables.
30777         * gnulib-tool (func_create_testdir): When creating built sources,
30778         respect the environment variables for autoconf, automake, etc. given by
30779         the user.
30780
30781 2010-04-02  Bruno Haible  <bruno@clisp.org>
30782
30783         gnulib-tool: Provide the value of --m4-base to modules.
30784         * gnulib-tool (func_import, func_create_testdir): Emit a definition
30785         of gl_m4_base.
30786
30787 2010-04-02  Eric Blake  <eblake@redhat.com>
30788
30789         maint.mk: fix some fallout
30790         * NEWS: Document the incompatible change, and its effect on cfg.mk.
30791         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
30792
30793 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30794
30795         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
30796         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
30797         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
30798         (sc_cast_of_x_alloc_return_value): Likewise.
30799         (sc_cast_of_alloca_return_value): Likewise.
30800         (sc_space_tab): Likewise.
30801         (sc_prohibit_atoi_atof): Likewise.
30802         (sc_prohibit_magic_number_exit): Likewise.
30803         (sc_error_exit_success): Likewise.
30804         (sc_file_system): Likewise.
30805         (sc_prohibit_have_config_h): Likewise.
30806         (sc_require_config_h): Likewise.
30807         (sc_prohibit_HAVE_MBRTOWC): Likewise.
30808         (sc_obsolete_symbols): Likewise.
30809         (sc_changelog): Likewise.
30810         (sc_program_name): Likewise.
30811         (sc_the_the): Likewise.
30812         (sc_trailing_blank): Likewise.
30813         (sc_two_space_separator_in_usage): Likewise.
30814         (sc_useless_cpp_parens): Likewise.
30815         (sc_GPL_version): Likewise.
30816         (sc_GFDL_version): Likewise.
30817         (sc_texinfo_acronym): Likewise.
30818         (sc_prohibit_cvs_keyword): Likewise.
30819         (sc_prohibit_stat_st_blocks): Likewise.
30820         (sc_prohibit_S_IS_definition): Likewise.
30821         (sc_redundant_const): Likewise.
30822         (sc_makefile_TAB_only_indentation): Likewise.
30823         (sc_m4_quote_check): Likewise.
30824         (sc_makefile_path_separator_check): Likewise.
30825         (sc_copyright_check): Likewise.
30826         (sc_Wundef_boolean): Likewise.
30827         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30828
30829         maint.mk: match 0 or more whitespace-before-function-call '('
30830         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
30831         that have zero or two-and-more spaces between the function name
30832         and the open parenthesis.
30833         (sc_error_message_warn_fatal): Likewise.
30834         (sc_error_message_uppercase): Likewise.
30835         (sc_error_message_period): Likewise.
30836
30837 2010-03-31  Eric Blake  <eblake@redhat.com>
30838
30839         maint.mk: check for [ as well as test
30840         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
30841         Based on a libvirt report by Matthias Bolte.
30842
30843         gnumakefile: don't squelch _version output
30844         * top/GNUmakefile (_version): Create one-shot dependency rather
30845         than using $(shell) when version must be regenerated.
30846         (_autoreconf): Run verbosely, by default.
30847
30848         sys_time: avoid compiler warnings
30849         * lib/sys_time.in.h (includes): Ensure gcc pragma is
30850         unconditional, fixing regression from 2010-03-29.
30851         Reported by Simon Josefsson.
30852
30853 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30854
30855         maint.mk: s/_header_without_use/_sc_header_without_use/
30856         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
30857         (sc_prohibit_assert_without_use): Use the new name.
30858         (sc_prohibit_close_stream_without_use): Likewise.
30859         (sc_prohibit_getopt_without_use): Likewise.
30860         (sc_prohibit_quotearg_without_use): Likewise.
30861         (sc_prohibit_quote_without_use): Likewise.
30862         (sc_prohibit_long_options_without_use): Likewise.
30863         (sc_prohibit_inttostr_without_use): Likewise.
30864         (sc_prohibit_ignore_value_without_use): Likewise.
30865         (sc_prohibit_error_without_use): Likewise.
30866         (sc_prohibit_xalloc_without_use): Likewise.
30867         (sc_prohibit_hash_without_use): Likewise.
30868         (sc_prohibit_hash_pjw_without_use): Likewise.
30869         (sc_prohibit_safe_read_without_use): Likewise.
30870         (sc_prohibit_argmatch_without_use): Likewise.
30871         (sc_prohibit_canonicalize_without_use): Likewise.
30872         (sc_prohibit_root_dev_ino_without_use): Likewise.
30873         (sc_prohibit_openat_without_use): Likewise.
30874         (sc_prohibit_c_ctype_without_use): Likewise.
30875         (sc_prohibit_signal_without_use): Likewise.
30876         (sc_prohibit_intprops_without_use): Likewise.
30877
30878 2010-03-30  Eric Blake  <eblake@redhat.com>
30879
30880         maint: improve module indicators
30881         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
30882         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
30883         columns, and avoid extra macro expansion.
30884
30885         fdopendir: work around FreeBSD bug
30886         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
30887         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
30888         * modules/dirent (Makefile.am): Substitute it.
30889         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
30890         declaration.
30891         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
30892         fix.
30893         Reported by Christian Weisgerber <naddy@mips.inka.de>.
30894
30895 2010-03-29  Bruno Haible  <bruno@clisp.org>
30896
30897         Emit #pragma system_header after the inclusion guard, not before.
30898         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
30899         guard that spans the entire file, not before. This enables an
30900         optimization in GCC's preprocessor.
30901         * lib/ctype.in.h: Likewise.
30902         * lib/dirent.in.h: Likewise.
30903         * lib/errno.in.h: Likewise.
30904         * lib/float.in.h: Likewise.
30905         * lib/getopt.in.h: Likewise.
30906         * lib/iconv.in.h: Likewise.
30907         * lib/langinfo.in.h: Likewise.
30908         * lib/locale.in.h: Likewise.
30909         * lib/math.in.h: Likewise.
30910         * lib/netdb.in.h: Likewise.
30911         * lib/netinet_in.in.h: Likewise.
30912         * lib/pty.in.h: Likewise.
30913         * lib/sched.in.h: Likewise.
30914         * lib/se-selinux.in.h: Likewise.
30915         * lib/search.in.h: Likewise.
30916         * lib/spawn.in.h: Likewise.
30917         * lib/stdarg.in.h: Likewise.
30918         * lib/stdint.in.h: Likewise.
30919         * lib/string.in.h: Likewise.
30920         * lib/strings.in.h: Likewise.
30921         * lib/sys_file.in.h: Likewise.
30922         * lib/sys_ioctl.in.h: Likewise.
30923         * lib/sys_time.in.h: Likewise.
30924         * lib/sys_times.in.h: Likewise.
30925         * lib/sys_utsname.in.h: Likewise.
30926         * lib/sys_wait.in.h: Likewise.
30927         * lib/sysexits.in.h: Likewise.
30928         * lib/wctype.in.h: Likewise.
30929
30930 2010-03-28  James Youngman  <jay@gnu.org>
30931
30932         save-cwd: don't leak a file descriptor when the caller execs.
30933         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
30934         saved file descriptor.
30935         * modules/save-cwd (Depends-on): Depend on cloexec.
30936
30937 2010-03-29  Bruno Haible  <bruno@clisp.org>
30938
30939         Remove vestiges of fts-lgpl module.
30940         * lib/fts_.h: Assume GNULIB_FTS is 1.
30941         * lib/fts.c: Likewise.
30942         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
30943
30944 2010-03-28  Bruno Haible  <bruno@clisp.org>
30945
30946         Fix definition of tests witness macro.
30947         * gnulib-tool (func_import): Fix definition of witness macro.
30948
30949 2010-03-28  Bruno Haible  <bruno@clisp.org>
30950
30951         Fix ioctl's protoype on glibc systems.
30952         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
30953         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
30954         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
30955         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
30956         signature. If not, arrange to replace the ioctl function.
30957         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
30958         REPLACE_IOCTL.
30959         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
30960         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
30961         Reported by Ludovic Courtès <ludo@gnu.org>.
30962
30963 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
30964
30965         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
30966         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
30967         made it so grep -r --include=GLOB* ... did not work.
30968
30969 2010-03-26  Jim Meyering  <meyering@redhat.com>
30970             Eric Blake  <eblake@redhat.com>
30971
30972         maint.mk: prohibit use of test's -o and -a operators
30973         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
30974
30975 2010-03-28  Bruno Haible  <bruno@clisp.org>
30976
30977         Remove unused GNULIB_XYZ macro definitions.
30978         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
30979         invocation.
30980
30981 2010-03-28  Bruno Haible  <bruno@clisp.org>
30982
30983         Mark privileged tests modules.
30984         * modules/idpriv-drop-tests (Status): New section.
30985         * modules/idpriv-droptemp-tests (Status): New section.
30986
30987 2010-03-28  Bruno Haible  <bruno@clisp.org>
30988
30989         Split C++ tests into separate tests modules.
30990         * modules/dirent-c++-tests: New file, extracted from
30991         modules/dirent-tests.
30992         * modules/dirent-tests: Depend on it.
30993         * modules/fcntl-h-c++-tests: New file, extracted from
30994         modules/fcntl-h-tests.
30995         * modules/fcntl-h-tests: Depend on it.
30996         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
30997         * modules/glob-tests: Depend on it.
30998         * modules/iconv-h-c++-tests: New file, extracted from
30999         modules/iconv-h-tests.
31000         * modules/iconv-h-tests: Depend on it.
31001         * modules/langinfo-c++-tests: New file, extracted from
31002         modules/langinfo-tests.
31003         * modules/langinfo-tests: Depend on it.
31004         * modules/locale-c++-tests: New file, extracted from
31005         modules/locale-tests.
31006         * modules/locale-tests: Depend on it.
31007         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31008         * modules/math-tests: Depend on it.
31009         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31010         * modules/pty-tests: Depend on it.
31011         * modules/search-c++-tests: New file, extracted from
31012         modules/search-tests.
31013         * modules/search-tests: Depend on it.
31014         * modules/signal-c++-tests: New file, extracted from
31015         modules/signal-tests.
31016         * modules/signal-tests: Depend on it.
31017         * modules/spawn-c++-tests: New file, extracted from
31018         modules/spawn-tests.
31019         * modules/spawn-tests: Depend on it.
31020         * modules/stdio-c++-tests: New file, extracted from
31021         modules/stdio-tests.
31022         * modules/stdio-tests: Depend on it.
31023         * modules/stdlib-c++-tests: New file, extracted from
31024         modules/stdlib-tests.
31025         * modules/stdlib-tests: Depend on it.
31026         * modules/string-c++-tests: New file, extracted from
31027         modules/string-tests.
31028         * modules/string-tests: Depend on it.
31029         * modules/sys_ioctl-c++-tests: New file, extracted from
31030         modules/sys_ioctl-tests.
31031         * modules/sys_ioctl-tests: Depend on it.
31032         * modules/sys_select-c++-tests: New file, extracted from
31033         modules/sys_select-tests.
31034         * modules/sys_select-tests: Depend on it.
31035         * modules/sys_socket-c++-tests: New file, extracted from
31036         modules/sys_socket-tests.
31037         * modules/sys_socket-tests: Depend on it.
31038         * modules/sys_stat-c++-tests: New file, extracted from
31039         modules/sys_stat-tests.
31040         * modules/sys_stat-tests: Depend on it.
31041         * modules/sys_time-c++-tests: New file, extracted from
31042         modules/sys_time-tests.
31043         * modules/sys_time-tests: Depend on it.
31044         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31045         * modules/time-tests: Depend on it.
31046         * modules/unistd-c++-tests: New file, extracted from
31047         modules/unistd-tests.
31048         * modules/unistd-tests: Depend on it.
31049         * modules/wchar-c++-tests: New file, extracted from
31050         modules/wchar-tests.
31051         * modules/wchar-tests: Depend on it.
31052         * modules/wctype-c++-tests: New file, extracted from
31053         modules/wctype-tests.
31054         * modules/wctype-tests: Depend on it.
31055         Reported by Simon Josefsson.
31056
31057 2010-03-28  Bruno Haible  <bruno@clisp.org>
31058
31059         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31060         * gnulib-tool (func_exists_module): New function, extracted from
31061         func_verify_module.
31062         (func_verify_module): Use it.
31063         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31064         'foo' only if 'foo' exists.
31065         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31066         module.
31067
31068 2010-03-28  Bruno Haible  <bruno@clisp.org>
31069
31070         gnulib-tool: Add support for special categories of tests.
31071         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31072         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31073         (func_usage): Document them.
31074         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31075         inc_unportable_tests, inc_all_tests): New variables.
31076         (func_acceptable): Consider these variables.
31077         (func_modules_transitive_closure): Make it work when the 'Status' field
31078         consists of multiple words.
31079         (func_import): Store and restore the values of inc_cxx_tests,
31080         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31081         inc_all_tests in gnulib-comp.m4.
31082         (func_create_testdir): Set inc_all_tests to true.
31083         * doc/gnulib.texi (Extra tests modules): New section.
31084         Suggested by Jim Meyering.
31085
31086 2010-03-28  Bruno Haible  <bruno@clisp.org>
31087
31088         ansi-c++-opt: Allow turning off the C++ build by default.
31089         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31090         gl_CXX_CHOICE_DEFAULT_NO is defined.
31091         Requested by Eric Blake.
31092
31093 2010-03-28  Bruno Haible  <bruno@clisp.org>
31094
31095         unistd: Avoid #define replacements in C++ mode.
31096         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
31097         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
31098         setsockopt, shutdown, select): In C++, attach a warning to the function
31099         if possible, rather than #defining the symbol to a dysfunctional alias.
31100         Reported by John W. Eaton <jwe@gnu.org>.
31101
31102 2010-03-28  Bruno Haible  <bruno@clisp.org>
31103
31104         Fix link errors on mingw.
31105         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
31106         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
31107         $(LIBSOCKET).
31108         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
31109         $(LIBSOCKET).
31110
31111 2010-03-28  Bruno Haible  <bruno@clisp.org>
31112             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31113
31114         lib-ignore: Determine different options for different compilers.
31115         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
31116         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
31117         Add comments.
31118         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
31119         * NEWS: Mention the change.
31120
31121 2010-03-27  Bruno Haible  <bruno@clisp.org>
31122
31123         Remove unused GNULIB_XYZ macro definitions.
31124         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31125         * modules/fseek (configure.ac): Likewise.
31126         * modules/ioctl (configure.ac): Likewise.
31127         * modules/open (configure.ac): Likewise.
31128         * modules/stdlib-safer (configure.ac): Likewise.
31129
31130 2010-03-27  Bruno Haible  <bruno@clisp.org>
31131
31132         Add a remark about certain modules.
31133         * modules/malloc (Comment): New section.
31134         * modules/realloc (Comment): Likewise.
31135         * modules/sigpipe (Comment): Likewise.
31136
31137 2010-03-27  Bruno Haible  <bruno@clisp.org>
31138
31139         Resolve conflict between the two kinds of module indicators.
31140         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
31141         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
31142         * modules/canonicalize (configure.ac): Invoke
31143         gl_MODULE_INDICATOR_FOR_TESTS.
31144         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
31145         GNULIB_XYZ.
31146         * tests/test-dirent-c++.cc: Likewise.
31147         * tests/test-dirent-safer.c: Likewise.
31148         * tests/test-dup2.c: Likewise.
31149         * tests/test-fchdir.c: Likewise.
31150         * tests/test-fcntl-h-c++.cc: Likewise.
31151         * tests/test-getopt.c: Likewise.
31152         * tests/test-getopt.h: Likewise.
31153         * tests/test-langinfo-c++.cc: Likewise.
31154         * tests/test-locale-c++.cc: Likewise.
31155         * tests/test-math-c++.cc: Likewise.
31156         * tests/test-pty-c++.cc: Likewise.
31157         * tests/test-search-c++.cc: Likewise.
31158         * tests/test-signal-c++.cc: Likewise.
31159         * tests/test-spawn-c++.cc: Likewise.
31160         * tests/test-stdio-c++.cc: Likewise.
31161         * tests/test-stdlib-c++.cc: Likewise.
31162         * tests/test-string-c++.cc: Likewise.
31163         * tests/test-sys_ioctl-c++.cc: Likewise.
31164         * tests/test-sys_select-c++.cc: Likewise.
31165         * tests/test-sys_socket-c++.cc: Likewise.
31166         * tests/test-sys_stat-c++.cc: Likewise.
31167         * tests/test-sys_time-c++.cc: Likewise.
31168         * tests/test-time-c++.cc: Likewise.
31169         * tests/test-unistd-c++.cc: Likewise.
31170         * tests/test-wchar-c++.cc: Likewise.
31171         * tests/uninorm/test-u8-nfc.c: Likewise.
31172         * tests/uninorm/test-u8-nfd.c: Likewise.
31173         * tests/uninorm/test-u8-nfkc.c: Likewise.
31174         * tests/uninorm/test-u8-nfkd.c: Likewise.
31175         * tests/uninorm/test-u16-nfc.c: Likewise.
31176         * tests/uninorm/test-u16-nfd.c: Likewise.
31177         * tests/uninorm/test-u16-nfkc.c: Likewise.
31178         * tests/uninorm/test-u16-nfkd.c: Likewise.
31179         * tests/uninorm/test-u32-nfc.c: Likewise.
31180         * tests/uninorm/test-u32-nfc-big.c: Likewise.
31181         * tests/uninorm/test-u32-nfd.c: Likewise.
31182         * tests/uninorm/test-u32-nfd-big.c: Likewise.
31183         * tests/uninorm/test-u32-nfkc.c: Likewise.
31184         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
31185         * tests/uninorm/test-u32-nfkd.c: Likewise.
31186         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
31187         * tests/uninorm/test-u32-normalize-big.c: Likewise.
31188
31189 2010-03-27  Bruno Haible  <bruno@clisp.org>
31190
31191         Distinguish two kinds of module indicators.
31192         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
31193         gl_MODULE_INDICATOR.
31194         (gl_MODULE_INDICATOR): New macro.
31195         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31196         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
31197         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31198         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31199         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31200         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31201         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31202         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31203         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31204         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31205         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31206         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31207         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31208         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31209         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31210         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31211         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31212         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31213         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31214         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31215         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31216         * modules/cloexec (configure.ac): Likewise.
31217         * modules/getopt-gnu (configure.ac): Likewise.
31218         * modules/uninorm/u8-normalize (configure.ac): Likewise.
31219         * modules/uninorm/u16-normalize (configure.ac): Likewise.
31220         * modules/uninorm/u32-normalize (configure.ac): Likewise.
31221         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
31222
31223 2010-03-27  Bruno Haible  <bruno@clisp.org>
31224
31225         New module description field 'Comment'.
31226         * gnulib-tool: New option --extract-comment.
31227         (func_usage): Document it.
31228         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
31229         (func_get_comment): New function.
31230         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
31231
31232 2010-03-27  Bruno Haible  <bruno@clisp.org>
31233
31234         Addendum to 2010-02-07 commit.
31235         * gnulib-tool (func_usage): Document --extract-applicability option.
31236
31237 2010-03-27  Bruno Haible  <bruno@clisp.org>
31238
31239         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
31240         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
31241         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
31242         rather than link errors.
31243
31244 2010-03-27  Bruno Haible  <bruno@clisp.org>
31245
31246         Avoid side effects from tests-related modules on the compilation of lib.
31247         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
31248         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
31249         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
31250         parameter. Emit into AM_CPPFLAGS a definition of the designated C
31251         macro.
31252         (func_import): Define a witness macro. Assign it a value that depends
31253         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
31254         tests-related modules.
31255         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
31256         Reported by Jim Meyering.
31257
31258 2010-03-27  Bruno Haible  <bruno@clisp.org>
31259
31260         Factorize common .m4 code.
31261         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
31262         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
31263         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
31264         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
31265         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31266         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
31267         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
31268         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31269         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31270         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31271         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
31272         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31273         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31274         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31275         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31276         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
31277         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31278         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31279         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31280         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
31281         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
31282         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31283         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31284         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31285         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31286         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31287         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
31288         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
31289         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
31290         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31291         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31292         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31293
31294 2010-03-27  Bruno Haible  <bruno@clisp.org>
31295
31296         Fix a compilation error on Cygwin with g++ >= 4.3.
31297         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
31298         if it is undefined or if we alias it to chmod.
31299         (lstat): Don't warn about the use of this function if it is undefined
31300         or if we alias it to stat.
31301         Reported by Simon Josefsson.
31302
31303 2010-03-27  Bruno Haible  <bruno@clisp.org>
31304
31305         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
31306         * modules/getlogin (configure.ac): Update.
31307
31308         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
31309         * modules/getlogin_r (configure.ac): Update.
31310
31311         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
31312         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
31313         * modules/inet_ntop (configure.ac): Update.
31314
31315         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
31316         * modules/inet_pton (configure.ac): Update.
31317
31318         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
31319         * modules/mbslen (configure.ac): Update.
31320
31321         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
31322         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
31323         * modules/forkpty (configure.ac): Update.
31324         * modules/openpty (configure.ac): Update.
31325
31326 2010-03-26  Simon Josefsson  <simon@josefsson.org>
31327
31328         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
31329         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
31330
31331 2010-03-25  Eric Blake  <eblake@redhat.com>
31332
31333         maint: use pragma consistently across replacement headers
31334         * lib/ctype.in.h (system_header): Hoist for consistent placement.
31335         * lib/dirent.in.h (system_header): Likewise.
31336         * lib/errno.in.h (system_header): Likewise.
31337         * lib/float.in.h (system_header): Likewise.
31338         * lib/getopt.in.h (system_header): Likewise.
31339         * lib/iconv.in.h (system_header): Likewise.
31340         * lib/inttypes.in.h (system_header): Likewise.
31341         * lib/langinfo.in.h (system_header): Likewise.
31342         * lib/locale.in.h (system_header): Likewise.
31343         * lib/math.in.h (system_header): Likewise.
31344         * lib/netdb.in.h (system_header): Likewise.
31345         * lib/netinet_in.in.h (system_header): Likewise.
31346         * lib/pty.in.h (system_header): Likewise.
31347         * lib/sched.in.h (system_header): Likewise.
31348         * lib/se-selinux.in.h (system_header): Likewise.
31349         * lib/search.in.h (system_header): Likewise.
31350         * lib/spawn.in.h (system_header): Likewise.
31351         * lib/stdarg.in.h (system_header): Likewise.
31352         * lib/stdint.in.h (system_header): Likewise.
31353         * lib/string.in.h (system_header): Likewise.
31354         * lib/strings.in.h (system_header): Likewise.
31355         * lib/sys_file.in.h (system_header): Likewise.
31356         * lib/sys_ioctl.in.h (system_header): Likewise.
31357         * lib/sys_socket.in.h (system_header): Likewise.
31358         * lib/sys_times.in.h (system_header): Likewise.
31359         * lib/sys_utsname.in.h (system_header): Likewise.
31360         * lib/sys_wait.in.h (system_header): Likewise.
31361         * lib/sysexits.in.h (system_header): Likewise.
31362         * lib/unistd.in.h (system_header): Likewise.
31363         * lib/wctype.in.h (system_header): Likewise.
31364
31365         arpa/inet: fix mingw compilation warning
31366         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
31367         Reported by Matthew Bolte.
31368
31369 2010-03-25  Bruno Haible  <bruno@clisp.org>
31370
31371         Avoid collision between gnulib wrapper and libintl wrapper.
31372         * lib/printf.c (printf): Don't define if a printf wrapper is already
31373         defined in intl/printf.c.
31374         Reported by Michel Boaventura <michel@michelboaventura.com>.
31375
31376 2010-03-25  Bruno Haible  <bruno@clisp.org>
31377
31378         Use ANSI C.
31379         * lib/readutmp.h (getutent): Provide ANSI C prototype.
31380
31381 2010-03-25  Bruno Haible  <bruno@clisp.org>
31382
31383         Minor formatting changes.
31384         * lib/acosl.c: Insert space before function argument list.
31385         * lib/argz.c: Likewise.
31386         * lib/asinl.c: Likewise.
31387         * lib/expl.c: Likewise.
31388         * lib/gen-uni-tables.c: Likewise.
31389         * lib/gettext.h: Likewise.
31390         * lib/glthread/lock.h: Likewise.
31391         * lib/tanl.c: Likewise.
31392         * lib/uniname/uniname.c: Likewise.
31393         * tests/test-idpriv-drop.c: Likewise.
31394         * tests/test-idpriv-droptemp.c: Likewise.
31395         * tests/test-lock.c: Likewise.
31396         * tests/test-tls.c: Likewise.
31397         * lib/argp-help.c: Insert space before function-like macro argument
31398         list.
31399         * lib/memcmp.c: Likewise.
31400         * tests/test-base64.c: Likewise.
31401         * lib/localename.c: Insert space before sizeof's argument list.
31402         * lib/safe-alloc.h: Likewise.
31403         * lib/file-set.h: Insert space before macro argument list.
31404         * tests/test-argp.c: Likewise.
31405         * lib/argp-namefrob.h: Insert space before function parameter list.
31406         * lib/getaddrinfo.c: Likewise.
31407         * lib/netdb.in.h: Likewise.
31408         * lib/parse-duration.h: Likewise.
31409         * lib/parse-duration.c: Likewise.
31410         * lib/poll.c: Likewise.
31411         * lib/select.c: Likewise.
31412         * lib/trim.h: Likewise.
31413         * tests/test-usleep.c: Likewise.
31414         * lib/ldexpl.c: Insert space before function parameter list and before
31415         function argument list.
31416         * lib/logl.c: Likewise.
31417         * lib/sqrtl.c: Likewise.
31418         * lib/trim.c: Likewise.
31419         * lib/cosl.c: Use GNU style indentation. Insert space before function
31420         argument list.
31421         * lib/sinl.c: Likewise.
31422         * lib/tsearch.c: Insert space after 'for'.
31423         Reported by Jim Meyering.
31424
31425 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
31426
31427         * maint.mk (sc_Wundef_boolean): Check for the presence of the
31428         config header before grepping, as it's not present before
31429         autoreconf/configure are run.  Reported by Simon Josefsson.
31430
31431 2010-03-23  Bruno Haible  <bruno@clisp.org>
31432
31433         pt_chown: Make it work with automake < 1.11.
31434         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
31435         Reported by Simon Josefsson.
31436
31437 2010-03-23  Bruno Haible  <bruno@clisp.org>
31438
31439         pt_chown: Don't depend on GPLed modules.
31440         * lib/pt_chown.c: Don't include idpriv.h.
31441         (main): Don't drop privileges.
31442         * modules/pt_chown (Depends-on): Remove idpriv-drop.
31443         Reported by Simon Josefsson.
31444
31445 2010-03-24  Simon Josefsson  <simon@josefsson.org>
31446
31447         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
31448         suggestions from karl@freefriends.org (Karl Berry).
31449
31450 2010-03-22  Eric Blake  <eblake@redhat.com>
31451
31452         gethostname: further tweaks
31453         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
31454         are overriding gethostname.
31455         Suggested by Bruno Haible.
31456
31457 2010-03-21  Bruno Haible  <bruno@clisp.org>
31458
31459         Fix comments.
31460         * lib/forkpty.c (rpl_forkpty): Fix comment.
31461         * lib/openpty.c (rpl_openpty): Likewise.
31462         Reported by Eric Blake.
31463
31464 2010-03-22  Eric Blake  <eblake@redhat.com>
31465
31466         gethostname: fix build on mingw
31467         * lib/unistd.in.h (includes): Work around fact that mingw
31468         <winsock2.h> re-includes <unistd.h>, by avoiding any
31469         redeclarations if we are being included by <winsock2.h>.
31470         Reported by Matthias Bolte.
31471
31472 2010-03-21  Bruno Haible  <bruno@clisp.org>
31473
31474         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31475         * lib/forkpty.c (forkpty): New replacement function, from glibc with
31476         modifications.
31477         * lib/pty.in.h (forkpty): Update declaration. Add comments.
31478         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
31479         provide the replacement.
31480         * modules/forkpty (Depends-on): Add openpty, login_tty.
31481         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
31482         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
31483         * doc/glibc-functions/forkpty.texi: More supported platforms.
31484         * config/srclist.txt: Add forkpty.c (commented).
31485
31486 2010-03-21  Bruno Haible  <bruno@clisp.org>
31487
31488         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
31489         (Makefile.am): Verify that PTY_LIB is defined.
31490
31491         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
31492
31493 2010-03-21  Bruno Haible  <bruno@clisp.org>
31494
31495         Tests for module 'login_tty'.
31496         * modules/login_tty-tests: New file.
31497         * tests/test-login_tty.c: New file.
31498
31499         New module 'login_tty'.
31500         * lib/login_tty.c: New file.
31501         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
31502         * modules/login_tty: New file.
31503         * doc/glibc-functions/login_tty.texi: Mention the new module.
31504
31505 2010-03-21  Bruno Haible  <bruno@clisp.org>
31506
31507         login_tty: Documentation.
31508         * doc/glibc-functions/login_tty.texi: New file.
31509         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
31510
31511 2010-03-21  Bruno Haible  <bruno@clisp.org>
31512
31513         pty: Consistent macro naming.
31514         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
31515         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
31516         * modules/pty (configure.ac): Update.
31517
31518 2010-03-21  Bruno Haible  <bruno@clisp.org>
31519
31520         Tests for openpty: Make stricter.
31521         * tests/test-openpty.c (main): Add test of canonical processing and
31522         erase.
31523         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
31524
31525         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31526         * lib/openpty.c (openpty): New replacement function.
31527         * lib/pty.in.h: Include <termios.h>.
31528         (openpty): Update declaration. Add comments.
31529         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
31530         is not declared, arrange to provide the replacement. Check for _getpty
31531         and posix_openpt.
31532         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
31533         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
31534         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
31535         * modules/pty-tests (test_pty_c___LDADD): New variable.
31536         * doc/glibc-functions/openpty.texi: More supported platforms.
31537
31538 2010-03-21  Bruno Haible  <bruno@clisp.org>
31539
31540         setenv: Tweaks.
31541         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
31542         the test program.
31543         * doc/posix-functions/setenv.texi: Update platforms list.
31544
31545 2010-03-21  Bruno Haible  <bruno@clisp.org>
31546
31547         New module 'unlockpt'.
31548         * lib/unlockpt.c: New file, from glibc with modifications.
31549         * m4/unlockpt.m4: New file.
31550         * modules/unlockpt: New file.
31551         * lib/stdlib.in.h (unlockpt): New declaration.
31552         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
31553         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
31554         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
31555         HAVE_UNLOCKPT.
31556         * doc/posix-functions/unlockpt.texi: Mention the new module.
31557         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
31558         * config/srclist.txt: Add unlockpt.c (commented).
31559
31560 2010-03-21  Jim Meyering  <meyering@redhat.com>
31561
31562         maint.mk: prohibit inclusion of "intprops.h" without use
31563         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
31564
31565 2010-03-21  Bruno Haible  <bruno@clisp.org>
31566
31567         New module 'grantpt'.
31568         * lib/grantpt.c: New file, from glibc with modifications.
31569         * m4/grantpt.m4: New file.
31570         * modules/grantpt: New file.
31571         * lib/stdlib.in.h (grantpt): New declaration.
31572         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
31573         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
31574         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
31575         HAVE_GRANTPT.
31576         * doc/posix-functions/grantpt.texi: Mention the new module.
31577         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
31578         * config/srclist.txt: Add grantpt.c (commented).
31579
31580 2010-03-21  Bruno Haible  <bruno@clisp.org>
31581
31582         New module 'pt_chown'.
31583         * lib/pt_chown.c: New file, from glibc with modifications.
31584         * lib/pty-private.h: New file, from glibc with modifications.
31585         * modules/pt_chown: New file.
31586         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
31587
31588 2010-03-21  Bruno Haible  <bruno@clisp.org>
31589
31590         Tests for module 'ptsname'.
31591         * modules/ptsname-tests: New file.
31592         * tests/test-ptsname.c: New file.
31593
31594         New module 'ptsname'.
31595         * lib/ptsname.c: New file, from glibc with modifications.
31596         * m4/ptsname.m4: New file.
31597         * modules/ptsname: New file.
31598         * lib/stdlib.in.h (ptsname): New declaration.
31599         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
31600         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
31601         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
31602         HAVE_PTSNAME.
31603         * doc/posix-functions/ptsname.texi: Mention the new module.
31604         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
31605         * config/srclist.txt: Add ptsname.c (commented).
31606
31607 2010-03-21  Bruno Haible  <bruno@clisp.org>
31608
31609         Tests for module 'ttyname_r'.
31610         * modules/ttyname_r-tests: New file.
31611         * tests/test-ttyname_r.c: New file.
31612
31613         New module 'ttyname_r'.
31614         * lib/ttyname_r.c: New file.
31615         * m4/ttyname_r.m4: New file.
31616         * modules/ttyname_r: New file.
31617         * lib/unistd.in.h (ttyname_r): New declaration.
31618         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
31619         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
31620         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
31621         HAVE_TTYNAME_R.
31622         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
31623         * doc/posix-functions/ttyname_r.texi: Mention the new module.
31624
31625 2010-03-20  Bruno Haible  <bruno@clisp.org>
31626
31627         signal: Undefine macro definitions in C++ mode.
31628         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
31629         sigfillset): Undefine macro definitions from the system header in C++
31630         mode.
31631         Reported by John W. Eaton <jwe@gnu.org>.
31632
31633 2010-03-20  Bruno Haible  <bruno@clisp.org>
31634
31635         Ensure no #include statements inside extern "C" { ... }.
31636         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
31637         contain #include statements.
31638         * lib/time.in.h: Likewise.
31639
31640 2010-03-20  Bruno Haible  <bruno@clisp.org>
31641
31642         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
31643         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
31644         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
31645         Reported by John W. Eaton <jwe@gnu.org>.
31646
31647 2010-03-20  Bruno Haible  <bruno@clisp.org>
31648
31649         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
31650         Reported by Jim Meyering.
31651
31652 2010-03-20  Bruno Haible  <bruno@clisp.org>
31653
31654         pipe: Set errno upon failure.
31655         * lib/pipe.h: Specify that when -1 is returned, errno is set.
31656         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
31657         errno value in error message.
31658
31659 2010-03-20  Bruno Haible  <bruno@clisp.org>
31660             Jim Meyering  <meyering@redhat.com>
31661
31662         lchown: Avoid "unused variable" warning.
31663         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
31664
31665 2010-03-20  Bruno Haible  <bruno@clisp.org>
31666
31667         Work around unlink() bug on MacOS X 10.5.6.
31668         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
31669         attempting to unlink a parent directory.
31670         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
31671         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
31672         activate for the replacement function.
31673         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
31674
31675 2010-03-20  Bruno Haible  <bruno@clisp.org>
31676
31677         Fix link errors on Solaris 8.
31678         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
31679         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
31680
31681 2010-03-19  Jim Meyering  <meyering@redhat.com>
31682
31683         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
31684         The _LIBC implementation of build_range_exp correctly honors the
31685         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
31686         However, the non-_LIBC implementation would ignore that syntax-bit
31687         flag and return REG_ERANGE unconditionally.
31688         This change makes it honor that flag.
31689         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
31690         Make two pointer parameters "const".
31691         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
31692         (parse_bracket_exp): Update caller.
31693
31694         regex.m4: correct the reversed range endpoint ([b-a]) test
31695         * m4/regex.m4: When requiring that [b-a] evoke failure,
31696         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
31697         test pass once again for x86-based systems.
31698
31699 2010-03-19  Bruno Haible  <bruno@clisp.org>
31700
31701         scandir: Fix link error on Solaris 8.
31702         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
31703         macros.
31704
31705 2010-03-19  Bruno Haible  <bruno@clisp.org>
31706
31707         getusershell: Fix documentation.
31708         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
31709         module.
31710         * doc/glibc-functions/setusershell.texi: Likewise.
31711
31712         getusershell: Provide declaration, missing on Solaris 9.
31713         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
31714         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
31715         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
31716         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
31717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31718         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
31719         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
31720         HAVE_GETUSERSHELL.
31721         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
31722
31723 2010-03-19  Bruno Haible  <bruno@clisp.org>
31724
31725         wctype: Provide iswblank function.
31726         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
31727         exists and is fine.
31728         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
31729         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
31730         * tests/test-wctype.c (main): Re-enable the iswblank tests.
31731         * doc/posix-functions/iswblank.texi: Update.
31732
31733 2010-03-19  Bruno Haible  <bruno@clisp.org>
31734
31735         Tests of module 'pty' in C++ mode.
31736         * modules/pty-tests: New file.
31737         * tests/test-pty-c++.cc: New file.
31738         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31739
31740 2010-03-19  Eric Blake  <eblake@redhat.com>
31741
31742         logb: fix documentation
31743         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
31744         1.5 declaration bug.
31745
31746         forkpty, openpty: prefer glibc's const-safe prototype
31747         * lib/forkpty.c (rpl_forkpty): New file.
31748         * lib/openpty.c (rpl_openpty): Likewise.
31749         * modules/forkpty (Files): Distribute it.
31750         * modules/openpty (Files): Likewise.
31751         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
31752         check...
31753         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
31754         replacement for for non-const BSD signature.
31755         * modules/pty (Makefile.am): Substitute witnesses.
31756         * lib/pty.in.h (forkpty, openpty): Declare replacements.
31757         * tests/test-forkpty.c: Update signature check.
31758         * tests/test-openpty.c: Likewise.
31759         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
31760         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31761
31762         forkpty, openpty: split functions into new modules
31763         * modules/pty (Makefile.am): Substitute new witnesses.
31764         (Libraries): Move library detection...
31765         * modules/forkpty: ...into new module.
31766         * modules/openpty: Another new module.
31767         * modules/pty-tests: Rename and split...
31768         * modules/forkpty-tests: ...to this...
31769         * modules/openpty-tests: ...and this.
31770         * tests/test-pty.c: Rename and split...
31771         * tests/test-forkpty.c: ...to this...
31772         * tests/test-openpty.c: ...and this.
31773         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
31774         (gl_PTY): Split library searching...
31775         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
31776         (gl_FORKPTY, gl_OPENPTY): New macros.
31777         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
31778         * NEWS: Mention the split.
31779         * MODULES.html.sh (Misc): Document the modules.
31780         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
31781         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31782
31783         pty: improve replacement header
31784         * lib/pty.in.h: New file.
31785         * modules/pty (Files): Ship it.
31786         (Makefile.am): Always build replacement.
31787         * m4/pty.m4: Rename...
31788         * m4/pty_h.m4: ...to this.
31789         (gl_PTY): Modernize setting of witness macros; update check of
31790         forkpty to take proper advantage of cache.
31791         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
31792
31793         getopt: avoid compiler warning
31794         * lib/getopt.c (attribute_hidden): Remove unused macro.
31795
31796 2010-03-18  Bruno Haible  <bruno@clisp.org>
31797
31798         Fix link errors on Solaris 8.
31799         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
31800         * modules/search-tests (test_search_c___LDADD): Likewise.
31801         * modules/signal-tests (test_signal_c___LDADD): Likewise.
31802         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
31803         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
31804         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
31805         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
31806         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
31807         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
31808
31809 2010-03-18  Bruno Haible  <bruno@clisp.org>
31810
31811         Fix bug introduced on 2010-03-14.
31812         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
31813         (gl_SPAWN_H): Require it.
31814         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
31815         Reported by Simon Josefsson.
31816
31817 2010-03-18  Bruno Haible  <bruno@clisp.org>
31818
31819         Fix typo introduced on 2009-12-31.
31820         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
31821         posix_spawn_file_actions_adddup2.
31822
31823 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
31824         and Eric Blake  <eblake@redhat.com>
31825
31826         test-vc-list-files-git: make more robust
31827         * tests/test-vc-list-files-git.sh: Unset problematic environment
31828         variables.  Chain commands together.
31829
31830 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
31831
31832         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
31833         `AC_CHECK_DECL' invocation.
31834
31835 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
31836
31837         * lib/inttostr.c (inttostr): Make sure the invocation of verify
31838         appears before executable statements. Suggested by Petr Sumbera
31839         <Petr.Sumbera@Sun.COM>.
31840
31841 2010-03-14  Bruno Haible  <bruno@clisp.org>
31842
31843         * tests/test-flock.c (test_exclusive): Comment out a test that causes
31844         portability problems. Instead use a simpler test.
31845         (main): Check that invalid arguments are rejected only on Linux.
31846
31847 2010-03-14  Bruno Haible  <bruno@clisp.org>
31848
31849         Fix bug introduced on 2009-12-31.
31850         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31851         gl_PREREQ_SYS_H_WINSOCK2 always.
31852         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
31853         SYS_SOCKET_H variable.
31854         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
31855         Update comments.
31856         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
31857         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31858         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31859         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31860         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
31861
31862 2010-03-14  Bruno Haible  <bruno@clisp.org>
31863
31864         Fix values returned by sinl, cosl.
31865         * lib/trigl.h: Add specification comments.
31866         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
31867         that combines the values from the precomputed table with the values of
31868         the Chebyshev polynomials.
31869
31870 2010-03-14  Bruno Haible  <bruno@clisp.org>
31871
31872         Fix compilation error when modules 'posix_spawn[p]' are not used.
31873         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
31874         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
31875
31876 2010-03-14  Bruno Haible  <bruno@clisp.org>
31877
31878         Fix compilation error on mingw when module 'time_r' is not used.
31879         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
31880         is 1.
31881         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
31882         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
31883         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
31884         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
31885
31886 2010-03-14  Bruno Haible  <bruno@clisp.org>
31887
31888         Fix compilation error with Sun C.
31889         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
31890         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
31891         instead of GCC specific ULONG_LONG_MAX.
31892         * lib/xstrtoll.c: Likewise.
31893         * lib/xstrtoull.c: Likewise.
31894
31895 2010-03-13  Bruno Haible  <bruno@clisp.org>
31896
31897         Allow the user to disable C++ code and tests.
31898         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
31899         (gl_PROG_ANSI_CXX): Require it.
31900
31901 2010-03-13  Bruno Haible  <bruno@clisp.org>
31902
31903         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
31904         cases.
31905
31906 2010-03-13  Bruno Haible  <bruno@clisp.org>
31907
31908         Test that gnulib does not break the standard C++ headers.
31909         * tests/test-locale-c++2.cc: New file.
31910         * modules/locale-tests (Files): Add it.
31911         (Makefile.am): Compile it for test-locale-c++.
31912         * tests/test-math-c++2.cc: New file.
31913         * modules/math-tests (Files): Add it.
31914         (Makefile.am): Compile it for test-math-c++.
31915         * tests/test-signal-c++2.cc: New file.
31916         * modules/signal-tests (Files): Add it.
31917         (Makefile.am): Compile it for test-signal-c++.
31918         * tests/test-stdio-c++2.cc: New file.
31919         * modules/stdio-tests (Files): Add it.
31920         (Makefile.am): Compile it for test-stdio-c++.
31921         * tests/test-stdlib-c++2.cc: New file.
31922         * modules/stdlib-tests (Files): Add it.
31923         (Makefile.am): Compile it for test-stdlib-c++.
31924         * tests/test-string-c++2.cc: New file.
31925         * modules/string-tests (Files): Add it.
31926         (Makefile.am): Compile it for test-string-c++.
31927         * tests/test-time-c++2.cc: New file.
31928         * modules/time-tests (Files): Add it.
31929         (Makefile.am): Compile it for test-time-c++.
31930         Reported by John W. Eaton <jwe@gnu.org>.
31931
31932 2010-03-13  Bruno Haible  <bruno@clisp.org>
31933
31934         * gnulib-tool (func_usage): Clarify which options are available for
31935         --create-testdir and --create-megatestdir.
31936
31937 2010-03-13  Bruno Haible  <bruno@clisp.org>
31938
31939         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
31940         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
31941         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
31942         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
31943         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
31944         when appropriate.
31945         Reported by Jim Meyering.
31946
31947 2010-03-12  Simon Josefsson  <simon@josefsson.org>
31948
31949         * gnulib-tool (func_import): Explain origin of code.
31950
31951 2010-03-12  Bruno Haible  <bruno@clisp.org>
31952
31953         Fix problem with automake's definition of CXXLINK.
31954         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
31955         Reported by Simon Josefsson and Ludovic Courtès.
31956
31957 2010-03-12  Bruno Haible  <bruno@clisp.org>
31958
31959         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
31960         stable releases.
31961
31962 2010-03-11  Bruno Haible  <bruno@clisp.org>
31963
31964         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
31965         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
31966         whether the system provides one variant or multiple variants of the
31967         function.
31968         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
31969         C++ compilers.
31970         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
31971         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
31972         Reported by Jim Meyering.
31973
31974 2010-03-09  Simon Josefsson  <simon@josefsson.org>
31975
31976         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
31977
31978 2010-03-08  Bruno Haible  <bruno@clisp.org>
31979
31980         gnulib-tool: Add support for --libtool in --create-testdir.
31981         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
31982         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
31983
31984 2010-03-08  Eric Blake  <eblake@redhat.com>
31985
31986         gnulib-tool.texi: mention possibility of git submodule
31987         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
31988         submodules.
31989         * doc/.gitignore: Ignore another generated file.
31990
31991 2010-03-08  Karl Berry  <karl@gnu.org>
31992
31993         * doc/gnulib-tool.texi (VCS Issues): Mention third option
31994         of committing gnulib files while skipping others.
31995
31996 2010-03-07  Bruno Haible  <bruno@clisp.org>
31997
31998         Tests of module 'wctype' in C++ mode.
31999         * tests/test-wctype-c++.cc: New file.
32000         * modules/wctype-tests (Files): Add it and tests/signature.h.
32001         (Depends-on): Add ansi-c++-opt.
32002         (Makefile.am): Arrange to compile and run test-wctype-c++.
32003
32004         Tests of module 'wchar' in C++ mode.
32005         * tests/test-wchar-c++.cc: New file.
32006         * modules/wchar-tests (Files): Add it and tests/signature.h.
32007         (Depends-on): Add ansi-c++-opt.
32008         (Makefile.am): Arrange to compile and run test-wchar-c++.
32009         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32010         gl_MODULE_INDICATOR.
32011
32012         Tests of module 'unistd' in C++ mode.
32013         * tests/test-unistd-c++.cc: New file.
32014         * modules/unistd-tests (Files): Add it and tests/signature.h.
32015         (Depends-on): Add ansi-c++-opt.
32016         (Makefile.am): Arrange to compile and run test-unistd-c++.
32017         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32018         gl_MODULE_INDICATOR.
32019
32020         Tests of module 'time' in C++ mode.
32021         * tests/test-time-c++.cc: New file.
32022         * modules/time-tests (Files): Add it and tests/signature.h.
32023         (Depends-on): Add ansi-c++-opt.
32024         (Makefile.am): Arrange to compile and run test-time-c++.
32025         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32026
32027         Tests of module 'sys_time' in C++ mode.
32028         * tests/test-sys_time-c++.cc: New file.
32029         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32030         (Depends-on): Add ansi-c++-opt.
32031         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32032         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32033         gl_MODULE_INDICATOR.
32034
32035         Tests of module 'sys_stat' in C++ mode.
32036         * tests/test-sys_stat-c++.cc: New file.
32037         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32038         (Depends-on): Add ansi-c++-opt.
32039         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32040         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32041         gl_MODULE_INDICATOR.
32042
32043         Tests of module 'sys_socket' in C++ mode.
32044         * tests/test-sys_socket-c++.cc: New file.
32045         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32046         (Depends-on): Add ansi-c++-opt.
32047         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32048         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32049         gl_MODULE_INDICATOR.
32050
32051         Tests of module 'sys_select' in C++ mode.
32052         * tests/test-sys_select-c++.cc: New file.
32053         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32054         (Depends-on): Add ansi-c++-opt.
32055         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32056         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32057         gl_MODULE_INDICATOR.
32058
32059         Tests of module 'sys_ioctl' in C++ mode.
32060         * tests/test-sys_ioctl-c++.cc: New file.
32061         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32062         (Depends-on): Add ansi-c++-opt.
32063         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32064         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32065         gl_MODULE_INDICATOR.
32066
32067         Tests of module 'string' in C++ mode.
32068         * tests/test-string-c++.cc: New file.
32069         * modules/string-tests (Files): Add it and tests/signature.h.
32070         (Depends-on): Add ansi-c++-opt.
32071         (Makefile.am): Arrange to compile and run test-string-c++.
32072         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32073         gl_MODULE_INDICATOR.
32074
32075         Tests of module 'stdlib' in C++ mode.
32076         * tests/test-stdlib-c++.cc: New file.
32077         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32078         (Depends-on): Add ansi-c++-opt.
32079         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32080         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32081         gl_MODULE_INDICATOR.
32082
32083         Tests of module 'stdio' in C++ mode.
32084         * tests/test-stdio-c++.cc: New file.
32085         * modules/stdio-tests (Files): Add it and tests/signature.h.
32086         (Depends-on): Add ansi-c++-opt.
32087         (Makefile.am): Arrange to compile and run test-stdio-c++.
32088         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32089         gl_MODULE_INDICATOR.
32090
32091         Tests of module 'spawn' in C++ mode.
32092         * tests/test-spawn-c++.cc: New file.
32093         * modules/spawn-tests (Files): Add it and tests/signature.h.
32094         (Depends-on): Add ansi-c++-opt.
32095         (Makefile.am): Arrange to compile and run test-spawn-c++.
32096         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
32097         gl_MODULE_INDICATOR.
32098
32099         Tests of module 'signal' in C++ mode.
32100         * tests/test-signal-c++.cc: New file.
32101         * modules/signal-tests (Files): Add it and tests/signature.h.
32102         (Depends-on): Add ansi-c++-opt.
32103         (Makefile.am): Arrange to compile and run test-signal-c++.
32104         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
32105         gl_MODULE_INDICATOR.
32106
32107         Tests of module 'search' in C++ mode.
32108         * tests/test-search-c++.cc: New file.
32109         * modules/search-tests (Files): Add it and tests/signature.h.
32110         (Depends-on): Add ansi-c++-opt.
32111         (Makefile.am): Arrange to compile and run test-search-c++.
32112         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
32113         gl_MODULE_INDICATOR.
32114
32115         Tests of module 'math' in C++ mode.
32116         * tests/test-math-c++.cc: New file.
32117         * modules/math-tests (Files): Add it and tests/signature.h.
32118         (Depends-on): Add ansi-c++-opt.
32119         (Makefile.am): Arrange to compile and run test-math-c++.
32120         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32121
32122         Tests of module 'locale' in C++ mode.
32123         * tests/test-locale-c++.cc: New file.
32124         * modules/locale-tests (Files): Add it and tests/signature.h.
32125         (Depends-on): Add ansi-c++-opt.
32126         (Makefile.am): Arrange to compile and run test-locale-c++.
32127         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
32128         gl_MODULE_INDICATOR.
32129
32130         Tests of module 'langinfo' in C++ mode.
32131         * tests/test-langinfo-c++.cc: New file.
32132         * modules/langinfo-tests (Files): Add it and tests/signature.h.
32133         (Depends-on): Add ansi-c++-opt.
32134         (Makefile.am): Arrange to compile and run test-langinfo-c++.
32135         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
32136         gl_MODULE_INDICATOR.
32137
32138         Tests of module 'iconv-h' in C++ mode.
32139         * tests/test-iconv-h-c++.cc: New file.
32140         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
32141         (Depends-on): Add ansi-c++-opt.
32142         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
32143
32144         Tests of module 'glob' in C++ mode.
32145         * tests/test-glob-c++.cc: New file.
32146         * modules/glob-tests (Files): Add it.
32147         (Depends-on): Add ansi-c++-opt.
32148         (Makefile.am): Arrange to compile and run test-glob-c++.
32149
32150         Tests of module 'fcntl-h' in C++ mode.
32151         * tests/test-fcntl-h-c++.cc: New file.
32152         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
32153         (Depends-on): Add ansi-c++-opt.
32154         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
32155         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
32156         gl_MODULE_INDICATOR.
32157
32158         Tests of module 'dirent' in C++ mode.
32159         * tests/test-dirent-c++.cc: New file.
32160         * modules/dirent-tests (Files): Add it and tests/signature.h.
32161         (Depends-on): Add ansi-c++-opt.
32162         (Makefile.am): Arrange to compile and run test-dirent-c++.
32163         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32164         gl_MODULE_INDICATOR.
32165
32166         New module 'ansi-c++-opt'.
32167         * modules/ansi-c++-opt: New file.
32168         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
32169
32170         Document C++ namespace mode.
32171         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
32172
32173         wctype: Avoid #define replacements in C++ mode.
32174         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
32175         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
32176         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
32177         In C++, define a namespaced alias symbol.
32178         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
32179         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
32180         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
32181         rule.
32182
32183         wchar: Avoid #define replacements in C++ mode.
32184         * lib/wchar.in.h: Include c++defs.h.
32185         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
32186         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
32187         symbol.
32188         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
32189         * modules/wchar (Depends-on): Add c++defs.
32190         (Makefile.am): Update wchar.h rule.
32191
32192         unistd: Avoid #define replacements in C++ mode.
32193         * lib/unistd.in.h: Include c++defs.h.
32194         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
32195         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
32196         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
32197         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
32198         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
32199         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
32200         symbol.
32201         (environ): Update.
32202         * modules/unistd (Depends-on): Add c++defs.
32203         (Makefile.am): Update unistd.h rule.
32204
32205         time: Avoid #define replacements in C++ mode.
32206         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
32207         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
32208         define a namespaced alias symbol.
32209         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
32210         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
32211         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
32212         * modules/time (Depends-on): Add c++defs, warn-on-use.
32213         (Makefile.am): Update time.h rule.
32214         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32215         * modules/nanosleep (configure.ac): Likewise.
32216         * modules/strptime (configure.ac): Likewise.
32217         * modules/timegm (configure.ac): Likewise.
32218
32219         sys_time: Avoid #define replacements in C++ mode.
32220         * lib/sys_time.in.h: Include c++defs.h.
32221         (gettimeofday): In C++, define a namespaced alias symbol.
32222         * modules/sys_time (Depends-on): Add c++defs.
32223         (Makefile.am): Update sys/time.h rule.
32224
32225         sys_stat: Avoid #define replacements in C++ mode.
32226         * lib/sys_stat.in.h: Include c++defs.h.
32227         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
32228         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
32229         namespaced alias symbol.
32230         In C++, define a namespaced alias symbol.
32231         * modules/sys_stat (Depends-on): Add c++defs.
32232         (Makefile.am): Update sys/stat.h rule.
32233
32234         sys_socket: Avoid #define replacements in C++ mode.
32235         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
32236         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
32237         definitions also when the system has a <sys/socket.h>.
32238         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
32239         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
32240         In C++, define a namespaced alias symbol.
32241         * modules/sys_socket (Depends-on): Add c++defs.
32242         (Makefile.am): Update sys/socket.h rule.
32243
32244         sys_select: Avoid #define replacements in C++ mode.
32245         * lib/sys_select.in.h: Include c++defs.h. Enable the function
32246         definitions also when the system has a <sys/select.h>.
32247         (select): In C++, define a namespaced alias symbol.
32248         * modules/sys_select (Depends-on): Add c++defs.
32249         (Makefile.am): Update sys/select.h rule.
32250
32251         sys_ioctl: Avoid #define replacements in C++ mode.
32252         * lib/sys_ioctl.in.h: Include c++defs.h.
32253         (ioctl): In C++, define a namespaced alias symbol.
32254         * modules/sys_ioctl (Depends-on): Add c++defs.
32255         (Makefile.am): Update sys/ioctl.h rule.
32256
32257         string: Avoid #define replacements in C++ mode.
32258         * lib/string.in.h: Include c++defs.h.
32259         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
32260         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32261         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32262         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
32263         strsignal, strverscmp): In C++, define a namespaced alias symbol.
32264         * modules/string (Depends-on): Add c++defs.
32265         (Makefile.am): Update string.h rule.
32266
32267         stdlib: Avoid #define replacements in C++ mode.
32268         * lib/stdlib.in.h: Include c++defs.h.
32269         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
32270         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
32271         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
32272         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
32273         symbol.
32274         * modules/stdlib (Depends-on): Add c++defs.
32275         (Makefile.am): Update stdlib.h rule.
32276
32277         stdio: Avoid #define replacements in C++ mode.
32278         * lib/stdio.in.h: Include c++defs.h.
32279         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
32280         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
32281         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
32282         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
32283         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
32284         namespaced alias symbol.
32285         * modules/stdio (Depends-on): Add c++defs.
32286         (Makefile.am): Update stdio.h rule.
32287
32288         spawn: Avoid #define replacements in C++ mode.
32289         * lib/spawn.in.h: Include c++defs.h.
32290         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32291         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32292         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32293         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32294         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32295         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32296         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32297         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32298         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32299         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32300         In C++, define a namespaced alias symbol.
32301         * modules/spawn (Depends-on): Add c++defs.
32302         (Makefile.am): Update spawn.h rule.
32303
32304         signal: Avoid #define replacements in C++ mode.
32305         * lib/signal.in.h: Include c++defs.h.
32306         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
32307         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
32308         namespaced alias symbol.
32309         * modules/signal (Depends-on): Add c++defs.
32310         (Makefile.am): Update signal.h rule.
32311
32312         search: Avoid #define replacements in C++ mode.
32313         * lib/search.in.h: Include c++defs.h.
32314         (_gl_search_compar_fn, _gl_search_action_fn): New types.
32315         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
32316         symbol.
32317         * modules/search (Depends-on): Add c++defs.
32318         (Makefile.am): Update search.h rule.
32319
32320         math: Avoid #define replacements in C++ mode.
32321         * lib/math.in.h: Include c++defs.h.
32322         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
32323         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
32324         trunc, truncl): In C++, define a namespaced alias symbol.
32325         * modules/math (Depends-on): Add c++defs.
32326         (Makefile.am): Update math.h rule.
32327
32328         locale: Avoid #define replacements in C++ mode.
32329         * lib/locale.in.h: Include c++defs.h.
32330         (duplocale): In C++, define a namespaced alias symbol.
32331         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
32332         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
32333         * modules/locale (Depends-on): Add c++defs.
32334         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
32335
32336         langinfo: Avoid #define replacements in C++ mode.
32337         * lib/langinfo.in.h: Include c++defs.h.
32338         (nl_langinfo): In C++, define a namespaced alias symbol.
32339         * modules/langinfo (Depends-on): Add c++defs.
32340         (Makefile.am): Update langinfo.h rule.
32341
32342         iconv-h: Avoid #define replacements in C++ mode.
32343         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
32344         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
32345         symbol.
32346         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
32347         whenever iconv is present.
32348         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
32349         (Makefile.am): Update iconv.h rule.
32350
32351         glob: Avoid #define replacements in C++ mode.
32352         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
32353         (_gl_glob_errfunc_fn): New type.
32354         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
32355         symbol.
32356         * modules/glob (Depends-on): Add c++defs, warn-on-use.
32357         (Makefile.am): Update glob.h rule.
32358
32359         fcntl-h: Avoid #define replacements in C++ mode.
32360         * lib/fcntl.in.h: Include c++defs.h.
32361         (fcntl, open, openat): In C++, define a namespaced alias symbol.
32362         * modules/fcntl-h (Depends-on): Add c++defs.
32363         (Makefile.am): Update fcntl.h rule.
32364
32365         dirent: Avoid #define replacements in C++ mode.
32366         * lib/dirent.in.h: Include c++defs.h.
32367         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
32368         namespaced alias symbol.
32369         (dirfd): Update declaration.
32370         * modules/dirent (Depends-on): Add c++defs.
32371         (Makefile.am): Update dirent.h rule.
32372
32373         ctype: Make it usable in C++ code.
32374         * lib/ctype.in.h: Include c++defs.h.
32375         (isblank): Declare as extern "C".
32376         * modules/ctype (Depends-on): Add c++defs.
32377         (Makefile.am): Update ctype.h rule.
32378
32379         New module 'c++defs'.
32380         * modules/c++defs: New file.
32381         * build-aux/c++defs.h: New file.
32382         Reported by John W. Eaton <jwe@gnu.org>.
32383
32384 2010-03-07  Bruno Haible  <bruno@clisp.org>
32385
32386         logb: Provide missing declaration for Cygwin.
32387         * lib/math.in.h (logb): New declaration.
32388         * m4/logb.m4: New file.
32389         * modules/logb (Files): Add m4/logb.m4.
32390         (Depends-on): Add math.
32391         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
32392         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
32393         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
32394         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
32395         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
32396
32397 2010-03-07  Bruno Haible  <bruno@clisp.org>
32398
32399         Fix test-cond link error.
32400         * tests/test-cond.c: Include <stdio.h>.
32401
32402 2010-03-07  Bruno Haible  <bruno@clisp.org>
32403
32404         Fix test-dirent-safer link error.
32405         * modules/dirent-safer-tests (Makefile.am): Define
32406         test_dirent_safer_LDADD.
32407
32408 2010-03-07  Bruno Haible  <bruno@clisp.org>
32409
32410         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
32411         among default module list.
32412
32413 2010-03-07  Bruno Haible  <bruno@clisp.org>
32414
32415         Fix link error on platforms with GNU libiconv.
32416         * modules/unistr/u8-strcoll-tests (Makefile): Define
32417         test_u8_strcoll_LDADD.
32418         * modules/unistr/u16-strcoll-tests (Makefile): Define
32419         test_u16_strcoll_LDADD.
32420         * modules/unistr/u32-strcoll-tests (Makefile): Define
32421         test_u32_strcoll_LDADD.
32422
32423 2010-03-07  Bruno Haible  <bruno@clisp.org>
32424
32425         Use POSIX declarations for socket functions.
32426         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
32427         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
32428         rpl_sendto): Change declaration to match POSIX.
32429         * lib/connect.c (rpl_connect): Likewise.
32430         * lib/accept.c (rpl_accept): Likewise.
32431         * lib/bind.c (rpl_bind): Likewise.
32432         * lib/getpeername.c (rpl_getpeername): Likewise.
32433         * lib/getsockname.c (rpl_getsockname): Likewise.
32434         * lib/recv.c (rpl_recv): Likewise.
32435         * lib/send.c (rpl_send): Likewise.
32436         * lib/recvfrom.c (rpl_recvfrom): Likewise.
32437         * lib/sendto.c (rpl_sendto): Likewise.
32438
32439 2010-03-06  Bruno Haible  <bruno@clisp.org>
32440
32441         Clarify access, euidaccess, faccessat.
32442         * doc/posix-functions/faccessat.texi: Mention security problem under
32443         "Other problems", not "Portability problems".
32444         * doc/posix-functions/access.texi: Likewise. Mention a related security
32445         problem.
32446         * doc/glibc-functions/euidaccess.texi: Mention security problems.
32447         * lib/euidaccess.c: Add comments about platforms.
32448         * lib/unistd.in.h (access, euidaccess): Add warnings.
32449
32450 2010-03-07  Bruno Haible  <bruno@clisp.org>
32451
32452         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
32453         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
32454         (POSIX_SPAWN_SETSCHEDULER): Likewise.
32455         (POSIX_SPAWN_USEVFORK): Define in a way that works when
32456         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32457         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
32458         declare when POSIX_SPAWN_SETSCHEDULER is zero.
32459         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
32460         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
32461         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
32462         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
32463         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
32464         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
32465         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
32466         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
32467         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
32468         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
32469         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
32470         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
32471         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
32472         Likewise.
32473         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
32474         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
32475         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
32476         Likewise.
32477         * tests/test-spawn.c (main): Make it work when
32478         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32479
32480 2010-03-07  Bruno Haible  <bruno@clisp.org>
32481
32482         Fix incorrect Makefile.am generation in German locale.
32483         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32484         Execute sed command with character range in C locale.
32485
32486 2010-03-06  Bruno Haible  <bruno@clisp.org>
32487
32488         Tests for module 'iconv-h'.
32489         * modules/iconv-h-tests: New file.
32490         * tests/test-iconv-h.c: New file.
32491
32492         New module 'iconv-h'.
32493         * modules/iconv-h: New file.
32494         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
32495         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
32496         (configure.ac): Remove gl_ICONV_H.
32497         (Makefile.am): Remove rule for iconv.h.
32498
32499 2010-03-06  Bruno Haible  <bruno@clisp.org>
32500
32501         More consistent naming of *.m4 files.
32502         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
32503         * modules/wctype (Files): Update.
32504
32505         More consistent naming of *.m4 files.
32506         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
32507         * modules/wchar (Files): Update.
32508
32509 2010-03-06  Jim Meyering  <meyering@redhat.com>
32510
32511         euidaccess: relax license to LGPLv2+
32512         * modules/euidaccess (License): Relax to LGPLv2+.
32513
32514 2010-03-06  Bruno Haible  <bruno@clisp.org>
32515
32516         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
32517         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
32518         (Makefile.am): Augment lib_SOURCES instead.
32519
32520 2010-03-04  Jim Meyering  <meyering@redhat.com>
32521
32522         utime: remove obsolete module
32523         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
32524         unnecessary for years, and has been marked as obsolete for 10 months.
32525         * modules/utime: Remove file.
32526         * lib/utime.c: Remove file.
32527         * m4/utime.m4: Remove file.
32528         * m4/utimes-null.m4: Remove file.
32529         * doc/posix-functions/utime.texi (utime): Remove reference to
32530         the module.  Move the sole "fixed by gnulib" item into the
32531         "problems not fixed by Gnulib" list.
32532         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
32533
32534 2010-03-05  Simon Josefsson  <simon@josefsson.org>
32535
32536         * modules/exit (License): Relax license to LGPLv2+.
32537         (Status): Mark as obsolete.
32538         * NEWS: Mention deprecated 'exit' module.
32539         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
32540         of now obsolete 'exit'.
32541
32542 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32543
32544         fts-lgpl: remove unused module
32545         * modules/fts-lgpl: Remove.
32546         * MODULES.html.sh (func_all_modules): Adjust.
32547         * check-module (find_included_lib_files): Adjust.
32548         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
32549
32550 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
32551
32552         copy-acl: enhance Solaris ACL error handling
32553         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
32554         * lib/set-mode-acl.c (qset_acl): Likewise.
32555
32556 2010-03-02  Bruno Haible  <bruno@clisp.org>
32557
32558         spawn: Don't override the system defined values on FreeBSD 8.
32559         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
32560         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
32561         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
32562         if HAVE_POSIX_SPAWN is 1.
32563         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
32564
32565 2010-03-01  Bruno Haible  <bruno@clisp.org>
32566
32567         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
32568         regarding Automake.
32569
32570 2010-02-25  Bruno Haible  <bruno@clisp.org>
32571
32572         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
32573         * gnulib-tool: Define 'echo' as a function only before the ksh alias
32574         setting, not afterwards.
32575         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
32576
32577 2010-02-24  Eric Blake  <eblake@redhat.com>
32578
32579         bootstrap, git-version-gen: use timestamp
32580         * build-aux/git-version-gen (scriptversion): Force UTC.
32581         * build-aux/bootstrap (scriptversion): New variable.
32582
32583         bootstrap: allow older git
32584         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
32585         older than 1.6.4.  Requested by the libvirt project.
32586
32587 2010-02-23  Eric Blake  <eblake@redhat.com>
32588
32589         warn-on-use: work with old autoconf
32590         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
32591         AS_VAR semantics of autoconf 2.60.
32592         Reported by Bruno Haible.
32593
32594         bootstrap: improve some comments
32595         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
32596         clarification comments.
32597
32598         gettimeofday: provide correct function
32599         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
32600         when replacement is declared, otherwise provide gettimeofday.
32601         Reported by Michael Goffioul.
32602
32603 2010-02-23  Jim Meyering  <meyering@redhat.com>
32604
32605         lib-ignore: relax license to "unlimited", not LGPLv2+
32606         * modules/lib-ignore (License): Relax to "unlimited".
32607
32608 2010-02-23  Jim Meyering  <meyering@redhat.com>
32609
32610         lib-ignore: relax license to LGPLv2+
32611         * modules/lib-ignore (License): Relax to LGPLv2+.
32612
32613 2010-02-22  Eric Blake  <eblake@redhat.com>
32614
32615         lseek: avoid bash 3.2 broken pipe bug
32616         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
32617         warning from bash 3.2.
32618         Reported by Ben Pfaff, with analysis from Bruno Haible.
32619
32620         bootstrap: support non-FSF copyright holder
32621         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
32622         bootstrap.conf override of COPYRIGHT_HOLDER.
32623         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
32624
32625         bootstrap: interoperate with gettext 0.14.1
32626         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
32627
32628         bootstrap: allow for alternate submodule location
32629         * build-aux/bootstrap (gnulib_path): New variable; use instead of
32630         hardcoding submodule location.
32631         (gnulib_mk): Allow direct use of Makefile.am.
32632
32633         bootstrap: use GNULIB_SRCDIR to reduce disk usage
32634         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
32635         rather than reconfiguring where the submodule points.
32636
32637         gettimeofday: restore support for platforms that lack function
32638         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
32639         replacement if function is missing.
32640         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
32641         * modules/sys_time (Makefile.am): Substitute it.
32642         * lib/sys_time.in.h (gettimeofday): Check it.
32643         Reported by Michael Goffioul.
32644
32645 2010-02-21  Bruno Haible  <bruno@clisp.org>
32646
32647         * lib/stdio.in.h (obstack_printf): Fix typo.
32648
32649 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
32650
32651         vc-list-files: use bzr ls's -R option
32652         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
32653         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
32654
32655 2010-02-21  Jim Meyering  <meyering@redhat.com>
32656
32657         init.sh: fix EXEEXT shims to work also for names like test-prog
32658         * tests/init.sh: Re-exec a better shell, when needed.
32659         If the current shell lacks support for posix $(...), an init.sh-using
32660         test will now try to find a shell that supports that.  If EXEEXT is
32661         nonempty, we also require support for hyphen-in-alias-name and shell
32662         substitutions like ${var#glob}.  Failure to find such a shell results
32663         in a skipped test.
32664
32665 2010-02-21  Bruno Haible  <bruno@clisp.org>
32666
32667         Really work around around "broken pipe" error message from bash 3.2.
32668         * gnulib-tool (func_reset_sigpipe): Remove function.
32669         (echo): In bash 3.2, define to a function that uses printf.
32670         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
32671
32672 2010-02-20  Bruno Haible  <bruno@clisp.org>
32673
32674         Restore support for automake 1.9.6 with autoconf 2.61.
32675         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
32676         Reported by James Youngman <jay@gnu.org>.
32677
32678 2010-02-20  Bruno Haible  <bruno@clisp.org>
32679
32680         Improve *printf warning condition.
32681         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
32682         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
32683         and the function is overridden due to SIGPIPE emulation.
32684
32685 2010-02-20  Bruno Haible  <bruno@clisp.org>
32686
32687         * lib/stdio.in.h: Tweak comments.
32688
32689 2010-02-19  Bruno Haible  <bruno@clisp.org>
32690
32691         Make it easier to find modules. New gnulib-tool option '--find'.
32692         * gnulib-tool: New option --find.
32693         (func_usage): Document it.
32694         (func_sanitize_modulelist): New function, extracted from
32695         func_all_modules.
32696         (func_all_modules): Invoke it.
32697         * doc/gnulib-tool.texi (Which modules?): New node.
32698
32699 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
32700
32701         * lib/sys_select.in.h: Provide select replacement even if
32702         sys/select.h exists on a system, for Interix.
32703
32704 2010-02-18  Jim Meyering  <meyering@redhat.com>
32705
32706         init.sh: don't use $(...) just yet
32707         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
32708         to accommodate e.g., Solaris' /bin/sh.
32709
32710 2010-02-17  Bruno Haible  <bruno@clisp.org>
32711
32712         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
32713         Reported by Ludovic Courtès <ludo@gnu.org>.
32714
32715 2010-02-16  Simon Josefsson  <simon@josefsson.org>
32716
32717         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
32718         linking with -lintl.
32719
32720 2010-02-17  Simon Josefsson  <simon@josefsson.org>
32721
32722         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
32723         if not provided by the system's netdb.h.  Reported by
32724         ludo@gnu.org (Ludovic Courtès).
32725
32726 2010-02-15  Jim Meyering  <meyering@redhat.com>
32727
32728         init.sh: improve portability and efficiency
32729         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
32730         "dummy" in a for loop.
32731         Use '!', not '^' to select the complement of a character set used
32732         in a "case" statement.
32733         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
32734         Suggestions from Eric Blake.
32735
32736         init.sh: automatically accommodate programs with the .exe suffix
32737         Automatically arrange for an invocation of "prog" to execute the
32738         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
32739         may use the simpler "prog", yet still work when built on a system
32740         that requires specifying the added suffix.
32741         Do this by constructing a function named "prog" that invokes
32742         "prog.exe" for each .exe file in selected directories.
32743         * tests/init.sh (find_exe_basenames_): New function.
32744         (create_exe_shim_functions_): New function.
32745         (path_prepend_): Use it.
32746
32747         maint.mk: mark syntax-check sc_*.m rules as .PHONY
32748         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
32749         "make -t syntax-check" doesn't create a ton of sc_*.m files.
32750
32751 2010-02-14  Jim Meyering  <meyering@redhat.com>
32752
32753         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
32754         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
32755         (sc_prohibit_hash_pjw_without_use): New rule.
32756
32757         maint.mk: allow the default upload destination dir to be overridden
32758         * top/maint.mk (upload_dest_dir_): Define with a default that
32759         preserves the status quo.
32760         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
32761         Reported by Peter Simons.
32762
32763         maint.mk: prohibit inclusion of "hash.h" without_use
32764         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
32765
32766 2010-02-10  Jim Meyering  <meyering@redhat.com>
32767
32768         maint.mk: prohibit inclusion of "ignore-value.h" without_use
32769         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
32770
32771 2010-02-09  Eric Blake  <ebb9@byu.net>
32772         and Bruno Haible  <bruno@clisp.org>
32773
32774         obstack-printf-posix: ensure declaration
32775         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
32776         extracted from gl_FUNC_OBSTACK_PRINTF.
32777         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
32778         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
32779         Likewise.
32780         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
32781         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
32782         0.
32783
32784 2010-02-08  Bruno Haible  <bruno@clisp.org>
32785
32786         gnulib-tool: Fix typo in 2010-02-07 commit.
32787         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
32788         Reported by Eric Blake.
32789
32790 2010-02-07  Bruno Haible  <bruno@clisp.org>
32791
32792         gnulib-tool: Fix up caching patches.
32793         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
32794         option --no-cache. Use associative arrays when supported by the shell.
32795         (sed_comments): New variable.
32796         (modcache): Renamed from do_cache.
32797         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
32798         abbreviate unnecessarily.
32799         (have_associative): New variable.
32800         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
32801         way also for ksh and zsh.
32802         (func_init_sed_convert_to_cache_statements): New function, extracted
32803         from func_cache_lookup_module. Add support for associative arrays.
32804         Don't set the c_MODULE_cached variable here. Ignore all lines before
32805         the first field header. Remove only the final newline, not all trailing
32806         newlines. Support empty fields correctly. Limit the use of 'eval' to
32807         assignments.
32808         (func_get_description, func_get_status, func_get_notice,
32809         func_get_applicability, func_get_filelist, func_get_dependencies,
32810         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
32811         func_get_automake_snippet, func_get_include_directive,
32812         func_get_link_directive, func_get_license, func_get_maintainer):
32813         Update documentation. List the unoptimized code first. Add support for
32814         associative arrays. Limit the use of 'eval' to assignments.
32815         (func_get_applicability): Undo stylistic pessimisations.
32816         (func_get_automake_snippet, func_get_include_directive): Reduce code
32817         duplication.
32818         (func_modules_transitive_closure, func_modules_add_dummy,
32819         func_modules_notice, func_modules_to_filelist, func_add_file,
32820         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
32821         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
32822         func_create_testdir, func_create_megatestdir): Update documentation.
32823
32824 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32825
32826         * gnulib-tool (func_cache_lookup_module): Store the module name
32827         belonging to the cache variable; error out if two different
32828         module names map to the same cache variable name.
32829
32830 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32831
32832         gnulib-tool: Make caching optional.
32833         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
32834         Update matching short versions of --no-changelog.
32835         (func_usage): Update.
32836         (sed_extract_cache_prog): Renamed from ...
32837         (sed_extract_prog): ... this; revert to old extraction script.
32838         (func_get_description, func_get_status)
32839         (func_get_notice, func_get_applicability, func_get_filelist)
32840         (func_get_dependencies, func_get_autoconf_early_snippet)
32841         (func_get_autoconf_snippet, func_get_automake_snippet)
32842         (func_get_include_directive, func_get_link_directive)
32843         (func_get_license, func_get_maintainer): If $do_cache is false,
32844         use old, non-caching extraction scripts.
32845         Suggestion by Bruno Haible.
32846
32847 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32848
32849         gnulib-tool: cache module metainformation.
32850         * gnulib-tool (sed_extract_prog): Match newline before each
32851         header, and rewrite header to a shell variable suffix.
32852         (func_cache_var, func_cache_lookup_module): New functions,
32853         to turn a module name into a cache variable prefix, and to
32854         look up and cache module metainformation.
32855         (func_get_description, func_get_status)
32856         (func_get_notice, func_get_applicability, func_get_filelist)
32857         (func_get_dependencies, func_get_autoconf_early_snippet)
32858         (func_get_autoconf_snippet, func_get_automake_snippet)
32859         (func_get_include_directive, func_get_link_directive)
32860         (func_get_license, func_get_maintainer): Use
32861         func_cache_lookup_module.
32862
32863 2010-02-07  Bruno Haible  <bruno@clisp.org>
32864
32865         fnctl: Fix missing dependency.
32866         * modules/fcntl (Depends-on): Add getdtablesize.
32867         Reported by John W. Eaton <jwe@gnu.org>.
32868
32869 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32870
32871         Argp: fix recognition of short alias options.
32872
32873         * lib/argp-parse.c (convert_options): Fix improper use of
32874         `|' between character values.
32875         * tests/test-argp.c (group1_option): New alias option
32876         --read (-r).
32877         (group1_parser): Special handling for 'r'.
32878         (test15): New test case.
32879         (test_fun): Add test15.
32880         * tests/test-argp-2.sh: Update expected --help and --usage
32881         outputs.
32882
32883 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32884
32885         * tests/test-argp.c: Fix indentation.
32886
32887 2010-02-04  Eric Blake  <ebb9@byu.net>
32888
32889         gettimeofday: expose type of second argument
32890         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
32891         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
32892         * tests/test-gettimeofday.c: Use it to silence warning.
32893         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
32894         the issue.
32895
32896 2010-02-03  Jim Meyering  <meyering@redhat.com>
32897
32898         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
32899         * lib/regcomp.c (TYPE_SIGNED): Define.
32900         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
32901
32902         regcomp.c: avoid a new -Wshadow warning
32903         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
32904
32905 2010-02-01  Jim Meyering  <meyering@redhat.com>
32906
32907         removing useless parentheses in cpp #define directives
32908         For motivation, see commit c0221df4, "define STREQ(a,b)
32909         consistently, removing useless parentheses"
32910         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
32911         * lib/mountlist.c (MNT_IGNORE): Likewise.
32912         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
32913
32914 2010-02-01  Eric Blake  <ebb9@byu.net>
32915
32916         sys_time: use link-warning
32917         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
32918         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
32919         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
32920         * modules/sys_time (Depends-on): Add warn-on-use.
32921         (Makefile.am): Always build replacement.
32922         (configure.ac): Update substitutions.
32923         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
32924         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
32925         bother with SYS_TIME_H.
32926         * modules/gettimeofday (configure.ac): Declare indicator.
32927         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
32928         in use.
32929
32930         closein-tests: silence compiler warning
32931         * tests/test-closein.c (main): Ignore fread result.
32932         * modules/closein-tests (Depends-on): Add ignore-value.
32933
32934         tests: silence warning about system return
32935         * tests/test-areadlink-with-size.c (main): Ignore system result.
32936         * tests/test-areadlink.c (main): Likewise.
32937         * tests/test-areadlinkat-with-size.c (main): Likewise.
32938         * tests/test-areadlinkat.c (main): Likewise.
32939         * tests/test-canonicalize-lgpl.c (main): Likewise.
32940         * tests/test-canonicalize.c (main): Likewise.
32941         * tests/test-chown.c (main): Likewise.
32942         * tests/test-fchownat.c (main): Likewise.
32943         * tests/test-fdutimensat.c (main): Likewise.
32944         * tests/test-fstatat.c (main): Likewise.
32945         * tests/test-futimens.c (main): Likewise.
32946         * tests/test-lchown.c (main): Likewise.
32947         * tests/test-link.c (main): Likewise.
32948         * tests/test-linkat.c (main): Likewise.
32949         * tests/test-lstat.c (main): Likewise.
32950         * tests/test-mkdir.c (main): Likewise.
32951         * tests/test-mkdirat.c (main): Likewise.
32952         * tests/test-mkfifo.c (main): Likewise.
32953         * tests/test-mkfifoat.c (main): Likewise.
32954         * tests/test-mknod.c (main): Likewise.
32955         * tests/test-readlink.c (main): Likewise.
32956         * tests/test-remove.c (main): Likewise.
32957         * tests/test-rename.c (main): Likewise.
32958         * tests/test-renameat.c (main): Likewise.
32959         * tests/test-rmdir.c (main): Likewise.
32960         * tests/test-symlink.c (main): Likewise.
32961         * tests/test-symlinkat.c (main): Likewise.
32962         * tests/test-unlink.c (main): Likewise.
32963         * tests/test-unlinkat.c (main): Likewise.
32964         * tests/test-utimens.c (main): Likewise.
32965         * tests/test-utimensat.c (main): Likewise.
32966         * modules/areadlink-tests (Depends-on): Add ignore-value.
32967         * modules/areadlink-with-size-tests (Depends-on): Likewise.
32968         * modules/areadlinkat-tests (Depends-on): Likewise.
32969         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
32970         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
32971         * modules/canonicalize-tests (Depends-on): Likewise.
32972         * modules/chown-tests (Depends-on): Likewise.
32973         * modules/fdutimensat-tests (Depends-on): Likewise.
32974         * modules/futimens-tests (Depends-on): Likewise.
32975         * modules/lchown-tests (Depends-on): Likewise.
32976         * modules/link-tests (Depends-on): Likewise.
32977         * modules/linkat-tests (Depends-on): Likewise.
32978         * modules/lstat-tests (Depends-on): Likewise.
32979         * modules/mkdir-tests (Depends-on): Likewise.
32980         * modules/mkfifo-tests (Depends-on): Likewise.
32981         * modules/mkfifoat-tests (Depends-on): Likewise.
32982         * modules/mknod-tests (Depends-on): Likewise.
32983         * modules/openat-tests (Depends-on): Likewise.
32984         * modules/readlink-tests (Depends-on): Likewise.
32985         * modules/remove-tests (Depends-on): Likewise.
32986         * modules/rename-tests (Depends-on): Likewise.
32987         * modules/renameat-tests (Depends-on): Likewise.
32988         * modules/rmdir-tests (Depends-on): Likewise.
32989         * modules/symlink-tests (Depends-on): Likewise.
32990         * modules/symlinkat-tests (Depends-on): Likewise.
32991         * modules/unlink-tests (Depends-on): Likewise.
32992         * modules/utimens-tests (Depends-on): Likewise.
32993         * modules/utimensat-tests (Depends-on): Likewise.
32994
32995 2010-01-31  Bruno Haible  <bruno@clisp.org>
32996
32997         Perform the same test for many <math.h> functions.
32998         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
32999         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33000         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33001         of gl_MATHFUNC.
33002         * modules/acos (configure.ac): Likewise.
33003         * modules/asin (configure.ac): Likewise.
33004         * modules/atan (configure.ac): Likewise.
33005         * modules/atan2 (configure.ac): Likewise.
33006         * modules/cbrt (configure.ac): Likewise.
33007         * modules/copysign (configure.ac): Likewise.
33008         * modules/cos (configure.ac): Likewise.
33009         * modules/cosh (configure.ac): Likewise.
33010         * modules/erf (configure.ac): Likewise.
33011         * modules/erfc (configure.ac): Likewise.
33012         * modules/exp (configure.ac): Likewise.
33013         * modules/fmod (configure.ac): Likewise.
33014         * modules/hypot (configure.ac): Likewise.
33015         * modules/j0 (configure.ac): Likewise.
33016         * modules/j1 (configure.ac): Likewise.
33017         * modules/jn (configure.ac): Likewise.
33018         * modules/lgamma (configure.ac): Likewise.
33019         * modules/log (configure.ac): Likewise.
33020         * modules/log10 (configure.ac): Likewise.
33021         * modules/log1p (configure.ac): Likewise.
33022         * modules/pow (configure.ac): Likewise.
33023         * modules/remainder (configure.ac): Likewise.
33024         * modules/sin (configure.ac): Likewise.
33025         * modules/sinh (configure.ac): Likewise.
33026         * modules/tan (configure.ac): Likewise.
33027         * modules/tanh (configure.ac): Likewise.
33028         * modules/y0 (configure.ac): Likewise.
33029         * modules/y1 (configure.ac): Likewise.
33030         * modules/yn (configure.ac): Likewise.
33031         Suggested by Paolo Bonzini.
33032
33033 2010-01-31  Bruno Haible  <bruno@clisp.org>
33034
33035         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33036
33037 2010-01-31  Bruno Haible  <bruno@clisp.org>
33038
33039         Work around getdelim() bug on FreeBSD 8.0.
33040         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33041         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33042         not work.
33043         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33044         is 1.
33045         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33046         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33047         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33048         a non-zero size.
33049         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33050
33051 2010-01-31  Bruno Haible  <bruno@clisp.org>
33052
33053         Work around getline() bug on FreeBSD 8.0.
33054         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33055         and a non-zero size.
33056         * tests/test-getline.c (main): Likewise.
33057         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33058         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33059
33060 2010-01-28  Eric Blake  <ebb9@byu.net>
33061
33062         regex: fix build failure
33063         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33064         platforms.
33065
33066 2010-01-28  Jim Meyering  <meyering@redhat.com>
33067
33068         regex: do not ignore memory allocation failure
33069         * lib/regex_internal.c (create_cd_newstate): Detect
33070         re_node_set_init_copy failure.   Extracted from glibc commit
33071         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33072
33073         regex: sync more white-space changes from libc
33074         * lib/regex_internal.c: White-space only changes.
33075         * lib/regexec.c: Likewise.
33076
33077         regex: add many uses of __attribute_warn_unused_result__
33078         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33079         * lib/regexec.c: Likewise.
33080         Extracted from a messy glibc commit.
33081
33082         regcomp.c: spelling and merge-artifact from glibc
33083         * lib/regcomp.c: Merge remainder of glibc's
33084         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33085
33086         regcomp.c: sync white-space changes from glibc
33087         * lib/regcomp.c: Merge to accommodate white space
33088         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33089
33090         regcomp.c: do not ignore internal return values
33091         * lib/regcomp.c: Do not ignore internal return values.
33092         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33093         but without its white-space changes and spelling fixes.
33094
33095         regex_internal.h: define __attribute_warn_unused_result__
33096         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
33097
33098         maint: add a syntax-check rule to check for vulnerable Makefile.in
33099         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
33100
33101 2010-01-27  Jim Meyering  <meyering@redhat.com>
33102
33103         ncftpput-ftp: clean up spaces
33104         * build-aux/ncftpput-ftp: Make Copyright line consistent.
33105         Remove trailing blanks.
33106
33107 2010-01-27  Simon Josefsson  <simon@josefsson.org>
33108
33109         * build-aux/git-version-gen: Fix copyright statement.
33110         * build-aux/gnupload: Likewise.
33111         * tests/test-arcfour.c: Likewise.
33112         * tests/test-arctwo.c: Likewise.
33113         * tests/test-count-one-bits.c: Likewise.
33114         * tests/test-crc.c: Likewise.
33115         * tests/test-des.c: Likewise.
33116         * tests/test-gc-arcfour.c: Likewise.
33117         * tests/test-gc-arctwo.c: Likewise.
33118         * tests/test-gc-des.c: Likewise.
33119         * tests/test-gc-hmac-md5.c: Likewise.
33120         * tests/test-gc-hmac-sha1.c: Likewise.
33121         * tests/test-gc-md2.c: Likewise.
33122         * tests/test-gc-md4.c: Likewise.
33123         * tests/test-gc-md5.c: Likewise.
33124         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33125         * tests/test-gc-rijndael.c: Likewise.
33126         * tests/test-gc-sha1.c: Likewise.
33127         * tests/test-gc.c: Likewise.
33128         * tests/test-gethostname.c: Likewise.
33129         * tests/test-gettimeofday.c: Likewise.
33130         * tests/test-hash.c: Likewise.
33131         * tests/test-hmac-md5.c: Likewise.
33132         * tests/test-hmac-sha1.c: Likewise.
33133         * tests/test-md2.c: Likewise.
33134         * tests/test-md4.c: Likewise.
33135         * tests/test-md5.c: Likewise.
33136         * tests/test-memchr.c: Likewise.
33137         * tests/test-memchr2.c: Likewise.
33138         * tests/test-memcmp.c: Likewise.
33139         * tests/test-memmem.c: Likewise.
33140         * tests/test-memrchr.c: Likewise.
33141         * tests/test-rawmemchr.c: Likewise.
33142         * tests/test-read-file.c: Likewise.
33143         * tests/test-rijndael.c: Likewise.
33144         * tests/test-sockets.c: Likewise.
33145         * tests/test-strchrnul.c: Likewise.
33146         * tests/test-strstr.c: Likewise.
33147         * tests/test-strtod.c: Likewise.
33148         * build-aux/ncftpput-ftp: Likewise.
33149
33150 2010-01-26  Eric Blake  <ebb9@byu.net>
33151
33152         ignore-value: update recommended header name
33153         * modules/ignore-value (Include): Only use <> for headers that
33154         exist in glibc.
33155
33156 2010-01-26  Jim Meyering  <meyering@redhat.com>
33157
33158         test-userspec.c: avoid compiler warnings
33159         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
33160         and "initialization discards qualifiers..." warnings.
33161         Put the first "uid" in its own scope, and make char* members "const".
33162
33163 2010-01-25  Bruno Haible  <bruno@clisp.org>
33164
33165         gnulib-tool: Make warning diagnostics consistent.
33166         * gnulib-tool (func_warning): New function.
33167         Use it everywhere where gnulib-tool produces output to stderr and it is
33168         not a fatal error.
33169
33170 2010-01-25  Bruno Haible  <bruno@clisp.org>
33171
33172         Fix test dependencies.
33173         * modules/xstrtol-tests (Depends-on): Add inttypes.
33174         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
33175
33176 2010-01-25 Pádraig Brady <P@draigBrady.com>
33177
33178         syntax-check: detect incorrect boolean macro values in config.h
33179         * modules/maintainer-makefile (configure.ac): Parameterize the location
33180         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
33181         The logic is from Eric Blake and the location indicated by Jim Meyering.
33182         Note the more natural CONFIG_HEADER name is prohibited by automake
33183         for backwards compatibility reasons.
33184         * top/maint.mk (sc_Wundef_boolean): New rule.
33185
33186 2010-01-25  Jim Meyering  <meyering@redhat.com>
33187
33188         bootstrap: detect MacOS 10.6's shasum, too
33189         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
33190         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
33191
33192 2010-01-23  Jim Meyering  <meyering@redhat.com>
33193
33194         xstrtoll: new module
33195         * modules/xstrtoll: New file.
33196         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
33197         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
33198         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
33199         ./configure fails if you use this module and lack "long long".
33200         * modules/xstrtoll-tests: New module.
33201         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
33202         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
33203         new init.sh-based test framework.
33204
33205 2010-01-24  Bruno Haible  <bruno@clisp.org>
33206
33207         Tests for module 'yn'.
33208         * modules/yn-tests: New file.
33209         * tests/test-yn.c: New file.
33210
33211         Tests for module 'y1'.
33212         * modules/y1-tests: New file.
33213         * tests/test-y1.c: New file.
33214
33215         Tests for module 'y0'.
33216         * modules/y0-tests: New file.
33217         * tests/test-y0.c: New file.
33218
33219         Tests for module 'tanh'.
33220         * modules/tanh-tests: New file.
33221         * tests/test-tanh.c: New file.
33222
33223         Tests for module 'tan'.
33224         * modules/tan-tests: New file.
33225         * tests/test-tan.c: New file.
33226
33227         Tests for module 'sqrt'.
33228         * modules/sqrt-tests: New file.
33229         * tests/test-sqrt.c: New file.
33230
33231         Tests for module 'sinh'.
33232         * modules/sinh-tests: New file.
33233         * tests/test-sinh.c: New file.
33234
33235         Tests for module 'sin'.
33236         * modules/sin-tests: New file.
33237         * tests/test-sin.c: New file.
33238
33239         Tests for module 'rint'.
33240         * modules/rint-tests: New file.
33241         * tests/test-rint.c: New file.
33242
33243         Tests for module 'remainder'.
33244         * modules/remainder-tests: New file.
33245         * tests/test-remainder.c: New file.
33246
33247         Tests for module 'pow'.
33248         * modules/pow-tests: New file.
33249         * tests/test-pow.c: New file.
33250
33251         Tests for module 'nextafter'.
33252         * modules/nextafter-tests: New file.
33253         * tests/test-nextafter.c: New file.
33254
33255         Tests for module 'modf'.
33256         * modules/modf-tests: New file.
33257         * tests/test-modf.c: New file.
33258
33259         Tests for module 'logb'.
33260         * modules/logb-tests: New file.
33261         * tests/test-logb.c: New file.
33262
33263         Tests for module 'log1p'.
33264         * modules/log1p-tests: New file.
33265         * tests/test-log1p.c: New file.
33266
33267         Tests for module 'log10'.
33268         * modules/log10-tests: New file.
33269         * tests/test-log10.c: New file.
33270
33271         Tests for module 'log'.
33272         * modules/log-tests: New file.
33273         * tests/test-log.c: New file.
33274
33275         Tests for module 'lgamma'.
33276         * modules/lgamma-tests: New file.
33277         * tests/test-lgamma.c: New file.
33278
33279         Tests for module 'ldexp'.
33280         * modules/ldexp-tests: New file.
33281         * tests/test-ldexp.c: New file.
33282
33283         Tests for module 'jn'.
33284         * modules/jn-tests: New file.
33285         * tests/test-jn.c: New file.
33286
33287         Tests for module 'j1'.
33288         * modules/j1-tests: New file.
33289         * tests/test-j1.c: New file.
33290
33291         Tests for module 'j0'.
33292         * modules/j0-tests: New file.
33293         * tests/test-j0.c: New file.
33294
33295         Tests for module 'hypot'.
33296         * modules/hypot-tests: New file.
33297         * tests/test-hypot.c: New file.
33298
33299         Tests for module 'fmod'.
33300         * modules/fmod-tests: New file.
33301         * tests/test-fmod.c: New file.
33302
33303         Tests for module 'fabs'.
33304         * modules/fabs-tests: New file.
33305         * tests/test-fabs.c: New file.
33306
33307         Tests for module 'exp'.
33308         * modules/exp-tests: New file.
33309         * tests/test-exp.c: New file.
33310
33311         Tests for module 'erfc'.
33312         * modules/erfc-tests: New file.
33313         * tests/test-erfc.c: New file.
33314
33315         Tests for module 'erf'.
33316         * modules/erf-tests: New file.
33317         * tests/test-erf.c: New file.
33318
33319         Tests for module 'cosh'.
33320         * modules/cosh-tests: New file.
33321         * tests/test-cosh.c: New file.
33322
33323         Tests for module 'cos'.
33324         * modules/cos-tests: New file.
33325         * tests/test-cos.c: New file.
33326
33327         Tests for module 'copysign'.
33328         * modules/copysign-tests: New file.
33329         * tests/test-copysign.c: New file.
33330
33331         Tests for module 'cbrt'.
33332         * modules/cbrt-tests: New file.
33333         * tests/test-cbrt.c: New file.
33334
33335         Tests for module 'atan2'.
33336         * modules/atan2-tests: New file.
33337         * tests/test-atan2.c: New file.
33338
33339         Tests for module 'atan'.
33340         * modules/atan-tests: New file.
33341         * tests/test-atan.c: New file.
33342
33343         Tests for module 'asin'.
33344         * modules/asin-tests: New file.
33345         * tests/test-asin.c: New file.
33346
33347         Tests for module 'acos'.
33348         * modules/acos-tests: New file.
33349         * tests/test-acos.c: New file.
33350
33351 2010-01-24  Bruno Haible  <bruno@clisp.org>
33352
33353         Fix tests for common <math.h> functions.
33354         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
33355         code snippet that references the function pointer, rather than merely
33356         calling the function. Substitute the FUNC_LIBM variable.
33357         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
33358         * modules/acos (configure.ac): Likewise.
33359         * modules/asin (configure.ac): Likewise.
33360         * modules/atan (configure.ac): Likewise.
33361         * modules/atan2 (configure.ac): Likewise.
33362         * modules/cbrt (configure.ac): Likewise.
33363         * modules/copysign (configure.ac): Likewise.
33364         * modules/cos (configure.ac): Likewise.
33365         * modules/cosh (configure.ac): Likewise.
33366         * modules/erf (configure.ac): Likewise.
33367         * modules/erfc (configure.ac): Likewise.
33368         * modules/exp (configure.ac): Likewise.
33369         * modules/fabs (configure.ac): Likewise.
33370         * modules/fmod (configure.ac): Likewise.
33371         * modules/hypot (configure.ac): Likewise.
33372         * modules/j0 (configure.ac): Likewise.
33373         * modules/j1 (configure.ac): Likewise.
33374         * modules/jn (configure.ac): Likewise.
33375         * modules/ldexp (configure.ac): Likewise.
33376         * modules/lgamma (configure.ac): Likewise.
33377         * modules/log (configure.ac): Likewise.
33378         * modules/log10 (configure.ac): Likewise.
33379         * modules/log1p (configure.ac): Likewise.
33380         * modules/logb (configure.ac): Likewise.
33381         * modules/modf (configure.ac): Likewise.
33382         * modules/nextafter (configure.ac): Likewise.
33383         * modules/pow (configure.ac): Likewise.
33384         * modules/remainder (configure.ac): Likewise.
33385         * modules/rint (configure.ac): Likewise.
33386         * modules/sin (configure.ac): Likewise.
33387         * modules/sinh (configure.ac): Likewise.
33388         * modules/tan (configure.ac): Likewise.
33389         * modules/tanh (configure.ac): Likewise.
33390         * modules/y0 (configure.ac): Likewise.
33391         * modules/y1 (configure.ac): Likewise.
33392         * modules/yn (configure.ac): Likewise.
33393
33394 2010-01-24  Bruno Haible  <bruno@clisp.org>
33395
33396         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
33397         * tests/test-acosl.c (x): New variable.
33398         (main): Store argument in x and fetch it from x.
33399         * tests/test-asinl.c (x): New variable.
33400         (main): Store argument in x and fetch it from x.
33401         * tests/test-atanl.c (x): New variable.
33402         (main): Store argument in x and fetch it from x.
33403         * tests/test-cosl.c (x): New variable.
33404         (main): Store argument in x and fetch it from x.
33405         * tests/test-expl.c (x): New variable.
33406         (main): Store argument in x and fetch it from x.
33407         * tests/test-logl.c (x): New variable.
33408         (main): Store argument in x and fetch it from x.
33409         * tests/test-sinl.c (x): New variable.
33410         (main): Store argument in x and fetch it from x.
33411         * tests/test-sqrtl.c (x): New variable.
33412         (main): Store argument in x and fetch it from x.
33413         * tests/test-tanl.c (x): New variable.
33414         (main): Store argument in x and fetch it from x.
33415
33416 2010-01-24  Bruno Haible  <bruno@clisp.org>
33417
33418         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
33419         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
33420         assignments to the initial TESTS_ENVIRONMENT.
33421         * doc/gnulib.texi (Unit test modules): Document it.
33422         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
33423         TESTS_ENVIRONMENT.
33424         * modules/btowc-tests (Makefile.am): Likewise.
33425         * modules/c-stack-tests (Makefile.am): Likewise.
33426         * modules/c-strcase-tests (Makefile.am): Likewise.
33427         * modules/copy-file-tests (Makefile.am): Likewise.
33428         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
33429         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
33430         * modules/mbrtowc-tests (Makefile.am): Likewise.
33431         * modules/mbscasecmp-tests (Makefile.am): Likewise.
33432         * modules/mbscasestr-tests (Makefile.am): Likewise.
33433         * modules/mbschr-tests (Makefile.am): Likewise.
33434         * modules/mbscspn-tests (Makefile.am): Likewise.
33435         * modules/mbsinit-tests (Makefile.am): Likewise.
33436         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
33437         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
33438         * modules/mbspbrk-tests (Makefile.am): Likewise.
33439         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
33440         * modules/mbsrchr-tests (Makefile.am): Likewise.
33441         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
33442         * modules/mbsspn-tests (Makefile.am): Likewise.
33443         * modules/mbsstr-tests (Makefile.am): Likewise.
33444         * modules/nl_langinfo-tests (Makefile.am): Likewise.
33445         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
33446         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
33447         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
33448         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
33449         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
33450         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
33451         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
33452         * modules/wcrtomb-tests (Makefile.am): Likewise.
33453         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
33454         * modules/wcsrtombs-tests (Makefile.am): Likewise.
33455         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
33456         assignments from TESTS_ENVIRONMENT.
33457         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
33458         augmentation.
33459         * modules/argp-version-etc-tests (Makefile.am): Likewise.
33460         * modules/atexit-tests (Makefile.am): Likewise.
33461         * modules/binary-io-tests (Makefile.am): Likewise.
33462         * modules/closein-tests (Makefile.am): Likewise.
33463         * modules/dprintf-posix-tests (Makefile.am): Likewise.
33464         * modules/exclude-tests (Makefile.am): Likewise.
33465         * modules/fflush-tests (Makefile.am): Likewise.
33466         * modules/fpending-tests (Makefile.am): Likewise.
33467         * modules/fprintf-posix-tests (Makefile.am): Likewise.
33468         * modules/freadahead-tests (Makefile.am): Likewise.
33469         * modules/freadptr-tests (Makefile.am): Likewise.
33470         * modules/freadseek-tests (Makefile.am): Likewise.
33471         * modules/fseek-tests (Makefile.am): Likewise.
33472         * modules/fseeko-tests (Makefile.am): Likewise.
33473         * modules/ftell-tests (Makefile.am): Likewise.
33474         * modules/ftello-tests (Makefile.am): Likewise.
33475         * modules/idpriv-drop-tests (Makefile.am): Likewise.
33476         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
33477         * modules/lseek-tests (Makefile.am): Likewise.
33478         * modules/parse-duration-tests (Makefile.am): Likewise.
33479         * modules/perror-tests (Makefile.am): Likewise.
33480         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
33481         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
33482         * modules/pipe-tests (Makefile.am): Likewise.
33483         * modules/pread-tests (Makefile.am): Likewise.
33484         * modules/printf-posix-tests (Makefile.am): Likewise.
33485         * modules/select-tests (Makefile.am): Likewise.
33486         * modules/sigpipe-tests (Makefile.am): Likewise.
33487         * modules/tsearch-tests (Makefile.am): Likewise.
33488         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
33489         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
33490         * modules/uniname/uniname-tests (Makefile.am): Likewise.
33491         * modules/uniwidth/width-tests (Makefile.am): Likewise.
33492         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
33493         * modules/version-etc-tests (Makefile.am): Likewise.
33494         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
33495         * modules/vprintf-posix-tests (Makefile.am): Likewise.
33496         * modules/xalloc-die-tests (Makefile.am): Likewise.
33497         * modules/xprintf-posix-tests (Makefile.am): Likewise.
33498         * modules/xstrtoimax-tests (Makefile.am): Likewise.
33499         * modules/xstrtol-tests (Makefile.am): Likewise.
33500         * modules/xstrtoumax-tests (Makefile.am): Likewise.
33501         * modules/yesno-tests (Makefile.am): Likewise.
33502         Suggested by Jim Meyering.
33503
33504 2010-01-24  Bruno Haible  <bruno@clisp.org>
33505
33506         More documentation.
33507         * doc/gnulib.texi (Writing modules): New chapter.
33508         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
33509         the new chapter.
33510
33511 2010-01-24  Jim Meyering  <meyering@redhat.com>
33512
33513         maint.mk: do not prepend "./" after filtering
33514         * top/maint.mk (_prepend_srcdir_prefix): New variable
33515         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
33516         "./" when $(srcdir) is ".".
33517
33518         define STREQ(a,b) consistently, removing useless parentheses
33519         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
33520         since the only risk is that "a" or "b" contains an unparenthesized
33521         comma, but if either did that, STREQ would have 3 or more arguments.
33522         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
33523         * lib/fts.c (STREQ): Remove unnecessary parentheses.
33524         * lib/hash-triple.c (STREQ): Likewise.
33525         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
33526         * lib/getugroups.c (STREQ): Likewise.
33527
33528 2010-01-23  Jim Meyering  <meyering@redhat.com>
33529
33530         maint.mk: fix syntax-check in a non-srcdir build directory
33531         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
33532         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
33533
33534 2010-01-22  Jim Meyering  <meyering@redhat.com>
33535
33536         userspec: add unit tests
33537         * tests/test-userspec.c: New file.
33538         * modules/userspec-tests: Likewise.
33539
33540 2010-01-21  Jim Meyering  <meyering@redhat.com>
33541
33542         maint.mk: handle source file names containing "." robustly
33543         * top/maint.mk (_dot_escaped_srcdir): Define.
33544         (VC_LIST): Use it in LHS of sed substitution.
33545
33546 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
33547
33548         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
33549         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
33550         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
33551         from a non-srcdir build.
33552
33553 2010-01-20  Eric Blake  <ebb9@byu.net>
33554
33555         warn-on-use: use instead of link-warning
33556         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
33557         * modules/unistd (Depends-on, Makefile.am): Likewise.
33558         * modules/arpa_inet (Depends-on): Replace link-warning with
33559         warn-on-use.
33560         (Makefile.am): Update rules accordingly.
33561         * modules/ctype (Depends-on, Makefile.am): Likewise.
33562         * modules/dirent (Depends-on, Makefile.am): Likewise.
33563         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
33564         * modules/inttypes (Depends-on, Makefile.am): Likewise.
33565         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33566         * modules/locale (Depends-on, Makefile.am): Likewise.
33567         * modules/math (Depends-on, Makefile.am): Likewise.
33568         * modules/search (Depends-on, Makefile.am): Likewise.
33569         * modules/signal (Depends-on, Makefile.am): Likewise.
33570         * modules/spawn (Depends-on, Makefile.am): Likewise.
33571         * modules/stdlib (Depends-on, Makefile.am): Likewise.
33572         * modules/string (Depends-on, Makefile.am): Likewise.
33573         * modules/strings (Depends-on, Makefile.am): Likewise.
33574         * modules/sys_file (Depends-on, Makefile.am): Likewise.
33575         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
33576         * modules/sys_select (Depends-on, Makefile.am): Likewise.
33577         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
33578         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
33579         * modules/sys_times (Depends-on, Makefile.am): Likewise.
33580         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33581         * modules/wchar (Depends-on, Makefile.am): Likewise.
33582         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
33583         should be poisoned.
33584         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
33585         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
33586         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
33587         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33588         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33589         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
33590         * m4/math_h.m4 (gl_MATH_H): Likewise.
33591         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33592         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
33593         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33594         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
33595         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
33596         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
33597         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33598         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
33599         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
33600         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33601         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
33602         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
33603         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33604         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33605         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33606         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33607         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
33608         GL_LINK_WARNING.
33609         * lib/ctype.in.h: Likewise.
33610         * lib/dirent.in.h: Likewise.
33611         * lib/fcntl.in.h: Likewise.
33612         * lib/inttypes.in.h: Likewise.
33613         * lib/langinfo.in.h: Likewise.
33614         * lib/locale.in.h: Likewise.
33615         * lib/math.in.h: Likewise.
33616         * lib/search.in.h: Likewise.
33617         * lib/signal.in.h: Likewise.
33618         * lib/spawn.in.h: Likewise.
33619         * lib/stdio.in.h: Likewise.
33620         * lib/stdlib.in.h: Likewise.
33621         * lib/string.in.h: Likewise.
33622         * lib/strings.in.h: Likewise.
33623         * lib/sys_file.in.h: Likewise.
33624         * lib/sys_ioctl.in.h: Likewise.
33625         * lib/sys_select.in.h: Likewise.
33626         * lib/sys_socket.in.h: Likewise.
33627         * lib/sys_stat.in.h: Likewise.
33628         * lib/sys_times.in.h: Likewise.
33629         * lib/sys_utsname.in.h: Likewise.
33630         * lib/unistd.in.h: Likewise.
33631         * lib/wchar.in.h: Likewise.
33632
33633 2010-01-20  Bruno Haible  <bruno@clisp.org>
33634
33635         Avoid duplicate -lm.
33636         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
33637         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
33638         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
33639         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
33640         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
33641         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
33642         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
33643         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
33644         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
33645         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
33646         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
33647         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
33648         Reported by Paolo Bonzini.
33649
33650 2010-01-19  Bruno Haible  <bruno@clisp.org>
33651
33652         langinfo, nl_langinfo: Relicense under LGPLv2+.
33653         * modules/langinfo (License): Change to LGPLv2+.
33654         * modules/nl_langinfo (License): Likewise.
33655         Patch by David Lutterkort <lutter@redhat.com>.
33656
33657 2010-01-19  Bruno Haible  <bruno@clisp.org>
33658
33659         Avoid compilation error with cc on OSF/1 5.1.
33660         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
33661         statement, not before.
33662         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33663
33664 2010-01-18  Bruno Haible  <bruno@clisp.org>
33665
33666         Avoid a link error due to the __printf__ symbol.
33667         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
33668         and 2.6.x.
33669         (__format__, __printf__): Remove definitions.
33670         * lib/argp-fmtstream.h: Likewise.
33671         * lib/argp.h: Likewise.
33672         * lib/error.h: Likewise.
33673         * lib/vasnprintf.h: Likewise.
33674         * lib/xprintf.h: Likewise.
33675         * lib/xvasprintf.h: Likewise.
33676         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33677
33678 2010-01-18  Bruno Haible  <bruno@clisp.org>
33679
33680         Tests for module 'tanl'.
33681         * modules/tanl-tests: New file.
33682         * tests/test-tanl.c: New file.
33683
33684         Tests for module 'sqrtl'.
33685         * modules/sqrtl-tests: New file.
33686         * tests/test-sqrtl.c: New file.
33687
33688         Tests for module 'sinl'.
33689         * modules/sinl-tests: New file.
33690         * tests/test-sinl.c: New file.
33691
33692         Tests for module 'logl'.
33693         * modules/logl-tests: New file.
33694         * tests/test-logl.c: New file.
33695
33696         Tests for module 'expl'.
33697         * modules/expl-tests: New file.
33698         * tests/test-expl.c: New file.
33699
33700         Tests for module 'cosl'.
33701         * modules/cosl-tests: New file.
33702         * tests/test-cosl.c: New file.
33703
33704         Tests for module 'atanl'.
33705         * modules/atanl-tests: New file.
33706         * tests/test-atanl.c: New file.
33707
33708         Tests for module 'asinl'.
33709         * modules/asinl-tests: New file.
33710         * tests/test-asinl.c: New file.
33711
33712         Tests for module 'acosl'.
33713         * modules/acosl-tests: New file.
33714         * tests/test-acosl.c: New file.
33715
33716         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33717         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
33718         tanl): Use the standard gnulib idiom.
33719         * lib/cosl.c: Don't include trigl.c and sincosl.c.
33720         * lib/sinl.c: Likewise.
33721         * lib/tanl.c: Don't include trigl.c.
33722         (kernel_tanl): Make static.
33723         * lib/sincosl.c: Include trigl.h first.
33724         * lib/trigl.c: Likewise.
33725         * m4/acosl.m4: New file.
33726         * m4/asinl.m4: New file.
33727         * m4/atanl.m4: New file.
33728         * m4/cosl.m4: New file.
33729         * m4/expl.m4: New file.
33730         * m4/logl.m4: New file.
33731         * m4/sinl.m4: New file.
33732         * m4/sqrtl.m4: New file.
33733         * m4/tanl.m4: New file.
33734         * m4/mathl.m4: Remove file.
33735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
33736         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33737         Don't initialize GNULIB_MATHL.
33738         * modules/acosl: New file.
33739         * modules/asinl: New file.
33740         * modules/atanl: New file.
33741         * modules/cosl: New file.
33742         * modules/expl: New file.
33743         * modules/logl: New file.
33744         * modules/sinl: New file.
33745         * modules/sqrtl: New file.
33746         * modules/tanl: New file.
33747         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
33748         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
33749         substitute GNULIB_MATHL.
33750         * modules/mathl: Rewritten.
33751         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
33752         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
33753         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
33754         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
33755         * doc/posix-functions/expl.texi: Mention the 'expl' module.
33756         * doc/posix-functions/logl.texi: Mention the 'logl' module.
33757         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
33758         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
33759         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
33760
33761 2010-01-18  Bruno Haible  <bruno@clisp.org>
33762
33763         sqrt: Make gl_FUNC_SQRT requirable.
33764         * m4/sqrt.m4: New file.
33765         * modules/sqrt (Files): Add it.
33766         (configure.ac): Invoke gl_FUNC_SQRT.
33767
33768 2010-01-18  Bruno Haible  <bruno@clisp.org>
33769
33770         New modules for common <math.h> functions.
33771         * m4/mathfunc.m4: New file.
33772         * modules/acos: New file.
33773         * modules/asin: New file.
33774         * modules/atan: New file.
33775         * modules/atan2: New file.
33776         * modules/cbrt: New file.
33777         * modules/copysign: New file.
33778         * modules/cos: New file.
33779         * modules/cosh: New file.
33780         * modules/erf: New file.
33781         * modules/erfc: New file.
33782         * modules/exp: New file.
33783         * modules/fabs: New file.
33784         * modules/fmod: New file.
33785         * modules/hypot: New file.
33786         * modules/j0: New file.
33787         * modules/j1: New file.
33788         * modules/jn: New file.
33789         * modules/ldexp: New file.
33790         * modules/lgamma: New file.
33791         * modules/log: New file.
33792         * modules/log10: New file.
33793         * modules/log1p: New file.
33794         * modules/logb: New file.
33795         * modules/modf: New file.
33796         * modules/nextafter: New file.
33797         * modules/pow: New file.
33798         * modules/remainder: New file.
33799         * modules/rint: New file.
33800         * modules/sin: New file.
33801         * modules/sinh: New file.
33802         * modules/sqrt: New file.
33803         * modules/tan: New file.
33804         * modules/tanh: New file.
33805         * modules/y0: New file.
33806         * modules/y1: New file.
33807         * modules/yn: New file.
33808         * doc/posix-functions/acos.texi: Mention the 'acos' module.
33809         * doc/posix-functions/asin.texi: Mention the 'asin' module.
33810         * doc/posix-functions/atan.texi: Mention the 'atan' module.
33811         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
33812         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
33813         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
33814         * doc/posix-functions/cos.texi: Mention the 'cos' module.
33815         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
33816         * doc/posix-functions/erf.texi: Mention the 'erf' module.
33817         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
33818         * doc/posix-functions/exp.texi: Mention the 'exp' module.
33819         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
33820         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
33821         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
33822         * doc/posix-functions/j0.texi: Mention the 'j0' module.
33823         * doc/posix-functions/j1.texi: Mention the 'j1' module.
33824         * doc/posix-functions/jn.texi: Mention the 'jn' module.
33825         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
33826         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
33827         * doc/posix-functions/log.texi: Mention the 'log' module.
33828         * doc/posix-functions/log10.texi: Mention the 'log10' module.
33829         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
33830         * doc/posix-functions/logb.texi: Mention the 'logb' module.
33831         * doc/posix-functions/modf.texi: Mention the 'modf' module.
33832         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
33833         * doc/posix-functions/pow.texi: Mention the 'pow' module.
33834         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
33835         * doc/posix-functions/rint.texi: Mention the 'rint' module.
33836         * doc/posix-functions/sin.texi: Mention the 'sin' module.
33837         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
33838         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
33839         * doc/posix-functions/tan.texi: Mention the 'tan' module.
33840         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
33841         * doc/posix-functions/y0.texi: Mention the 'y0' module.
33842         * doc/posix-functions/y1.texi: Mention the 'y1' module.
33843         * doc/posix-functions/yn.texi: Mention the 'yn' module.
33844
33845 2010-01-18  Jim Meyering  <meyering@redhat.com>
33846
33847         ignore-value: relax license to LGPLv2+
33848         * modules/ignore-value (License): Relax to LGPLv2+.
33849
33850         getdate: don't leak when TZ contains two or more '"'s
33851         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
33852         double quote in TZ after the first one.
33853
33854         readtokens: do not leak internal token_lengths buffer
33855         * lib/readtokens.c (readtokens): Free the local, lengths,
33856         when the supplied "token_lengths" parameter is NULL.
33857
33858 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33859
33860         Fix a couple of missing LIBTHREAD link failures on AIX.
33861         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
33862         $(LIBTHREAD).
33863         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
33864
33865         Link test-poll against INET_PTON_LIB.
33866         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
33867         for inet_pton on Solaris 10.
33868
33869 2010-01-17  Bruno Haible  <bruno@clisp.org>
33870
33871         unistdio/*-sprintf: Fix typo in module description.
33872         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
33873         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
33874         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
33875         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
33876         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
33877         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
33878         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
33879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33880
33881 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33882
33883         gnulib-tool: fix filelist for AIX, HP-UX ksh.
33884         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
33885         variables in shell case patterns, for AIX and HP-UX ksh.
33886
33887         Split large sed scripts, for HP-UX sed.
33888         * modules/stdio: Split sed scripts around 50 sed commands,
33889         to avoid HP-UX limit of 99 commands, in the near future.
33890         * modules/string: Likewise.
33891         * modules/unistd: Likewise.
33892
33893         gnulib-tool: avoid writing in the current directory.
33894         * gnulib-tool (func_emit_lib_Makefile_am)
33895         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
33896         not in the current directory, so concurrent gnulib-tool
33897         instances do not interfere.
33898
33899 2010-01-16  Jim Meyering  <meyering@redhat.com>
33900
33901         doc: update users.txt
33902         * users.txt: Add grep.
33903         (diffutils, gzip): Update URLs.
33904
33905 2010-01-12  Bruno Haible  <bruno@clisp.org>
33906
33907         posix_spawn: Avoid test failure on Cygwin.
33908         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
33909         characters.
33910         Reported by Simon Josefsson.
33911
33912 2010-01-12  Bruno Haible  <bruno@clisp.org>
33913
33914         * tests/test-cond.c (main): When skipping the test, show the reason.
33915
33916 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33917
33918         * lib/striconv.c (str_cd_iconv): Avoid if before free.
33919
33920 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33921
33922         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
33923         VC_LIST_ALWAYS_EXCLUDE_REGEX.
33924
33925 2010-01-12  Eric Blake  <ebb9@byu.net>
33926
33927         build: guarantee AS_VAR_IF
33928         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
33929         (gl_AS_VAR_IF): Move...
33930         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
33931         Reported by Simon Josefsson.
33932
33933 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33934
33935         * lib/stdio.in.h: Fix typo.
33936
33937 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33938
33939         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
33940         libgpg-error.
33941
33942 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33943
33944         * tests/test-xalloc-die.sh: Use $EXEEXT.
33945
33946 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33947             Bruno Haible  <bruno@clisp.org>
33948
33949         getlogin, getlogin_r: Avoid test failure.
33950         * tests/test-getlogin.c: Include <stdio.h>.
33951         (main): Skip the test when the function fails because stdin is not a
33952         tty.
33953         * tests/test-getlogin_r.c: Include <stdio.h>.
33954         (main): Skip the test when the function fails because stdin is not a
33955         tty.
33956
33957 2010-01-11  Eric Blake  <ebb9@byu.net>
33958
33959         tests: avoid more large file warnings
33960         * tests/test-fflush.c: Avoid warning about ftell use.
33961         * tests/test-fseek.c: Avoid warning about fseek use.
33962
33963 2010-01-10  Bruno Haible  <bruno@clisp.org>
33964
33965         nproc: Work better on Linux when /proc and /sys are not mounted.
33966         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
33967         as lower bound when, on glibc/Linux systems,
33968         sysconf (_SC_NPROCESSORS_CONF) returns 1.
33969         Suggested by Pádraig Brady <P@draigbrady.com>.
33970         Reported by Dmitry V. Levin <ldv@altlinux.org>.
33971
33972         nproc: Refactor.
33973         * lib/nproc.c (num_processors_via_affinity_mask): New function,
33974         extracted from num_processors.
33975         (num_processors): Call it.
33976
33977 2010-01-11  Jim Meyering  <meyering@redhat.com>
33978
33979         utimecmp: avoid new warning from upcoming gcc-4.5.0
33980         * lib/utimecmp.c (BILLION): Define using #define rather than an
33981         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
33982
33983 2010-01-11  Eric Blake  <ebb9@byu.net>
33984
33985         math: add portability warnings for classification macros
33986         * modules/math (Depends-on): Add warn-on-use.
33987         (Makefile.am): Provide new substitutions.
33988         * m4/math_h.m4 (gl_MATH_H): Require inline.
33989         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
33990         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
33991         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
33992         implement warnings.
33993
33994         unistd: warn on use of environ without module
33995         * modules/unistd (Depends-on): Add warn-on-use.
33996         (Makefile.am): Provide new substitutions.
33997         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
33998         * lib/unistd.in.h (environ): Wrap with a warning helper function.
33999
34000         stdio: warn on suspicious uses
34001         * modules/stdio (Depends-on): Add warn-on-use.
34002         (Makefile.am): Provide new substitutions.
34003         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34004         fseeko.
34005         * lib/stdio.in.h (gets): Always warn on use.
34006         (fseek, ftell): Adjust when warnings are issued, and honor
34007         _GL_NO_LARGE_FILES as a way to silence the warning.
34008         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34009         any warning about large file offsets.
34010         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34011         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34012         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34013         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34014         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34015         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34016         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34017         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34018
34019         warn-on-use: new module
34020         * modules/warn-on-use: New file.
34021         * build-aux/warn-on-use.h: Likewise.
34022         * m4/warn-on-use.m4: Likewise.
34023         * MODULES.html.sh (Support for building): Mention it.
34024
34025 2010-01-10  Bruno Haible  <bruno@clisp.org>
34026
34027         Tests for module 'unistr/u32-strdup'.
34028         * modules/unistr/u32-strdup-tests: New file.
34029         * tests/unistr/test-u32-strdup.c: New file.
34030
34031         Tests for module 'unistr/u16-strdup'.
34032         * modules/unistr/u16-strdup-tests: New file.
34033         * tests/unistr/test-u16-strdup.c: New file.
34034
34035         Tests for module 'unistr/u8-strdup'.
34036         * modules/unistr/u8-strdup-tests: New file.
34037         * tests/unistr/test-u8-strdup.c: New file.
34038         * tests/unistr/test-strdup.h: New file.
34039
34040         Tests for module 'unistr/u32-strncmp'.
34041         * modules/unistr/u32-strncmp-tests: New file.
34042         * tests/unistr/test-u32-strncmp.c: New file.
34043
34044         Tests for module 'unistr/u16-strncmp'.
34045         * modules/unistr/u16-strncmp-tests: New file.
34046         * tests/unistr/test-u16-strncmp.c: New file.
34047
34048         Tests for module 'unistr/u8-strncmp'.
34049         * modules/unistr/u8-strncmp-tests: New file.
34050         * tests/unistr/test-u8-strncmp.c: New file.
34051         * tests/unistr/test-strncmp.h: New file.
34052
34053         Tests for module 'unistr/u32-strcoll'.
34054         * modules/unistr/u32-strcoll-tests: New file.
34055         * tests/unistr/test-u32-strcoll.c: New file.
34056
34057         Tests for module 'unistr/u16-strcoll'.
34058         * modules/unistr/u16-strcoll-tests: New file.
34059         * tests/unistr/test-u16-strcoll.c: New file.
34060
34061         Tests for module 'unistr/u8-strcoll'.
34062         * modules/unistr/u8-strcoll-tests: New file.
34063         * tests/unistr/test-u8-strcoll.c: New file.
34064
34065         Tests for module 'unistr/u32-strcmp'.
34066         * modules/unistr/u32-strcmp-tests: New file.
34067         * tests/unistr/test-u32-strcmp.c: New file.
34068         * tests/unistr/test-u32-strcmp.h: New file.
34069
34070         Tests for module 'unistr/u16-strcmp'.
34071         * modules/unistr/u16-strcmp-tests: New file.
34072         * tests/unistr/test-u16-strcmp.c: New file.
34073         * tests/unistr/test-u16-strcmp.h: New file.
34074
34075         Tests for module 'unistr/u8-strcmp'.
34076         * modules/unistr/u8-strcmp-tests: New file.
34077         * tests/unistr/test-u8-strcmp.c: New file.
34078         * tests/unistr/test-u8-strcmp.h: New file.
34079         * tests/unistr/test-strcmp.h: New file.
34080
34081         Tests for module 'unistr/u32-strncat'.
34082         * modules/unistr/u32-strncat-tests: New file.
34083         * tests/unistr/test-u32-strncat.c: New file.
34084
34085         Tests for module 'unistr/u16-strncat'.
34086         * modules/unistr/u16-strncat-tests: New file.
34087         * tests/unistr/test-u16-strncat.c: New file.
34088
34089         Tests for module 'unistr/u8-strncat'.
34090         * modules/unistr/u8-strncat-tests: New file.
34091         * tests/unistr/test-u8-strncat.c: New file.
34092         * tests/unistr/test-strncat.h: New file.
34093
34094         Tests for module 'unistr/u32-strcat'.
34095         * modules/unistr/u32-strcat-tests: New file.
34096         * tests/unistr/test-u32-strcat.c: New file.
34097
34098         Tests for module 'unistr/u16-strcat'.
34099         * modules/unistr/u16-strcat-tests: New file.
34100         * tests/unistr/test-u16-strcat.c: New file.
34101
34102         Tests for module 'unistr/u8-strcat'.
34103         * modules/unistr/u8-strcat-tests: New file.
34104         * tests/unistr/test-u8-strcat.c: New file.
34105         * tests/unistr/test-strcat.h: New file.
34106
34107         Tests for module 'unistr/u32-stpncpy'.
34108         * modules/unistr/u32-stpncpy-tests: New file.
34109         * tests/unistr/test-u32-stpncpy.c: New file.
34110
34111         Tests for module 'unistr/u16-stpncpy'.
34112         * modules/unistr/u16-stpncpy-tests: New file.
34113         * tests/unistr/test-u16-stpncpy.c: New file.
34114
34115         Tests for module 'unistr/u8-stpncpy'.
34116         * modules/unistr/u8-stpncpy-tests: New file.
34117         * tests/unistr/test-u8-stpncpy.c: New file.
34118         * tests/unistr/test-stpncpy.h: New file.
34119
34120         Tests for module 'unistr/u32-strncpy'.
34121         * modules/unistr/u32-strncpy-tests: New file.
34122         * tests/unistr/test-u32-strncpy.c: New file.
34123
34124         Tests for module 'unistr/u16-strncpy'.
34125         * modules/unistr/u16-strncpy-tests: New file.
34126         * tests/unistr/test-u16-strncpy.c: New file.
34127
34128         Tests for module 'unistr/u8-strncpy'.
34129         * modules/unistr/u8-strncpy-tests: New file.
34130         * tests/unistr/test-u8-strncpy.c: New file.
34131         * tests/unistr/test-strncpy.h: New file.
34132
34133         Tests for module 'unistr/u32-stpcpy'.
34134         * modules/unistr/u32-stpcpy-tests: New file.
34135         * tests/unistr/test-u32-stpcpy.c: New file.
34136
34137         Tests for module 'unistr/u16-stpcpy'.
34138         * modules/unistr/u16-stpcpy-tests: New file.
34139         * tests/unistr/test-u16-stpcpy.c: New file.
34140
34141         Tests for module 'unistr/u8-stpcpy'.
34142         * modules/unistr/u8-stpcpy-tests: New file.
34143         * tests/unistr/test-u8-stpcpy.c: New file.
34144         * tests/unistr/test-stpcpy.h: New file.
34145
34146         Tests for module 'unistr/u32-strcpy'.
34147         * modules/unistr/u32-strcpy-tests: New file.
34148         * tests/unistr/test-u32-strcpy.c: New file.
34149
34150         Tests for module 'unistr/u16-strcpy'.
34151         * modules/unistr/u16-strcpy-tests: New file.
34152         * tests/unistr/test-u16-strcpy.c: New file.
34153
34154         Tests for module 'unistr/u8-strcpy'.
34155         * modules/unistr/u8-strcpy-tests: New file.
34156         * tests/unistr/test-u8-strcpy.c: New file.
34157         * tests/unistr/test-strcpy.h: New file.
34158
34159         Tests for module 'unistr/u32-strnlen'.
34160         * modules/unistr/u32-strnlen-tests: New file.
34161         * tests/unistr/test-u32-strnlen.c: New file.
34162
34163         Tests for module 'unistr/u16-strnlen'.
34164         * modules/unistr/u16-strnlen-tests: New file.
34165         * tests/unistr/test-u16-strnlen.c: New file.
34166
34167         Tests for module 'unistr/u8-strnlen'.
34168         * modules/unistr/u8-strnlen-tests: New file.
34169         * tests/unistr/test-u8-strnlen.c: New file.
34170         * tests/unistr/test-strnlen.h: New file.
34171
34172         Tests for module 'unistr/u32-strlen'.
34173         * modules/unistr/u32-strlen-tests: New file.
34174         * tests/unistr/test-u32-strlen.c: New file.
34175
34176         Tests for module 'unistr/u16-strlen'.
34177         * modules/unistr/u16-strlen-tests: New file.
34178         * tests/unistr/test-u16-strlen.c: New file.
34179
34180         Tests for module 'unistr/u8-strlen'.
34181         * modules/unistr/u8-strlen-tests: New file.
34182         * tests/unistr/test-u8-strlen.c: New file.
34183
34184         Tests for module 'unistr/u32-prev'.
34185         * modules/unistr/u32-prev-tests: New file.
34186         * tests/unistr/test-u32-prev.c: New file.
34187
34188         Tests for module 'unistr/u16-prev'.
34189         * modules/unistr/u16-prev-tests: New file.
34190         * tests/unistr/test-u16-prev.c: New file.
34191
34192         Tests for module 'unistr/u8-prev'.
34193         * modules/unistr/u8-prev-tests: New file.
34194         * tests/unistr/test-u8-prev.c: New file.
34195
34196         Tests for module 'unistr/u32-next'.
34197         * modules/unistr/u32-next-tests: New file.
34198         * tests/unistr/test-u32-next.c: New file.
34199
34200         Tests for module 'unistr/u16-next'.
34201         * modules/unistr/u16-next-tests: New file.
34202         * tests/unistr/test-u16-next.c: New file.
34203
34204         Tests for module 'unistr/u8-next'.
34205         * modules/unistr/u8-next-tests: New file.
34206         * tests/unistr/test-u8-next.c: New file.
34207
34208         Tests for module 'unistr/u32-strmbtouc'.
34209         * modules/unistr/u32-strmbtouc-tests: New file.
34210         * tests/unistr/test-u32-strmbtouc.c: New file.
34211
34212         Tests for module 'unistr/u16-strmbtouc'.
34213         * modules/unistr/u16-strmbtouc-tests: New file.
34214         * tests/unistr/test-u16-strmbtouc.c: New file.
34215
34216         Tests for module 'unistr/u8-strmbtouc'.
34217         * modules/unistr/u8-strmbtouc-tests: New file.
34218         * tests/unistr/test-u8-strmbtouc.c: New file.
34219
34220         Tests for module 'unistr/u32-strmblen'.
34221         * modules/unistr/u32-strmblen-tests: New file.
34222         * tests/unistr/test-u32-strmblen.c: New file.
34223
34224         Tests for module 'unistr/u16-strmblen'.
34225         * modules/unistr/u16-strmblen-tests: New file.
34226         * tests/unistr/test-u16-strmblen.c: New file.
34227
34228         Tests for module 'unistr/u8-strmblen'.
34229         * modules/unistr/u8-strmblen-tests: New file.
34230         * tests/unistr/test-u8-strmblen.c: New file.
34231
34232         Tests for module 'unistr/u32-cpy-alloc'.
34233         * modules/unistr/u32-cpy-alloc-tests: New file.
34234         * tests/unistr/test-u32-cpy-alloc.c: New file.
34235
34236         Tests for module 'unistr/u16-cpy-alloc'.
34237         * modules/unistr/u16-cpy-alloc-tests: New file.
34238         * tests/unistr/test-u16-cpy-alloc.c: New file.
34239
34240         Tests for module 'unistr/u8-cpy-alloc'.
34241         * modules/unistr/u8-cpy-alloc-tests: New file.
34242         * tests/unistr/test-u8-cpy-alloc.c: New file.
34243         * tests/unistr/test-cpy-alloc.h: New file.
34244
34245         Tests for module 'unistr/u32-mbsnlen'.
34246         * modules/unistr/u32-mbsnlen-tests: New file.
34247         * tests/unistr/test-u32-mbsnlen.c: New file.
34248
34249         Tests for module 'unistr/u16-mbsnlen'.
34250         * modules/unistr/u16-mbsnlen-tests: New file.
34251         * tests/unistr/test-u16-mbsnlen.c: New file.
34252
34253         Tests for module 'unistr/u8-mbsnlen'.
34254         * modules/unistr/u8-mbsnlen-tests: New file.
34255         * tests/unistr/test-u8-mbsnlen.c: New file.
34256
34257         Tests for module 'unistr/u32-chr'.
34258         * modules/unistr/u32-chr-tests: New file.
34259         * tests/unistr/test-u32-chr.c: New file.
34260
34261         Tests for module 'unistr/u16-chr'.
34262         * modules/unistr/u16-chr-tests: New file.
34263         * tests/unistr/test-u16-chr.c: New file.
34264
34265         Tests for module 'unistr/u8-chr'.
34266         * modules/unistr/u8-chr-tests: New file.
34267         * tests/unistr/test-u8-chr.c: New file.
34268         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
34269
34270         Tests for module 'unistr/u32-cmp2'.
34271         * modules/unistr/u32-cmp2-tests: New file.
34272         * tests/unistr/test-u32-cmp2.c: New file.
34273
34274         Tests for module 'unistr/u16-cmp2'.
34275         * modules/unistr/u16-cmp2-tests: New file.
34276         * tests/unistr/test-u16-cmp2.c: New file.
34277
34278         Tests for module 'unistr/u8-cmp2'.
34279         * modules/unistr/u8-cmp2-tests: New file.
34280         * tests/unistr/test-u8-cmp2.c: New file.
34281         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
34282
34283         Tests for module 'unistr/u32-cmp'.
34284         * modules/unistr/u32-cmp-tests: New file.
34285         * tests/unistr/test-u32-cmp.c: New file.
34286
34287         Tests for module 'unistr/u16-cmp'.
34288         * modules/unistr/u16-cmp-tests: New file.
34289         * tests/unistr/test-u16-cmp.c: New file.
34290
34291         Tests for module 'unistr/u8-cmp'.
34292         * modules/unistr/u8-cmp-tests: New file.
34293         * tests/unistr/test-u8-cmp.c: New file.
34294         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
34295
34296         Tests for module 'unistr/u32-set'.
34297         * modules/unistr/u32-set-tests: New file.
34298         * tests/unistr/test-u32-set.c: New file.
34299
34300         Tests for module 'unistr/u16-set'.
34301         * modules/unistr/u16-set-tests: New file.
34302         * tests/unistr/test-u16-set.c: New file.
34303
34304         Tests for module 'unistr/u8-set'.
34305         * modules/unistr/u8-set-tests: New file.
34306         * tests/unistr/test-u8-set.c: New file.
34307         * tests/unistr/test-set.h: New file.
34308
34309         Tests for module 'unistr/u32-move'.
34310         * modules/unistr/u32-move-tests: New file.
34311         * tests/unistr/test-u32-move.c: New file.
34312
34313         Tests for module 'unistr/u16-move'.
34314         * modules/unistr/u16-move-tests: New file.
34315         * tests/unistr/test-u16-move.c: New file.
34316
34317         Tests for module 'unistr/u8-move'.
34318         * modules/unistr/u8-move-tests: New file.
34319         * tests/unistr/test-u8-move.c: New file.
34320         * tests/unistr/test-move.h: New file.
34321
34322         Tests for module 'unistr/u32-cpy'.
34323         * modules/unistr/u32-cpy-tests: New file.
34324         * tests/unistr/test-u32-cpy.c: New file.
34325
34326         Tests for module 'unistr/u16-cpy'.
34327         * modules/unistr/u16-cpy-tests: New file.
34328         * tests/unistr/test-u16-cpy.c: New file.
34329
34330         Tests for module 'unistr/u8-cpy'.
34331         * modules/unistr/u8-cpy-tests: New file.
34332         * tests/unistr/test-u8-cpy.c: New file.
34333         * tests/unistr/test-cpy.h: New file.
34334
34335 2010-01-09  Bruno Haible  <bruno@clisp.org>
34336
34337         Tests for module 'unistr/u32-uctomb'.
34338         * modules/unistr/u32-uctomb-tests: New file.
34339         * tests/unistr/test-u32-uctomb.c: New file.
34340
34341         Tests for module 'unistr/u16-uctomb'.
34342         * modules/unistr/u16-uctomb-tests: New file.
34343         * tests/unistr/test-u16-uctomb.c: New file.
34344
34345         Tests for module 'unistr/u8-uctomb'.
34346         * modules/unistr/u8-uctomb-tests: New file.
34347         * tests/unistr/test-u8-uctomb.c: New file.
34348
34349         Tests for module 'unistr/u32-mbtoucr'.
34350         * modules/unistr/u32-mbtoucr-tests: New file.
34351         * tests/unistr/test-u32-mbtoucr.c: New file.
34352
34353         Tests for module 'unistr/u16-mbtoucr'.
34354         * modules/unistr/u16-mbtoucr-tests: New file.
34355         * tests/unistr/test-u16-mbtoucr.c: New file.
34356
34357         Tests for module 'unistr/u8-mbtoucr'.
34358         * modules/unistr/u8-mbtoucr-tests: New file.
34359         * tests/unistr/test-u8-mbtoucr.c: New file.
34360
34361         Tests for module 'unistr/u32-mbtouc'.
34362         * modules/unistr/u32-mbtouc-tests: New file.
34363         * tests/unistr/test-u32-mbtouc.c: New file.
34364
34365         Tests for module 'unistr/u16-mbtouc'.
34366         * modules/unistr/u16-mbtouc-tests: New file.
34367         * tests/unistr/test-u16-mbtouc.c: New file.
34368
34369         Tests for module 'unistr/u8-mbtouc'.
34370         * modules/unistr/u8-mbtouc-tests: New file.
34371         * tests/unistr/test-u8-mbtouc.c: New file.
34372
34373         Tests for module 'unistr/u32-mbtouc-unsafe'.
34374         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
34375         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
34376         * tests/unistr/test-u32-mbtouc.h: New file.
34377
34378         Tests for module 'unistr/u16-mbtouc-unsafe'.
34379         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
34380         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
34381         * tests/unistr/test-u16-mbtouc.h: New file.
34382
34383         Tests for module 'unistr/u8-mbtouc-unsafe'.
34384         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
34385         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
34386         * tests/unistr/test-u8-mbtouc.h: New file.
34387
34388         Tests for module 'unistr/u32-mblen'.
34389         * modules/unistr/u32-mblen-tests: New file.
34390         * tests/unistr/test-u32-mblen.c: New file.
34391
34392         Tests for module 'unistr/u16-mblen'.
34393         * modules/unistr/u16-mblen-tests: New file.
34394         * tests/unistr/test-u16-mblen.c: New file.
34395
34396         Tests for module 'unistr/u8-mblen'.
34397         * modules/unistr/u8-mblen-tests: New file.
34398         * tests/unistr/test-u8-mblen.c: New file.
34399
34400         Tests for module 'unistr/u32-to-u16'.
34401         * modules/unistr/u32-to-u16-tests: New file.
34402         * tests/unistr/test-u32-to-u16.c: New file.
34403
34404         Tests for module 'unistr/u32-to-u8'.
34405         * modules/unistr/u32-to-u8-tests: New file.
34406         * tests/unistr/test-u32-to-u8.c: New file.
34407
34408         Tests for module 'unistr/u16-to-u32'.
34409         * modules/unistr/u16-to-u32-tests: New file.
34410         * tests/unistr/test-u16-to-u32.c: New file.
34411
34412         Tests for module 'unistr/u16-to-u8'.
34413         * modules/unistr/u16-to-u8-tests: New file.
34414         * tests/unistr/test-u16-to-u8.c: New file.
34415
34416         Tests for module 'unistr/u8-to-u32'.
34417         * modules/unistr/u8-to-u32-tests: New file.
34418         * tests/unistr/test-u8-to-u32.c: New file.
34419
34420         Tests for module 'unistr/u8-to-u16'.
34421         * modules/unistr/u8-to-u16-tests: New file.
34422         * tests/unistr/test-u8-to-u16.c: New file.
34423
34424         Tests for module 'unistr/u32-check'.
34425         * modules/unistr/u32-check-tests: New file.
34426         * tests/unistr/test-u32-check.c: New file.
34427
34428         Tests for module 'unistr/u16-check'.
34429         * modules/unistr/u16-check-tests: New file.
34430         * tests/unistr/test-u16-check.c: New file.
34431
34432         Tests for module 'unistr/u8-check'.
34433         * modules/unistr/u8-check-tests: New file.
34434         * tests/unistr/test-u8-check.c: New file.
34435
34436         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
34437         (category_equals): New function.
34438         (main): Add more tests.
34439         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
34440
34441         * tests/unictype/test-bidi_byname.c (main): Add more tests.
34442
34443 2010-01-10  Bruno Haible  <bruno@clisp.org>
34444
34445         unistr/u*-strcoll: Try harder to distinguish different strings.
34446         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
34447         compare s1 and s2 to see if they are different.
34448
34449 2010-01-10  Bruno Haible  <bruno@clisp.org>
34450
34451         unistr/u*-stpncpy: Fix the return value.
34452         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
34453         description of the return value consistent with stpncpy in glibc.
34454         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
34455         written non-NUL unit.
34456
34457 2010-01-10  Bruno Haible  <bruno@clisp.org>
34458
34459         unistr/u*-next: Add missing dependencies.
34460         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
34461         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
34462         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
34463
34464 2010-01-10  Bruno Haible  <bruno@clisp.org>
34465
34466         unistr/u8-mbsnlen: Fix return value for incomplete character.
34467         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
34468         u8_mblen.
34469         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
34470         Remove unistr/u8-mblen.
34471         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
34472         u16_mblen.
34473         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
34474         Remove unistr/u16-mblen.
34475
34476 2010-01-10  Bruno Haible  <bruno@clisp.org>
34477
34478         wchar: Fix compilation error when <wchar.h> is used from coreutils.
34479         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
34480         Reported by Brian Gough <bjg@gnu.org> and
34481         Chris Clayton <chris2553@googlemail.com> via
34482         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
34483
34484 2010-01-09  Bruno Haible  <bruno@clisp.org>
34485
34486         unistr/u16-to-u32: Reject invalid input.
34487         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
34488         u16_mbtouc.
34489         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
34490         Remove unistr/u16-mbtouc.
34491
34492         unistr/u16-to-u8: Reject invalid input.
34493         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
34494         u16_mbtouc.
34495         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
34496         Remove unistr/u16-mbtouc.
34497
34498         unistr/u8-to-u32: Reject invalid input.
34499         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
34500         u8_mbtouc.
34501         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
34502         Remove unistr/u8-mbtouc.
34503
34504         unistr/u8-to-u16: Reject invalid input.
34505         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
34506         u8_mbtouc.
34507         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
34508         Remove unistr/u8-mbtouc.
34509
34510 2010-01-09  Bruno Haible  <bruno@clisp.org>
34511
34512         Tests for module 'getlogin'.
34513         * modules/getlogin-tests: New file.
34514         * tests/test-getlogin.c: New file.
34515
34516         New module 'getlogin'.
34517         * lib/unistd.in.h (getlogin): New declaration.
34518         * lib/getlogin.c: New file.
34519         * m4/getlogin.m4: New file.
34520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
34521         HAVE_GETLOGIN.
34522         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
34523         HAVE_GETLOGIN.
34524         * modules/getlogin: New file.
34525         * doc/posix-functions/getlogin.texi: Mention the new module.
34526         Reported by John W. Eaton <jwe@gnu.org>.
34527
34528 2010-01-09  Bruno Haible  <bruno@clisp.org>
34529
34530         getlogin_r: Support for native Windows.
34531         * lib/getlogin_r.c: Include <windows.h>
34532         (getlogin_r): Implement for native Windows.
34533         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
34534         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
34535         via John W. Eaton <jwe@gnu.org>.
34536
34537 2010-01-09  Bruno Haible  <bruno@clisp.org>
34538
34539         getlogin_r: Small fixes.
34540         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
34541         succeeds.
34542         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
34543         before testing whether getlogin_r is declared. No need to set
34544         HAVE_DECL_GETLOGIN_R to 1.
34545         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
34546
34547 2010-01-09  Bruno Haible  <bruno@clisp.org>
34548
34549         * lib/unistd.in.h (getlogin_r): Add comment.
34550
34551 2010-01-09  Bruno Haible  <bruno@clisp.org>
34552
34553         Tests for module 'getlogin_r'.
34554         * modules/getlogin_r-tests: New file.
34555         * tests/test-getlogin_r.c: New file.
34556
34557 2010-01-09  Jim Meyering  <meyering@redhat.com>
34558
34559         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
34560         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
34561         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
34562
34563 2010-01-08  Simon Josefsson  <simon@josefsson.org>
34564
34565         * lib/dup2.c (rpl_dup2): Improve comment.
34566
34567 2010-01-08  Eric Blake  <ebb9@byu.net>
34568
34569         maint.mk: allow packages to add makefile @@ exceptions
34570         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
34571         (sc_makefile_check): Rename...
34572         (sc_makefile_at_at_check): ...to this, and use hook.
34573
34574         dup2: work around mingw bug
34575         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
34576         Reported by Simon Josefsson.
34577
34578 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
34579
34580         glob: Fix C++ compilation.
34581         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
34582         C++.
34583
34584 2010-01-07  Bruno Haible  <bruno@clisp.org>
34585
34586         Fix indentation of wctype.in.h, broken since 2007-01-06.
34587         * lib/wctype.in.h: Fix indentation of preprocessor directives.
34588
34589 2010-01-07  Bruno Haible  <bruno@clisp.org>
34590
34591         mbslen: Avoid collision with system function.
34592         * lib/string.in.h [MirBSD]: Include <wchar.h>.
34593         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
34594         * m4/mbslen.m4: New file.
34595         * modules/mbslen (Files): Add it.
34596         (configure.ac): Invoke gl_MBSLEN.
34597         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
34598         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
34599         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
34600         via Ian Beckwith <ianb@erislabs.net>.
34601
34602 2010-01-07  Bruno Haible  <bruno@clisp.org>
34603
34604         dirent: Document the last fix.
34605         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
34606
34607 2010-01-07  Bruno Haible  <bruno@clisp.org>
34608
34609         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
34610         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
34611         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
34612         va_list are defined.
34613         * doc/posix-headers/stdio.texi: Document the bug of missing types.
34614         Reported by Eric Blake.
34615
34616 2010-01-07  Bruno Haible  <bruno@clisp.org>
34617
34618         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
34619         * modules/xlist (Depends-on): Add 'list',
34620         * modules/xoset (Depends-on): Add 'oset'.
34621         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34622
34623 2010-01-07  Bruno Haible  <bruno@clisp.org>
34624
34625         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
34626         * doc/posix-functions/strncasecmp.texi: Likewise.
34627
34628 2010-01-07  Bruno Haible  <bruno@clisp.org>
34629
34630         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
34631
34632 2010-01-07  John W. Eaton  <jwe@octave.org>
34633
34634         wctype: allow C++ use
34635         * lib/wctype.in.h: Add extern "C" block for C++.
34636
34637 2010-01-06  Eric Blake  <ebb9@byu.net>
34638
34639         maint.mk: detect incorrect GFDL usage
34640         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
34641
34642 2010-01-06  Jim Meyering  <meyering@redhat.com>
34643         and Eric Blake  <ebb9@byu.net>
34644
34645         maint.mk: ignore multi-line copyright in NEWS
34646         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
34647
34648 2010-01-06  Eric Blake  <ebb9@byu.net>
34649
34650         select: add missing dependency
34651         * modules/select-tests (Depends-on): Move sockets dependency...
34652         * modules/select (Depends-on): ...here.
34653         Reported by Ian Beckwith.
34654
34655         doc: regenerate INSTALL
34656         * doc/INSTALL: Reflect recent autoconf update.
34657         * doc/INSTALL.ISO: Likewise.
34658         * doc/INSTALL.UTF-8: Likewise.
34659
34660         pread: fix compilation on glibc
34661         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
34662         Reported by Ralf Wildenhues.
34663
34664         dirent: fix test failure
34665         * lib/dirent.in.h (includes): Guarantee ino_t.
34666         Reported by Ralf Wildenhues.
34667
34668 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
34669
34670         linkat, renameat: avoid bad free
34671         * lib/at-func2.c (at_func2): Fix typo.
34672         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
34673
34674 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34675
34676         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
34677         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
34678         to avoid failure of symlink test later.
34679
34680 2010-01-06  Eric Blake  <ebb9@byu.net>
34681
34682         stdio, unistd: guarantee ssize_t
34683         * lib/unistd.in.h (includes): Ensure that types required by POSIX
34684         2008 are exposed when needed.
34685         * lib/stdio.in.h (includes): Likewise.
34686         Reported by Ralf Wildenhues.
34687
34688 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
34689
34690         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
34691         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
34692         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
34693
34694 2010-01-06  Jim Meyering  <meyering@redhat.com>
34695
34696         readtokens: this module *does* require xalloc.h
34697         It uses only functions that were omitted by the old syntax-check rule.
34698         * lib/readtokens.c: Include "xalloc.h" once again.
34699         * modules/readtokens (Depends-on): Add xalloc.
34700         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
34701
34702 2010-01-05  Eric Blake  <ebb9@byu.net>
34703
34704         maint: support 'make announcement' from a VPATH build
34705         * top/maint.mk (announcement): Look for correct NEWS file.
34706
34707 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
34708
34709         utimens (fdutimens): ignore a negative FD, per contract
34710         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
34711         when we have a valid file descriptor.  Otherwise, using a brand
34712         new glibc (with just-patched futimens that now fails with EBADF)
34713         would cause this function to fail with ENOSYS.
34714         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
34715         See also http://bugzilla.redhat.com/552320.
34716
34717 2010-01-05  Eric Blake  <ebb9@byu.net>
34718
34719         strcase: document what it provides
34720         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
34721         gnulib module.
34722         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
34723         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
34724
34725 2010-01-05  Jim Meyering  <meyering@redhat.com>
34726
34727         maint: remove useless inclusions of "xalloc.h"
34728         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
34729         * lib/readtokens.c: Likewise.
34730         * lib/same.c: Likewise.
34731         * modules/getloadavg (Depends-on): Remove xalloc.
34732         * modules/readtokens: Likewise.
34733         * modules/same: Likewise.
34734
34735         maint.mk: include 4 more function names in alloca.h-checking regexp
34736         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
34737         regexp.  Before, we would give a false-positive (saying alloca.h
34738         is included unnecessarily) when the only uses involved omitted symbols.
34739
34740         xalloc.h: use consistent formatting
34741         * lib/xalloc.h: Move declarations to start in the first column.
34742
34743 2010-01-05  Eric Blake  <ebb9@byu.net>
34744
34745         mkdir: avoid xalloc
34746         * lib/mkdir.c (includes): Drop unused header.
34747         Reported by John W. Eaton.
34748
34749 2010-01-04  Jim Meyering  <meyering@redhat.com>
34750
34751         nl_langinfo: avoid configure-time syntax error
34752         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
34753         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
34754         the empty string.  Don't let that provoke a shell syntax error.
34755
34756         regcomp, regexec, fnmatch: avoid array bounds read error
34757         * lib/regcomp.c (build_equiv_class): From glibc:
34758         Use only the low 24 bits of a findidx return value as an index
34759         into the weights array.  Patch by Ulrich Drepper:
34760         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
34761         * lib/regexec.c (check_node_accept_bytes): Likewise.
34762         * lib/fnmatch_loop.c (FCT): Likewise.
34763
34764         regcomp: skip collseq lookup when there are no rules
34765         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
34766         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
34767
34768         regcomp: recognize ill-formed { } expressions
34769         * lib/regcomp.c (parse_dup_op): From glibc:
34770         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
34771
34772         regcomp: fix typo in comment
34773         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
34774         s/satisfy/satisfies/.
34775
34776         regcomp: sync from glibc: remove dead store
34777         * lib/regcomp.c (duplicate_node_closure): Remove useless
34778         search_duplicated_node call and dead store.
34779
34780         regcomp: sync from glibc; always use nl_langinfo
34781         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
34782         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
34783         * modules/regex (Depends-on): Add nl_langinfo.
34784
34785 2010-01-04  Eric Blake  <ebb9@byu.net>
34786
34787         fdopendir: fix configure test
34788         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
34789
34790 2010-01-01  Bruno Haible  <bruno@clisp.org>
34791
34792         wchar: Remove unused configure check.
34793         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
34794
34795 2010-01-01  Eric Blake  <ebb9@byu.net>
34796
34797         headers: make check of system header explicit
34798         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
34799         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
34800         ourselves.
34801         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34802         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34803         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34804         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
34805         internals.
34806         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
34807         missing.
34808         Suggested by Bruno Haible.
34809
34810 2010-01-01  Jim Meyering  <meyering@redhat.com>
34811
34812         ChangeLog: tweak to eliminate unnecessary copyright line
34813         * ChangeLog: Remove a copyright line that was mistakenly updated
34814         by today's update-copyright run.  Reported by Eric Blake.
34815
34816         test-update-copyright: don't let envvar setting cause test failure
34817         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34818
34819 2010-01-01  Bruno Haible  <bruno@clisp.org>
34820
34821         localename: Avoid gcc warning.
34822         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
34823         function if it is not used.
34824
34825 2010-01-01  Jim Meyering  <meyering@redhat.com>
34826
34827         update nearly all FSF copyright year lists to include 2010
34828         Use the same procedure as for 2009, outlined in
34829         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
34830
34831         version-etc: set COPYRIGHT_YEAR to 2010
34832         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
34833
34834 2009-12-31  Eric Blake  <ebb9@byu.net>
34835
34836         doc: correct availability of cygwin 1.5.x getopt
34837         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
34838         variables.
34839         * doc/posix-functions/opterr.texi (opterr): Likewise.
34840         * doc/posix-functions/optind.texi (optind): Likewise.
34841         * doc/posix-functions/optopt.texi (optopt): Likewise.
34842         * doc/posix-functions/tzname.texi (tzname): Likewise.
34843
34844         openat: update maintainer
34845         * modules/openat (Maintainer): Add myself.
34846
34847         utimens: avoid shadowing warning
34848         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
34849         buffers into one, to avoid shadowing, as well as avoiding a
34850         redundant stat.
34851         Reported by Jim Meyering.
34852
34853         test-dup2: avoid compiler warning
34854         * tests/test-dup2.c (is_inheritable): Only define if used.
34855
34856 2010-01-01  Bruno Haible  <bruno@clisp.org>
34857
34858         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
34859         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
34860         defined, use wctomb instead of wcrtomb.
34861
34862 2010-01-01  Bruno Haible  <bruno@clisp.org>
34863
34864         iconv: Reject native Solaris iconv.
34865         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
34866         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
34867
34868 2009-12-31  Bruno Haible  <bruno@clisp.org>
34869
34870         * tests/test-signal.c (main): Remove test of 'SIG'.
34871
34872 2009-12-31  Bruno Haible  <bruno@clisp.org>
34873
34874         spawn: Fix incomplete fix.
34875         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34876         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34877         warnings for GNULIB_POSIXCHECK again.
34878         Reported by Eric Blake.
34879
34880 2009-12-31  Bruno Haible  <bruno@clisp.org>
34881
34882         Avoid namespace pollution on glibc systems.
34883         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
34884         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
34885         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
34886         glibc systems.
34887
34888 2009-12-31  Bruno Haible  <bruno@clisp.org>
34889
34890         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
34891         (gl_REPLACE_WCHAR_H): Turn into a no-op.
34892         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
34893         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
34894         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
34895         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
34896         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
34897
34898 2009-12-31  Bruno Haible  <bruno@clisp.org>
34899
34900         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
34901         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
34902         afterwards.
34903
34904 2009-12-31  Bruno Haible  <bruno@clisp.org>
34905
34906         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
34907         SYS_UTSNAME_H.
34908
34909 2009-12-31  Bruno Haible  <bruno@clisp.org>
34910
34911         spawn: Fix misapplied patch.
34912         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34913         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34914         warnings for GNULIB_POSIXCHECK.
34915
34916 2009-12-31  Bruno Haible  <bruno@clisp.org>
34917
34918         times: Update after sys_times changed.
34919         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
34920         * modules/times (Files): Add it.
34921         (configure.ac): Invoke gl_FUNC_TIMES.
34922
34923 2009-12-31  Bruno Haible  <bruno@clisp.org>
34924
34925         Use AC_C_INLINE where necessary.
34926         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
34927         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
34928         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
34929         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
34930         * m4/mbfile.m4 (gl_MBFILE): Likewise.
34931         * m4/mbiter.m4 (gl_MBITER): Likewise.
34932         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34933         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34934         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
34935         * modules/u64 (configure.ac): Likewise.
34936
34937 2009-12-31  Bruno Haible  <bruno@clisp.org>
34938
34939         Use AC_C_INLINE instead of module 'inline' where possible.
34940         * modules/inline (Description): Clarify purpose.
34941         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
34942         * modules/count-one-bits (Depends-on): Remove inline.
34943         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
34944         * modules/openat (Depends-on): Remove inline.
34945         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
34946         instead of depending on module 'inline'.
34947         * modules/filevercmp (Depends-on, configure.ac): Likewise.
34948         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
34949         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
34950         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
34951         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
34952         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
34953         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
34954         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
34955         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
34956         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
34957         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
34958         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
34959         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
34960         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
34961         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
34962         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
34963         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
34964         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
34965         Likewise.
34966         * modules/unictype/property-ascii-hex-digit (Depends-on,
34967         configure.ac): Likewise.
34968         * modules/unictype/property-bidi-arabic-digit (Depends-on,
34969         configure.ac): Likewise.
34970         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
34971         configure.ac): Likewise.
34972         * modules/unictype/property-bidi-block-separator (Depends-on,
34973         configure.ac): Likewise.
34974         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
34975         configure.ac): Likewise.
34976         * modules/unictype/property-bidi-common-separator (Depends-on,
34977         configure.ac): Likewise.
34978         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
34979         Likewise.
34980         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
34981         configure.ac): Likewise.
34982         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
34983         configure.ac): Likewise.
34984         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
34985         configure.ac): Likewise.
34986         * modules/unictype/property-bidi-european-digit (Depends-on,
34987         configure.ac): Likewise.
34988         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
34989         configure.ac): Likewise.
34990         * modules/unictype/property-bidi-left-to-right (Depends-on,
34991         configure.ac): Likewise.
34992         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
34993         configure.ac): Likewise.
34994         * modules/unictype/property-bidi-other-neutral (Depends-on,
34995         configure.ac): Likewise.
34996         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
34997         Likewise.
34998         * modules/unictype/property-bidi-segment-separator (Depends-on,
34999         configure.ac): Likewise.
35000         * modules/unictype/property-bidi-whitespace (Depends-on,
35001         configure.ac): Likewise.
35002         * modules/unictype/property-combining (Depends-on, configure.ac):
35003         Likewise.
35004         * modules/unictype/property-composite (Depends-on, configure.ac):
35005         Likewise.
35006         * modules/unictype/property-currency-symbol (Depends-on,
35007         configure.ac): Likewise.
35008         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35009         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35010         Likewise.
35011         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35012         configure.ac): Likewise.
35013         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35014         Likewise.
35015         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35016         Likewise.
35017         * modules/unictype/property-extender (Depends-on, configure.ac):
35018         Likewise.
35019         * modules/unictype/property-format-control (Depends-on, configure.ac):
35020         Likewise.
35021         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35022         Likewise.
35023         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35024         Likewise.
35025         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35026         Likewise.
35027         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35028         Likewise.
35029         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35030         Likewise.
35031         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35032         Likewise.
35033         * modules/unictype/property-id-start (Depends-on, configure.ac):
35034         Likewise.
35035         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35036         Likewise.
35037         * modules/unictype/property-ids-binary-operator (Depends-on,
35038         configure.ac): Likewise.
35039         * modules/unictype/property-ids-trinary-operator (Depends-on,
35040         configure.ac): Likewise.
35041         * modules/unictype/property-ignorable-control (Depends-on,
35042         configure.ac): Likewise.
35043         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35044         Likewise.
35045         * modules/unictype/property-join-control (Depends-on, configure.ac):
35046         Likewise.
35047         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35048         Likewise.
35049         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35050         Likewise.
35051         * modules/unictype/property-logical-order-exception (Depends-on,
35052         configure.ac): Likewise.
35053         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35054         Likewise.
35055         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35056         * modules/unictype/property-non-break (Depends-on, configure.ac):
35057         Likewise.
35058         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35059         Likewise.
35060         * modules/unictype/property-numeric (Depends-on, configure.ac):
35061         Likewise.
35062         * modules/unictype/property-other-alphabetic (Depends-on,
35063         configure.ac): Likewise.
35064         * modules/unictype/property-other-default-ignorable-code-point
35065         (Depends-on, configure.ac): Likewise.
35066         * modules/unictype/property-other-grapheme-extend (Depends-on,
35067         configure.ac): Likewise.
35068         * modules/unictype/property-other-id-continue (Depends-on,
35069         configure.ac): Likewise.
35070         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35071         Likewise.
35072         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35073         Likewise.
35074         * modules/unictype/property-other-math (Depends-on, configure.ac):
35075         Likewise.
35076         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35077         Likewise.
35078         * modules/unictype/property-paired-punctuation (Depends-on,
35079         configure.ac): Likewise.
35080         * modules/unictype/property-paragraph-separator (Depends-on,
35081         configure.ac): Likewise.
35082         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35083         Likewise.
35084         * modules/unictype/property-pattern-white-space (Depends-on,
35085         configure.ac): Likewise.
35086         * modules/unictype/property-private-use (Depends-on, configure.ac):
35087         Likewise.
35088         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35089         Likewise.
35090         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35091         Likewise.
35092         * modules/unictype/property-radical (Depends-on, configure.ac):
35093         Likewise.
35094         * modules/unictype/property-sentence-terminal (Depends-on,
35095         configure.ac): Likewise.
35096         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
35097         Likewise.
35098         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
35099         * modules/unictype/property-terminal-punctuation (Depends-on,
35100         configure.ac): Likewise.
35101         * modules/unictype/property-titlecase (Depends-on, configure.ac):
35102         Likewise.
35103         * modules/unictype/property-unassigned-code-value (Depends-on,
35104         configure.ac): Likewise.
35105         * modules/unictype/property-unified-ideograph (Depends-on,
35106         configure.ac): Likewise.
35107         * modules/unictype/property-uppercase (Depends-on, configure.ac):
35108         Likewise.
35109         * modules/unictype/property-variation-selector (Depends-on,
35110         configure.ac): Likewise.
35111         * modules/unictype/property-white-space (Depends-on, configure.ac):
35112         Likewise.
35113         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
35114         Likewise.
35115         * modules/unictype/property-xid-start (Depends-on, configure.ac):
35116         Likewise.
35117         * modules/unictype/property-zero-width (Depends-on, configure.ac):
35118         Likewise.
35119         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
35120         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
35121         Likewise.
35122
35123 2009-12-31  Bruno Haible  <bruno@clisp.org>
35124
35125         Remove unnecessary AC_C_INLINE invocation.
35126         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
35127         since 2009-08-21.
35128
35129 2009-12-31  Jim Meyering  <meyering@redhat.com>
35130
35131         maint.mk: don't require explicit gpg_key_ID in cfg.mk
35132         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
35133         With this change, we can all remove the gpg_key_ID = ... definition
35134         from our respective cfg.mk files.
35135
35136         maint.mk: create announcement template in ~/, not in /tmp
35137         * top/maint.mk (emit_upload_commands): Adjust.
35138         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
35139         Remove temporary file, .ci-msg.
35140
35141 2009-12-31  Eric Blake  <ebb9@byu.net>
35142
35143         link-warning: always build headers with link warnings
35144         * modules/arpa_inet (Makefile.am): Always build replacement
35145         header.
35146         * modules/ctype (Makefile.am): Likewise.
35147         * modules/dirent (Makefile.am): Likewise.
35148         * modules/inttypes (Makefile.am): Likewise.
35149         * modules/langinfo (Makefile.am): Likewise.
35150         * modules/locale (Makefile.am): Likewise.
35151         * modules/spawn (Makefile.am): Likewise.
35152         * modules/sys_file (Makefile.am): Likewise.
35153         * modules/sys_ioctl (Makefile.am): Likewise.
35154         * modules/sys_select (Makefile.am): Likewise.
35155         * modules/sys_socket (Makefile.am): Likewise.
35156         * modules/sys_times (Makefile.am): Likewise.
35157         * modules/sys_utsname (Makefile.am): Likewise.
35158         * modules/sys_wait (Makefile.am): Likewise.
35159         * modules/wchar (Makefile.am): Likewise.
35160         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
35161         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
35162         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
35163         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
35164         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
35165         Likewise.
35166         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35167         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35168         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
35169         Likewise.
35170         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
35171         Likewise.
35172         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
35173         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
35174         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
35175         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35176         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35177         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35178         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35179         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
35180         (gl_WCHAR_H_DEFAULTS): Likewise.
35181
35182 2009-12-31  Eric Blake  <ebb9@byu.net>
35183
35184         signal, spawn: use link warnings
35185         * lib/signal.in.h (sigset_t): Make unconditional.
35186         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
35187         (sigpending, sigprocmask, sigaction): Add link warnings.
35188         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
35189         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
35190         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
35191         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
35192         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
35193         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
35194         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
35195         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
35196         (posix_spawn_file_actions_destroy)
35197         (posix_spawn_file_actions_addopen)
35198         (posix_spawn_file_actions_addclose)
35199         (posix_spawn_file_actions_adddup2): Likewise.
35200         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
35201         * tests/test-signal.c (main): Enhance test.
35202
35203         spawn: improve wrapper support
35204         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
35205         (gl_SPAWN_H_DEFAULTS): New defaults.
35206         * modules/spawn (Makefile.am): Substitute them.
35207         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
35208         Only declare if missing or broken.
35209
35210         sys_times, sys_utsname: use include_next
35211         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
35212         header.
35213         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
35214         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35215         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35216         * modules/sys_times (Depends-on): Add include_next.
35217         (Makefile.am): Substitute additional values.
35218         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35219         * lib/sys_times.in.h (includes): Include native header, if
35220         available.
35221         * lib/sys_utsname.in.h (includes): Likewise.
35222         * tests/test-sys_times.c (main): Enhance test.
35223
35224         fdutimensat: revert prior patch
35225         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
35226         utimens.h.
35227         Reported by Bruno Haible.
35228
35229 2009-12-30  Eric Blake  <ebb9@byu.net>
35230
35231         sys_wait: drop link-warning dependency
35232         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
35233         link-warning efforts.
35234         * lib/sys_wait.in.h: Likewise.
35235
35236         fdutimensat: remove bogus dependency
35237         * modules/fdutimensat (Depends-on): Drop inline.
35238
35239         unistd: fix typo
35240         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
35241
35242 2009-12-30  Bruno Haible  <bruno@clisp.org>
35243
35244         Fix compilation error with Solaris cc.
35245         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
35246         * lib/unicase/u16-is-invariant.c: Likewise.
35247         * lib/unicase/u32-is-invariant.c: Likewise.
35248         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
35249
35250 2009-12-30  Bruno Haible  <bruno@clisp.org>
35251
35252         Fix test crash.
35253         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
35254         locales.
35255         Reported by Simon Josefsson <simon@josefsson.org>.
35256
35257 2009-12-30  Bruno Haible  <bruno@clisp.org>
35258
35259         Fix compilation error on most platforms.
35260         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
35261         Reported by Simon Josefsson <simon@josefsson.org>
35262         and Nelson H. F. Beebe <beebe@math.utah.edu>.
35263
35264 2009-12-30  Eric Blake  <ebb9@byu.net>
35265
35266         futimens, utimensat: work around ntfs-3g bug
35267         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
35268         a ctime bug is present, and expand workaround to cover ntfs-3g.
35269         * lib/utimens.c (fdutimens, lutimens): Likewise.
35270         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
35271         (validate_timespec): Adjust return value.
35272         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
35273         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35274         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
35275
35276 2009-12-29  Eric Blake  <ebb9@byu.net>
35277
35278         link-warning: make usage consistent
35279         * modules/ctype (Depends-on): Add link-warning.
35280         (Makefile.am): Update rules accordingly.
35281         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35282         * modules/locale (Depends-on, Makefile.am): Likewise.
35283         * modules/sys_file (Makefile.am): Likewise.
35284         * modules/getopt-posix (Makefile.am): Delete unused link warning
35285         efforts.
35286         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
35287         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
35288         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
35289         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
35290
35291         stdio: remove unused variables
35292         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
35293         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
35294         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
35295
35296         tests: test more substitute headers
35297         * modules/ctype-tests: New file.
35298         * modules/dirent-tests: Likewise.
35299         * modules/spawn-tests: Likewise.
35300         * modules/sys_file-tests: Likewise.
35301         * modules/sys_ioctl-tests: Likewise.
35302         * modules/sys_wait-tests: Likewise.
35303         * tests/test-ctype.c: Likewise.
35304         * tests/test-dirent.c: Likewise.
35305         * tests/test-spawn.c: Likewise.
35306         * tests/test-sys_file.c: Likewise.
35307         * tests/test-sys_ioctl.c: Likewise.
35308         * tests/test-sys_wait.c: Likewise.
35309         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
35310         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
35311         whether or not flock is in use.
35312
35313         tests: remove License section from module
35314         * modules/arpa_inet-tests: Remove unneeded section.
35315         * modules/byteswap-tests: Likewise.
35316         * modules/ceilf-tests: Likewise.
35317         * modules/ceill-tests: Likewise.
35318         * modules/crypto/des-tests: Likewise.
35319         * modules/crypto/gc-arcfour-tests: Likewise.
35320         * modules/crypto/gc-arctwo-tests: Likewise.
35321         * modules/crypto/gc-des-tests: Likewise.
35322         * modules/crypto/gc-hmac-md5-tests: Likewise.
35323         * modules/crypto/gc-hmac-sha1-tests: Likewise.
35324         * modules/crypto/gc-md2-tests: Likewise.
35325         * modules/crypto/gc-md4-tests: Likewise.
35326         * modules/crypto/gc-md5-tests: Likewise.
35327         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
35328         * modules/crypto/gc-rijndael-tests: Likewise.
35329         * modules/crypto/gc-sha1-tests: Likewise.
35330         * modules/crypto/gc-tests: Likewise.
35331         * modules/crypto/md2-tests: Likewise.
35332         * modules/crypto/md4-tests: Likewise.
35333         * modules/fcntl-h-tests: Likewise.
35334         * modules/floorf-tests: Likewise.
35335         * modules/floorl-tests: Likewise.
35336         * modules/frexp-nolibm-tests: Likewise.
35337         * modules/frexp-tests: Likewise.
35338         * modules/frexpl-nolibm-tests: Likewise.
35339         * modules/frexpl-tests: Likewise.
35340         * modules/getaddrinfo-tests: Likewise.
35341         * modules/inttypes-tests: Likewise.
35342         * modules/isfinite-tests: Likewise.
35343         * modules/isinf-tests: Likewise.
35344         * modules/ldexpl-tests: Likewise.
35345         * modules/locale-tests: Likewise.
35346         * modules/math-tests: Likewise.
35347         * modules/netdb-tests: Likewise.
35348         * modules/netinet_in-tests: Likewise.
35349         * modules/printf-frexp-tests: Likewise.
35350         * modules/printf-frexpl-tests: Likewise.
35351         * modules/priv-set-tests: Likewise.
35352         * modules/random_r-tests: Likewise.
35353         * modules/round-tests: Likewise.
35354         * modules/roundf-tests: Likewise.
35355         * modules/roundl-tests: Likewise.
35356         * modules/search-tests: Likewise.
35357         * modules/select-tests: Likewise.
35358         * modules/signal-tests: Likewise.
35359         * modules/stdbool-tests: Likewise.
35360         * modules/stddef-tests: Likewise.
35361         * modules/stdint-tests: Likewise.
35362         * modules/stdio-tests: Likewise.
35363         * modules/stdlib-tests: Likewise.
35364         * modules/string-tests: Likewise.
35365         * modules/strings-tests: Likewise.
35366         * modules/sys_select-tests: Likewise.
35367         * modules/sys_socket-tests: Likewise.
35368         * modules/sys_stat-tests: Likewise.
35369         * modules/sys_time-tests: Likewise.
35370         * modules/sys_utsname-tests: Likewise.
35371         * modules/sysexits-tests: Likewise.
35372         * modules/time-tests: Likewise.
35373         * modules/trunc-tests: Likewise.
35374         * modules/truncf-tests: Likewise.
35375         * modules/truncl-tests: Likewise.
35376         * modules/tsearch-tests: Likewise.
35377         * modules/unistd-tests: Likewise.
35378         * modules/wchar-tests: Likewise.
35379         * modules/wctype-tests: Likewise.
35380
35381         tests: fix license on several tests
35382         * tests/test-des.c: Update to GPLv3+.
35383         * tests/test-flock.c: Likewise.
35384         * tests/test-fsync.c: Likewise.
35385         * tests/test-futimens.h: Likewise.
35386         * tests/test-gc-arcfour.c: Likewise.
35387         * tests/test-gc-arctwo.c: Likewise.
35388         * tests/test-gc-des.c: Likewise.
35389         * tests/test-gc-hmac-md5.c: Likewise.
35390         * tests/test-gc-hmac-sha1.c: Likewise.
35391         * tests/test-gc-md2.c: Likewise.
35392         * tests/test-gc-md4.c: Likewise.
35393         * tests/test-gc-md5.c: Likewise.
35394         * tests/test-gc-pbkdf2-sha1.c: Likewise.
35395         * tests/test-gc-rijndael.c: Likewise.
35396         * tests/test-gc-sha1.c: Likewise.
35397         * tests/test-gc.c: Likewise.
35398         * tests/test-getcwd.c: Likewise.
35399         * tests/test-link.c: Likewise.
35400         * tests/test-link.h: Likewise.
35401         * tests/test-lutimens.h: Likewise.
35402         * tests/test-md2.c: Likewise.
35403         * tests/test-md4.c: Likewise.
35404         * tests/test-mkdir.h: Likewise.
35405         * tests/test-rename.c: Likewise.
35406         * tests/test-rename.h: Likewise.
35407         * tests/test-safe-alloc.c: Likewise.
35408         * tests/test-utimens-common.h: Likewise.
35409         * tests/test-utimens.h: Likewise.
35410
35411         maint: sync license texts
35412         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
35413         * doc/gpl-3.0.texi: Revert copyright year update.
35414         * doc/lgpl-3.0.texi: Likewise.
35415
35416 2009-12-29  Jim Meyering  <meyering@redhat.com>
35417
35418         update nearly all FSF copyright year lists to include 2009
35419         The files named by the following are exempted:
35420             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
35421               test -f "$dst" && { echo "$dst"; continue; }
35422               test -d "$dst" || continue
35423               echo "$dst"/$(basename "$src")
35424             done > exempt
35425             git ls-files tests/unictype >> exempt
35426         In the remaining files, convert to all-interval notation if
35427         - there is already at least one year interval like 2000-2003
35428         - the file is maintained by me
35429         - the file is in lib/uni*/, where that style already prevails
35430         Otherwise, use update-copyright's default.
35431
35432 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35433         and Eric Blake  <ebb9@byu.net>
35434
35435         tests: don't require debug system() to pass
35436         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
35437         * tests/test-rmdir.h (test_rmdir_func): Likewise.
35438         * tests/test-unlink.h (test_unlink_func): Likewise.
35439         * tests/test-fstatat.c (main): ...into callers.
35440         * tests/test-lstat.c (main): Likewise.
35441         * tests/test-rmdir.c (main): Likewise.
35442         * tests/test-unlink.c (main): Likewise.
35443         * tests/test-unlinkat.c (main): Likewise.
35444         * tests/test-areadlink-with-size.c (main): Don't require a
35445         debug-only system call to pass, aiding cross-testing to mingw.
35446         * tests/test-areadlink.c (main): Likewise.
35447         * tests/test-areadlinkat-with-size.c (main): Likewise.
35448         * tests/test-areadlinkat.c (main): Likewise.
35449         * tests/test-canonicalize-lgpl.c (main): Likewise.
35450         * tests/test-canonicalize.c (main): Likewise.
35451         * tests/test-chown.c (main): Likewise.
35452         * tests/test-fchownat.c (main): Likewise.
35453         * tests/test-lchown.c (main): Likewise.
35454         * tests/test-fdutimensat.c (main): Likewise.
35455         * tests/test-futimens.c (main): Likewise.
35456         * tests/test-link.c (main): Likewise.
35457         * tests/test-linkat.c (main): Likewise.
35458         * tests/test-mkdir.c (main): Likewise.
35459         * tests/test-mkdirat.c (main): Likewise.
35460         * tests/test-mkfifo.c (main): Likewise.
35461         * tests/test-mkfifoat.c (main): Likewise.
35462         * tests/test-mknod.c (main): Likewise.
35463         * tests/test-readlink.c (main): Likewise.
35464         * tests/test-remove.c (main): Likewise.
35465         * tests/test-rename.c (main): Likewise.
35466         * tests/test-renameat.c (main): Likewise.
35467         * tests/test-symlink.c (main): Likewise.
35468         * tests/test-symlinkat.c (main): Likewise.
35469         * tests/test-utimens.c (main): Likewise.
35470         * tests/test-utimensat.c (main): Likewise.
35471
35472 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35473
35474         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
35475         on $(UNUSED_PARAMETER_H) to avoid build failure.
35476
35477 2009-12-28  Jim Meyering  <meyering@redhat.com>
35478
35479         update-copyright: you may specify a max. line length other than 72
35480         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35481
35482         maint: use consistent FSF copyright line syntax
35483         * lib/posixtm.c: Add missing comma in FSF copyright line.
35484         * lib/posixtm.h: Likewise.
35485         * lib/getugroups.c: Add missing ", Inc.".
35486
35487         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
35488         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
35489         FSF copyright line.  Remove trailing blanks.
35490
35491 2009-12-28  Eric Blake  <ebb9@byu.net>
35492
35493         test-dup2: reduce dependencies
35494         * modules/cloexec (Configure.ac): Set witness.
35495         * modules/dup2-tests (Depends-on): Drop cloexec.
35496         * tests/test-dup2.c (main): Skip portion of test if cloexec module
35497         not present.
35498         Suggested by Bruno Haible.
35499
35500 2009-12-26  Bruno Haible  <bruno@clisp.org>
35501
35502         Remove an unneeded dependency.
35503         * modules/fseterr (Depends-on): Remove dup2.
35504
35505 2009-12-26  Eric Blake  <ebb9@byu.net>
35506
35507         tests: use macros.h in more places
35508         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
35509         (ASSERT_STREAM): Provide default of stderr.
35510         * tests/test-dirent-safer.c: Include macros.h, using alternate
35511         stream for assertions.
35512         * tests/test-dup-safer.c: Likewise.
35513         * tests/test-freopen-safer.c: Likewise.
35514         * tests/test-getopt.c: Likewise.
35515         * tests/test-openat-safer.c: Likewise.
35516         * tests/test-pipe.c: Likewise.
35517         * tests/test-popen-safer.c: Likewise.
35518         * modules/dirent-safer-tests (Files): Include macros.h.
35519         * modules/unistd-safer-tests (Files): Likewise.
35520         * modules/freopen-safer-tests (Files): Likewise.
35521         * modules/getopt-posix-tests (Files): Likewise.
35522         * modules/openat-safer-tests (Files): Likewise.
35523         * modules/pipe-tests (Files): Likewise.
35524
35525 2009-12-26  Bruno Haible  <bruno@clisp.org>
35526
35527         javacomp: Portability fix.
35528         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
35529         that it also works on Solaris.
35530
35531 2009-12-26  Bruno Haible  <bruno@clisp.org>
35532
35533         localename: Fix storage allocation of gl_locale_name_thread's result.
35534         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
35535         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
35536         all platforms that have 'uselocale'.
35537         (gl_locale_name_thread_unsafe): New function, extracted from
35538         gl_locale_name_thread.
35539         (gl_locale_name_thread): Call struniq on all platforms that have
35540         'uselocale'.
35541         * tests/test-localename.c (test_locale_name_thread): Check that the
35542         resulting strings are permanently allocated.
35543         * modules/localename-tests (Depends-on): Add strdup.
35544
35545 2009-12-26  Bruno Haible  <bruno@clisp.org>
35546
35547         * tests/test-localename.c (categories): Fill in the strings.
35548
35549 2009-12-26  Jim Meyering  <meyering@redhat.com>
35550
35551         isdir: complete the removal of m4/isdir.m4
35552         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
35553
35554         isdir: clean up, since at least grep still uses it
35555         * lib/isdir.c: Include "isdir.h".
35556         (S_ISDIR): Remove now-unneeded definition.
35557         * modules/isdir (Files): Add lib/isdir.h.
35558         * lib/isdir.h: New file, with declaration.
35559         * m4/isdir.m4: Remove file -- unneeded.
35560
35561 2009-12-25  Bruno Haible  <bruno@clisp.org>
35562
35563         selinux-h: Make generated .h files standalone.
35564         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
35565         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
35566         * lib/se-selinux.in.h: Likewise.
35567         * modules/selinux-h (Depends-on): Add unused-parameter.
35568         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
35569         selinux/selinux.h and selinux/context.h.
35570         Suggested by Eric Blake.
35571
35572 2009-12-25  Bruno Haible  <bruno@clisp.org>
35573
35574         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
35575         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
35576         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
35577         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
35578         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
35579
35580 2009-12-24  Bruno Haible  <bruno@clisp.org>
35581
35582         openat: Fix warning.
35583         * lib/openat-proc.c: Include <unistd.h>.
35584
35585 2009-12-24  Bruno Haible  <bruno@clisp.org>
35586
35587         New module 'unused-parameter'.
35588         * build-aux/unused-parameter.h: New file, extracted from earlier
35589         gnulib-common.m4.
35590         * modules/unused-parameter: New file.
35591         * lib/unistr.h: Include unused-parameter.h.
35592         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
35593         _GL_UNUSED.
35594         * modules/unistr/base (Depends-on): Add unused-parameter.
35595
35596 2009-12-24  Bruno Haible  <bruno@clisp.org>
35597
35598         Add missing dependencies to 'extensions' module.
35599         * m4/extensions.m4: Add comment.
35600         * modules/accept4 (Depends-on): Add extensions.
35601         * modules/dup3 (Depends-on): Likewise.
35602         * modules/fcntl (Depends-on): Likewise.
35603         * modules/futimens (Depends-on): Likewise.
35604         * modules/mknod (Depends-on): Likewise.
35605         * modules/pipe2 (Depends-on): Likewise.
35606         * modules/stat-time (Depends-on): Likewise.
35607         * modules/strcasestr-simple (Depends-on): Likewise.
35608         * modules/strsignal (Depends-on): Likewise.
35609         * modules/utimensat (Depends-on): Likewise.
35610         * modules/localcharset (Depends-on): Likewise. Needed because of
35611         gl_FCNTL_O_FLAGS.
35612         * modules/wcrtomb (Depends-on): Likewise. Needed because of
35613         AC_TYPE_MBSTATE_T.
35614         * modules/wcsnrtombs (Depends-on): Likewise.
35615         * modules/wcsrtombs (Depends-on): Likewise.
35616
35617 2009-12-24  Bruno Haible  <bruno@clisp.org>
35618
35619         binary-io: Avoid gcc warning due to SET_BINARY.
35620         * lib/binary-io.h (SET_BINARY): Cast the result to void.
35621         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
35622
35623 2009-12-24  Bruno Haible  <bruno@clisp.org>
35624
35625         Avoid future namespace pollution on glibc systems.
35626         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
35627         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
35628         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
35629         glibc systems.
35630
35631 2009-12-24  Bruno Haible  <bruno@clisp.org>
35632
35633         Refactor common macros used in tests.
35634         * tests/macros.h: New file.
35635         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
35636         and/or <stdlib.h>, if appropriate.
35637         (ASSERT, SIZEOF): Remove macros.
35638         * tests/test-areadlink-with-size.c: Likewise.
35639         * tests/test-areadlinkat.c: Likewise.
35640         * tests/test-areadlinkat-with-size.c: Likewise.
35641         * tests/test-argmatch.c: Likewise.
35642         * tests/test-argv-iter.c: Likewise.
35643         * tests/test-array-mergesort.c: Likewise.
35644         * tests/test-array_list.c: Likewise.
35645         * tests/test-array_oset.c: Likewise.
35646         * tests/test-avltree_list.c: Likewise.
35647         * tests/test-avltree_oset.c: Likewise.
35648         * tests/test-avltreehash_list.c: Likewise.
35649         * tests/test-base64.c: Likewise.
35650         * tests/test-binary-io.c: Likewise.
35651         * tests/test-bitrotate.c: Likewise.
35652         * tests/test-btowc.c: Likewise.
35653         * tests/test-byteswap.c: Likewise.
35654         * tests/test-c-ctype.c: Likewise.
35655         * tests/test-c-stack.c: Likewise.
35656         * tests/test-c-strcasecmp.c: Likewise.
35657         * tests/test-c-strcasestr.c: Likewise.
35658         * tests/test-c-strncasecmp.c: Likewise.
35659         * tests/test-c-strstr.c: Likewise.
35660         * tests/test-canonicalize-lgpl.c: Likewise.
35661         * tests/test-canonicalize.c: Likewise.
35662         * tests/test-carray_list.c: Likewise.
35663         * tests/test-ceilf1.c: Likewise.
35664         * tests/test-ceilf2.c: Likewise.
35665         * tests/test-ceill.c: Likewise.
35666         * tests/test-chown.c: Likewise.
35667         * tests/test-cloexec.c: Likewise.
35668         * tests/test-copy-acl.c: Likewise.
35669         * tests/test-copy-file.c: Likewise.
35670         * tests/test-count-one-bits.c: Likewise.
35671         * tests/test-dprintf-posix.c: Likewise.
35672         * tests/test-dup2.c: Likewise.
35673         * tests/test-dup3.c: Likewise.
35674         * tests/test-duplocale.c: Likewise.
35675         * tests/test-fbufmode.c: Likewise.
35676         * tests/test-fchdir.c: Likewise.
35677         * tests/test-fchownat.c: Likewise.
35678         * tests/test-fcntl-safer.c: Likewise.
35679         * tests/test-fcntl.c: Likewise.
35680         * tests/test-fdopendir.c: Likewise.
35681         * tests/test-fdutimensat.c: Likewise.
35682         * tests/test-fflush2.c: Likewise.
35683         * tests/test-file-has-acl.c: Likewise.
35684         * tests/test-filevercmp.c: Likewise.
35685         * tests/test-flock.c: Likewise.
35686         * tests/test-floorf1.c: Likewise.
35687         * tests/test-floorf2.c: Likewise.
35688         * tests/test-floorl.c: Likewise.
35689         * tests/test-fnmatch.c: Likewise.
35690         * tests/test-fopen.h: Likewise.
35691         * tests/test-fpending.c: Likewise.
35692         * tests/test-fprintf-posix.c: Likewise.
35693         * tests/test-fpurge.c: Likewise.
35694         * tests/test-freadable.c: Likewise.
35695         * tests/test-freadahead.c: Likewise.
35696         * tests/test-freading.c: Likewise.
35697         * tests/test-freadptr.c: Likewise.
35698         * tests/test-freadptr2.c: Likewise.
35699         * tests/test-freadseek.c: Likewise.
35700         * tests/test-freopen.c: Likewise.
35701         * tests/test-frexp.c: Likewise.
35702         * tests/test-frexpl.c: Likewise.
35703         * tests/test-fseek.c: Likewise.
35704         * tests/test-fseeko.c: Likewise.
35705         * tests/test-fstatat.c: Likewise.
35706         * tests/test-fstrcmp.c: Likewise.
35707         * tests/test-fsync.c: Likewise.
35708         * tests/test-ftell.c: Likewise.
35709         * tests/test-ftello.c: Likewise.
35710         * tests/test-func.c: Likewise.
35711         * tests/test-futimens.c: Likewise.
35712         * tests/test-fwritable.c: Likewise.
35713         * tests/test-fwriting.c: Likewise.
35714         * tests/test-getcwd.c: Likewise.
35715         * tests/test-getdate.c: Likewise.
35716         * tests/test-getdelim.c: Likewise.
35717         * tests/test-getdtablesize.c: Likewise.
35718         * tests/test-getgroups.c: Likewise.
35719         * tests/test-getline.c: Likewise.
35720         * tests/test-getndelim2.c: Likewise.
35721         * tests/test-glob.c: Likewise.
35722         * tests/test-hash.c: Likewise.
35723         * tests/test-i-ring.c: Likewise.
35724         * tests/test-iconv-utf.c: Likewise.
35725         * tests/test-iconv.c: Likewise.
35726         * tests/test-idpriv-drop.c: Likewise.
35727         * tests/test-idpriv-droptemp.c: Likewise.
35728         * tests/test-inet_ntop.c: Likewise.
35729         * tests/test-inet_pton.c: Likewise.
35730         * tests/test-isblank.c: Likewise.
35731         * tests/test-isfinite.c: Likewise.
35732         * tests/test-isinf.c: Likewise.
35733         * tests/test-isnan.c: Likewise.
35734         * tests/test-isnand.h: Likewise.
35735         * tests/test-isnanf.h: Likewise.
35736         * tests/test-isnanl.h: Likewise.
35737         * tests/test-lchown.c: Likewise.
35738         * tests/test-ldexpl.c: Likewise.
35739         * tests/test-link.c: Likewise.
35740         * tests/test-linkat.c: Likewise.
35741         * tests/test-linked_list.c: Likewise.
35742         * tests/test-linkedhash_list.c: Likewise.
35743         * tests/test-localename.c: Likewise.
35744         * tests/test-lseek.c: Likewise.
35745         * tests/test-lstat.c: Likewise.
35746         * tests/test-mbmemcasecmp.c: Likewise.
35747         * tests/test-mbmemcasecoll.c: Likewise.
35748         * tests/test-mbrtowc.c: Likewise.
35749         * tests/test-mbscasecmp.c: Likewise.
35750         * tests/test-mbscasestr1.c: Likewise.
35751         * tests/test-mbscasestr2.c: Likewise.
35752         * tests/test-mbscasestr3.c: Likewise.
35753         * tests/test-mbscasestr4.c: Likewise.
35754         * tests/test-mbschr.c: Likewise.
35755         * tests/test-mbscspn.c: Likewise.
35756         * tests/test-mbsinit.c: Likewise.
35757         * tests/test-mbsncasecmp.c: Likewise.
35758         * tests/test-mbsnrtowcs.c: Likewise.
35759         * tests/test-mbspbrk.c: Likewise.
35760         * tests/test-mbspcasecmp.c: Likewise.
35761         * tests/test-mbsrchr.c: Likewise.
35762         * tests/test-mbsrtowcs.c: Likewise.
35763         * tests/test-mbsspn.c: Likewise.
35764         * tests/test-mbsstr1.c: Likewise.
35765         * tests/test-mbsstr2.c: Likewise.
35766         * tests/test-mbsstr3.c: Likewise.
35767         * tests/test-memchr.c: Likewise.
35768         * tests/test-memchr2.c: Likewise.
35769         * tests/test-memcmp.c: Likewise.
35770         * tests/test-memmem.c: Likewise.
35771         * tests/test-memrchr.c: Likewise.
35772         * tests/test-mkdir.c: Likewise.
35773         * tests/test-mkdirat.c: Likewise.
35774         * tests/test-mkfifo.c: Likewise.
35775         * tests/test-mkfifoat.c: Likewise.
35776         * tests/test-mknod.c: Likewise.
35777         * tests/test-nanosleep.c: Likewise.
35778         * tests/test-nl_langinfo.c: Likewise.
35779         * tests/test-obstack-printf.c: Likewise.
35780         * tests/test-open.c: Likewise.
35781         * tests/test-openat.c: Likewise.
35782         * tests/test-pipe-filter-gi1.c: Likewise.
35783         * tests/test-pipe-filter-gi2-main.c: Likewise.
35784         * tests/test-pipe-filter-ii1.c: Likewise.
35785         * tests/test-pipe-filter-ii2-main.c: Likewise.
35786         * tests/test-pipe2.c: Likewise.
35787         * tests/test-popen.h: Likewise.
35788         * tests/test-posixtm.c: Likewise.
35789         * tests/test-pread.c: Likewise.
35790         * tests/test-printf-frexp.c: Likewise.
35791         * tests/test-printf-frexpl.c: Likewise.
35792         * tests/test-printf-posix.c: Likewise.
35793         * tests/test-priv-set.c: Likewise.
35794         * tests/test-quotearg.c: Likewise.
35795         * tests/test-random_r.c: Likewise.
35796         * tests/test-rawmemchr.c: Likewise.
35797         * tests/test-rbtree_list.c: Likewise.
35798         * tests/test-rbtree_oset.c: Likewise.
35799         * tests/test-rbtreehash_list.c: Likewise.
35800         * tests/test-readlink.c: Likewise.
35801         * tests/test-remove.c: Likewise.
35802         * tests/test-rename.c: Likewise.
35803         * tests/test-renameat.c: Likewise.
35804         * tests/test-rmdir.c: Likewise.
35805         * tests/test-round1.c: Likewise.
35806         * tests/test-roundf1.c: Likewise.
35807         * tests/test-roundl.c: Likewise.
35808         * tests/test-safe-alloc.c: Likewise.
35809         * tests/test-sameacls.c: Likewise.
35810         * tests/test-set-mode-acl.c: Likewise.
35811         * tests/test-setenv.c: Likewise.
35812         * tests/test-sigaction.c: Likewise.
35813         * tests/test-signbit.c: Likewise.
35814         * tests/test-sleep.c: Likewise.
35815         * tests/test-snprintf-posix.c: Likewise.
35816         * tests/test-snprintf.c: Likewise.
35817         * tests/test-sprintf-posix.c: Likewise.
35818         * tests/test-stat-time.c: Likewise.
35819         * tests/test-stat.c: Likewise.
35820         * tests/test-strcasestr.c: Likewise.
35821         * tests/test-strchrnul.c: Likewise.
35822         * tests/test-strerror.c: Likewise.
35823         * tests/test-striconv.c: Likewise.
35824         * tests/test-striconveh.c: Likewise.
35825         * tests/test-striconveha.c: Likewise.
35826         * tests/test-strsignal.c: Likewise.
35827         * tests/test-strstr.c: Likewise.
35828         * tests/test-strtod.c: Likewise.
35829         * tests/test-strverscmp.c: Likewise.
35830         * tests/test-symlink.c: Likewise.
35831         * tests/test-symlinkat.c: Likewise.
35832         * tests/test-trunc1.c: Likewise.
35833         * tests/test-trunc2.c: Likewise.
35834         * tests/test-truncf1.c: Likewise.
35835         * tests/test-truncf2.c: Likewise.
35836         * tests/test-truncl.c: Likewise.
35837         * tests/test-uname.c: Likewise.
35838         * tests/test-unlink.c: Likewise.
35839         * tests/test-unlinkat.c: Likewise.
35840         * tests/test-unsetenv.c: Likewise.
35841         * tests/test-usleep.c: Likewise.
35842         * tests/test-utimens.c: Likewise.
35843         * tests/test-utimensat.c: Likewise.
35844         * tests/test-vasnprintf-posix.c: Likewise.
35845         * tests/test-vasnprintf-posix2.c: Likewise.
35846         * tests/test-vasnprintf.c: Likewise.
35847         * tests/test-vasprintf-posix.c: Likewise.
35848         * tests/test-vasprintf.c: Likewise.
35849         * tests/test-vdprintf-posix.c: Likewise.
35850         * tests/test-vfprintf-posix.c: Likewise.
35851         * tests/test-vprintf-posix.c: Likewise.
35852         * tests/test-vsnprintf-posix.c: Likewise.
35853         * tests/test-vsnprintf.c: Likewise.
35854         * tests/test-vsprintf-posix.c: Likewise.
35855         * tests/test-wcrtomb.c: Likewise.
35856         * tests/test-wcsnrtombs.c: Likewise.
35857         * tests/test-wcsrtombs.c: Likewise.
35858         * tests/test-wctype.c: Likewise.
35859         * tests/test-wcwidth.c: Likewise.
35860         * tests/test-xfprintf-posix.c: Likewise.
35861         * tests/test-xmemdup0.c: Likewise.
35862         * tests/test-xprintf-posix.c: Likewise.
35863         * tests/test-xvasprintf.c: Likewise.
35864         * tests/unicase/test-locale-language.c: Likewise.
35865         * tests/unicase/test-mapping-part1.h: Likewise.
35866         * tests/unicase/test-predicate-part1.h: Likewise.
35867         * tests/unicase/test-u8-casecmp.c: Likewise.
35868         * tests/unicase/test-u8-casecoll.c: Likewise.
35869         * tests/unicase/test-u8-casefold.c: Likewise.
35870         * tests/unicase/test-u8-is-cased.c: Likewise.
35871         * tests/unicase/test-u8-is-casefolded.c: Likewise.
35872         * tests/unicase/test-u8-is-lowercase.c: Likewise.
35873         * tests/unicase/test-u8-is-titlecase.c: Likewise.
35874         * tests/unicase/test-u8-is-uppercase.c: Likewise.
35875         * tests/unicase/test-u8-tolower.c: Likewise.
35876         * tests/unicase/test-u8-totitle.c: Likewise.
35877         * tests/unicase/test-u8-toupper.c: Likewise.
35878         * tests/unicase/test-u16-casecmp.c: Likewise.
35879         * tests/unicase/test-u16-casecoll.c: Likewise.
35880         * tests/unicase/test-u16-casefold.c: Likewise.
35881         * tests/unicase/test-u16-is-cased.c: Likewise.
35882         * tests/unicase/test-u16-is-casefolded.c: Likewise.
35883         * tests/unicase/test-u16-is-lowercase.c: Likewise.
35884         * tests/unicase/test-u16-is-titlecase.c: Likewise.
35885         * tests/unicase/test-u16-is-uppercase.c: Likewise.
35886         * tests/unicase/test-u16-tolower.c: Likewise.
35887         * tests/unicase/test-u16-totitle.c: Likewise.
35888         * tests/unicase/test-u16-toupper.c: Likewise.
35889         * tests/unicase/test-u32-casecmp.c: Likewise.
35890         * tests/unicase/test-u32-casecoll.c: Likewise.
35891         * tests/unicase/test-u32-casefold.c: Likewise.
35892         * tests/unicase/test-u32-is-cased.c: Likewise.
35893         * tests/unicase/test-u32-is-casefolded.c: Likewise.
35894         * tests/unicase/test-u32-is-lowercase.c: Likewise.
35895         * tests/unicase/test-u32-is-titlecase.c: Likewise.
35896         * tests/unicase/test-u32-is-uppercase.c: Likewise.
35897         * tests/unicase/test-u32-tolower.c: Likewise.
35898         * tests/unicase/test-u32-totitle.c: Likewise.
35899         * tests/unicase/test-u32-toupper.c: Likewise.
35900         * tests/unicase/test-ulc-casecmp.c: Likewise.
35901         * tests/unicase/test-ulc-casecoll.c: Likewise.
35902         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35903         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
35904         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35905         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35906         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
35907         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
35908         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35909         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35910         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35911         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
35912         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35913         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35914         * tests/unictype/test-bidi_byname.c: Likewise.
35915         * tests/unictype/test-bidi_name.c: Likewise.
35916         * tests/unictype/test-bidi_of.c: Likewise.
35917         * tests/unictype/test-bidi_test.c: Likewise.
35918         * tests/unictype/test-block_list.c: Likewise.
35919         * tests/unictype/test-block_of.c: Likewise.
35920         * tests/unictype/test-block_test.c: Likewise.
35921         * tests/unictype/test-categ_and.c: Likewise.
35922         * tests/unictype/test-categ_and_not.c: Likewise.
35923         * tests/unictype/test-categ_byname.c: Likewise.
35924         * tests/unictype/test-categ_name.c: Likewise.
35925         * tests/unictype/test-categ_none.c: Likewise.
35926         * tests/unictype/test-categ_of.c: Likewise.
35927         * tests/unictype/test-categ_or.c: Likewise.
35928         * tests/unictype/test-categ_test_withtable.c: Likewise.
35929         * tests/unictype/test-combining.c: Likewise.
35930         * tests/unictype/test-decdigit.c: Likewise.
35931         * tests/unictype/test-digit.c: Likewise.
35932         * tests/unictype/test-mirror.c: Likewise.
35933         * tests/unictype/test-numeric.c: Likewise.
35934         * tests/unictype/test-pr_byname.c: Likewise.
35935         * tests/unictype/test-pr_test.c: Likewise.
35936         * tests/unictype/test-predicate-part1.h: Likewise.
35937         * tests/unictype/test-scripts.c: Likewise.
35938         * tests/unictype/test-sy_c_ident.c: Likewise.
35939         * tests/unictype/test-sy_java_ident.c: Likewise.
35940         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
35941         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
35942         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
35943         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
35944         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
35945         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
35946         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
35947         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
35948         * tests/uninorm/test-canonical-decomposition.c: Likewise.
35949         * tests/uninorm/test-compat-decomposition.c: Likewise.
35950         * tests/uninorm/test-composition.c: Likewise.
35951         * tests/uninorm/test-decomposing-form.c: Likewise.
35952         * tests/uninorm/test-decomposition.c: Likewise.
35953         * tests/uninorm/test-u8-nfc.c: Likewise.
35954         * tests/uninorm/test-u8-nfd.c: Likewise.
35955         * tests/uninorm/test-u8-nfkc.c: Likewise.
35956         * tests/uninorm/test-u8-nfkd.c: Likewise.
35957         * tests/uninorm/test-u8-normcmp.c: Likewise.
35958         * tests/uninorm/test-u8-normcoll.c: Likewise.
35959         * tests/uninorm/test-u16-nfc.c: Likewise.
35960         * tests/uninorm/test-u16-nfd.c: Likewise.
35961         * tests/uninorm/test-u16-nfkc.c: Likewise.
35962         * tests/uninorm/test-u16-nfkd.c: Likewise.
35963         * tests/uninorm/test-u16-normcmp.c: Likewise.
35964         * tests/uninorm/test-u16-normcoll.c: Likewise.
35965         * tests/uninorm/test-u32-nfc.c: Likewise.
35966         * tests/uninorm/test-u32-nfd.c: Likewise.
35967         * tests/uninorm/test-u32-nfkc.c: Likewise.
35968         * tests/uninorm/test-u32-nfkd.c: Likewise.
35969         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35970         * tests/uninorm/test-u32-normcmp.c: Likewise.
35971         * tests/uninorm/test-u32-normcoll.c: Likewise.
35972         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
35973         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
35974         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
35975         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
35976         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
35977         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
35978         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
35979         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
35980         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
35981         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
35982         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
35983         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
35984         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
35985         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
35986         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
35987         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
35988         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
35989         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
35990         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
35991         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
35992         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
35993         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
35994         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
35995         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
35996         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
35997         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
35998         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
35999         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36000         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36001         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36002         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36003         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36004         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36005         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36006         * tests/uniwidth/test-u8-width.c: Likewise.
36007         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36008         * tests/uniwidth/test-u16-width.c: Likewise.
36009         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36010         * tests/uniwidth/test-u32-width.c: Likewise.
36011         * tests/uniwidth/test-uc_width.c: Likewise.
36012         * tests/uniwidth/test-uc_width2.c: Likewise.
36013         * modules/acl-tests (Files): Add tests/macros.h.
36014         * modules/areadlink-tests (Files): Likewise.
36015         * modules/areadlink-with-size-tests (Files): Likewise.
36016         * modules/areadlinkat-tests (Files): Likewise.
36017         * modules/areadlinkat-with-size-tests (Files): Likewise.
36018         * modules/argmatch-tests (Files): Likewise.
36019         * modules/argv-iter-tests (Files): Likewise.
36020         * modules/array-list-tests (Files): Likewise.
36021         * modules/array-mergesort-tests (Files): Likewise.
36022         * modules/array-oset-tests (Files): Likewise.
36023         * modules/avltree-list-tests (Files): Likewise.
36024         * modules/avltree-oset-tests (Files): Likewise.
36025         * modules/avltreehash-list-tests (Files): Likewise.
36026         * modules/base64-tests (Files): Likewise.
36027         * modules/binary-io-tests (Files): Likewise.
36028         * modules/bitrotate-tests (Files): Likewise.
36029         * modules/btowc-tests (Files): Likewise.
36030         * modules/byteswap-tests (Files): Likewise.
36031         * modules/c-ctype-tests (Files): Likewise.
36032         * modules/c-stack-tests (Files): Likewise.
36033         * modules/c-strcase-tests (Files): Likewise.
36034         * modules/c-strcasestr-tests (Files): Likewise.
36035         * modules/c-strstr-tests (Files): Likewise.
36036         * modules/canonicalize-lgpl-tests (Files): Likewise.
36037         * modules/canonicalize-tests (Files): Likewise.
36038         * modules/carray-list-tests (Files): Likewise.
36039         * modules/ceilf-tests (Files): Likewise.
36040         * modules/ceill-tests (Files): Likewise.
36041         * modules/chown-tests (Files): Likewise.
36042         * modules/cloexec-tests (Files): Likewise.
36043         * modules/copy-file-tests (Files): Likewise.
36044         * modules/count-one-bits-tests (Files): Likewise.
36045         * modules/dprintf-posix-tests (Files): Likewise.
36046         * modules/dup2-tests (Files): Likewise.
36047         * modules/dup3-tests (Files): Likewise.
36048         * modules/duplocale-tests (Files): Likewise.
36049         * modules/fbufmode-tests (Files): Likewise.
36050         * modules/fchdir-tests (Files): Likewise.
36051         * modules/fcntl-safer-tests (Files): Likewise.
36052         * modules/fcntl-tests (Files): Likewise.
36053         * modules/fdopendir-tests (Files): Likewise.
36054         * modules/fdutimensat-tests (Files): Likewise.
36055         * modules/fflush-tests (Files): Likewise.
36056         * modules/filevercmp-tests (Files): Likewise.
36057         * modules/flock-tests (Files): Likewise.
36058         * modules/floorf-tests (Files): Likewise.
36059         * modules/floorl-tests (Files): Likewise.
36060         * modules/fnmatch-tests (Files): Likewise.
36061         * modules/fopen-safer-tests (Files): Likewise.
36062         * modules/fopen-tests (Files): Likewise.
36063         * modules/fpending-tests (Files): Likewise.
36064         * modules/fprintf-posix-tests (Files): Likewise.
36065         * modules/fpurge-tests (Files): Likewise.
36066         * modules/freadable-tests (Files): Likewise.
36067         * modules/freadahead-tests (Files): Likewise.
36068         * modules/freading-tests (Files): Likewise.
36069         * modules/freadptr-tests (Files): Likewise.
36070         * modules/freadseek-tests (Files): Likewise.
36071         * modules/freopen-tests (Files): Likewise.
36072         * modules/frexp-nolibm-tests (Files): Likewise.
36073         * modules/frexp-tests (Files): Likewise.
36074         * modules/frexpl-nolibm-tests (Files): Likewise.
36075         * modules/frexpl-tests (Files): Likewise.
36076         * modules/fseek-tests (Files): Likewise.
36077         * modules/fseeko-tests (Files): Likewise.
36078         * modules/fstrcmp-tests (Files): Likewise.
36079         * modules/fsync-tests (Files): Likewise.
36080         * modules/ftell-tests (Files): Likewise.
36081         * modules/ftello-tests (Files): Likewise.
36082         * modules/func-tests (Files): Likewise.
36083         * modules/futimens-tests (Files): Likewise.
36084         * modules/fwritable-tests (Files): Likewise.
36085         * modules/fwriting-tests (Files): Likewise.
36086         * modules/getcwd-tests (Files): Likewise.
36087         * modules/getdate-tests (Files): Likewise.
36088         * modules/getdelim-tests (Files): Likewise.
36089         * modules/getdtablesize-tests (Files): Likewise.
36090         * modules/getgroups-tests (Files): Likewise.
36091         * modules/getline-tests (Files): Likewise.
36092         * modules/getndelim2-tests (Files): Likewise.
36093         * modules/glob-tests (Files): Likewise.
36094         * modules/hash-tests (Files): Likewise.
36095         * modules/i-ring-tests (Files): Likewise.
36096         * modules/iconv-tests (Files): Likewise.
36097         * modules/iconv_open-utf-tests (Files): Likewise.
36098         * modules/idpriv-drop-tests (Files): Likewise.
36099         * modules/idpriv-droptemp-tests (Files): Likewise.
36100         * modules/inet_ntop-tests (Files): Likewise.
36101         * modules/inet_pton-tests (Files): Likewise.
36102         * modules/isblank-tests (Files): Likewise.
36103         * modules/isfinite-tests (Files): Likewise.
36104         * modules/isinf-tests (Files): Likewise.
36105         * modules/isnan-tests (Files): Likewise.
36106         * modules/isnand-nolibm-tests (Files): Likewise.
36107         * modules/isnand-tests (Files): Likewise.
36108         * modules/isnanf-nolibm-tests (Files): Likewise.
36109         * modules/isnanf-tests (Files): Likewise.
36110         * modules/isnanl-nolibm-tests (Files): Likewise.
36111         * modules/isnanl-tests (Files): Likewise.
36112         * modules/lchown-tests (Files): Likewise.
36113         * modules/ldexpl-tests (Files): Likewise.
36114         * modules/link-tests (Files): Likewise.
36115         * modules/linkat-tests (Files): Likewise.
36116         * modules/linked-list-tests (Files): Likewise.
36117         * modules/linkedhash-list-tests (Files): Likewise.
36118         * modules/localename-tests (Files): Likewise.
36119         * modules/lseek-tests (Files): Likewise.
36120         * modules/lstat-tests (Files): Likewise.
36121         * modules/mbmemcasecmp-tests (Files): Likewise.
36122         * modules/mbmemcasecoll-tests (Files): Likewise.
36123         * modules/mbrtowc-tests (Files): Likewise.
36124         * modules/mbscasecmp-tests (Files): Likewise.
36125         * modules/mbscasestr-tests (Files): Likewise.
36126         * modules/mbschr-tests (Files): Likewise.
36127         * modules/mbscspn-tests (Files): Likewise.
36128         * modules/mbsinit-tests (Files): Likewise.
36129         * modules/mbsncasecmp-tests (Files): Likewise.
36130         * modules/mbsnrtowcs-tests (Files): Likewise.
36131         * modules/mbspbrk-tests (Files): Likewise.
36132         * modules/mbspcasecmp-tests (Files): Likewise.
36133         * modules/mbsrchr-tests (Files): Likewise.
36134         * modules/mbsrtowcs-tests (Files): Likewise.
36135         * modules/mbsspn-tests (Files): Likewise.
36136         * modules/mbsstr-tests (Files): Likewise.
36137         * modules/memchr-tests (Files): Likewise.
36138         * modules/memchr2-tests (Files): Likewise.
36139         * modules/memcmp-tests (Files): Likewise.
36140         * modules/memmem-tests (Files): Likewise.
36141         * modules/memrchr-tests (Files): Likewise.
36142         * modules/mkdir-tests (Files): Likewise.
36143         * modules/mkfifo-tests (Files): Likewise.
36144         * modules/mkfifoat-tests (Files): Likewise.
36145         * modules/mknod-tests (Files): Likewise.
36146         * modules/nanosleep-tests (Files): Likewise.
36147         * modules/nl_langinfo-tests (Files): Likewise.
36148         * modules/obstack-printf-tests (Files): Likewise.
36149         * modules/open-tests (Files): Likewise.
36150         * modules/openat-tests (Files): Likewise.
36151         * modules/pipe-filter-gi-tests (Files): Likewise.
36152         * modules/pipe-filter-ii-tests (Files): Likewise.
36153         * modules/pipe2-tests (Files): Likewise.
36154         * modules/popen-safer-tests (Files): Likewise.
36155         * modules/popen-tests (Files): Likewise.
36156         * modules/posixtm-tests (Files): Likewise.
36157         * modules/pread-tests (Files): Likewise.
36158         * modules/printf-frexp-tests (Files): Likewise.
36159         * modules/printf-frexpl-tests (Files): Likewise.
36160         * modules/printf-posix-tests (Files): Likewise.
36161         * modules/priv-set-tests (Files): Likewise.
36162         * modules/quotearg-tests (Files): Likewise.
36163         * modules/random_r-tests (Files): Likewise.
36164         * modules/rawmemchr-tests (Files): Likewise.
36165         * modules/rbtree-list-tests (Files): Likewise.
36166         * modules/rbtree-oset-tests (Files): Likewise.
36167         * modules/rbtreehash-list-tests (Files): Likewise.
36168         * modules/readlink-tests (Files): Likewise.
36169         * modules/remove-tests (Files): Likewise.
36170         * modules/rename-tests (Files): Likewise.
36171         * modules/renameat-tests (Files): Likewise.
36172         * modules/rmdir-tests (Files): Likewise.
36173         * modules/round-tests (Files): Likewise.
36174         * modules/roundf-tests (Files): Likewise.
36175         * modules/roundl-tests (Files): Likewise.
36176         * modules/safe-alloc-tests (Files): Likewise.
36177         * modules/setenv-tests (Files): Likewise.
36178         * modules/sigaction-tests (Files): Likewise.
36179         * modules/signbit-tests (Files): Likewise.
36180         * modules/sleep-tests (Files): Likewise.
36181         * modules/snprintf-posix-tests (Files): Likewise.
36182         * modules/snprintf-tests (Files): Likewise.
36183         * modules/sprintf-posix-tests (Files): Likewise.
36184         * modules/stat-tests (Files): Likewise.
36185         * modules/stat-time-tests (Files): Likewise.
36186         * modules/strcasestr-tests (Files): Likewise.
36187         * modules/strchrnul-tests (Files): Likewise.
36188         * modules/strerror-tests (Files): Likewise.
36189         * modules/striconv-tests (Files): Likewise.
36190         * modules/striconveh-tests (Files): Likewise.
36191         * modules/striconveha-tests (Files): Likewise.
36192         * modules/strsignal-tests (Files): Likewise.
36193         * modules/strstr-tests (Files): Likewise.
36194         * modules/strtod-tests (Files): Likewise.
36195         * modules/strverscmp-tests (Files): Likewise.
36196         * modules/symlink-tests (Files): Likewise.
36197         * modules/symlinkat-tests (Files): Likewise.
36198         * modules/trunc-tests (Files): Likewise.
36199         * modules/truncf-tests (Files): Likewise.
36200         * modules/truncl-tests (Files): Likewise.
36201         * modules/uname-tests (Files): Likewise.
36202         * modules/unicase/cased-tests (Files): Likewise.
36203         * modules/unicase/ignorable-tests (Files): Likewise.
36204         * modules/unicase/locale-language-tests (Files): Likewise.
36205         * modules/unicase/tolower-tests (Files): Likewise.
36206         * modules/unicase/totitle-tests (Files): Likewise.
36207         * modules/unicase/toupper-tests (Files): Likewise.
36208         * modules/unicase/u8-casecmp-tests (Files): Likewise.
36209         * modules/unicase/u8-casecoll-tests (Files): Likewise.
36210         * modules/unicase/u8-casefold-tests (Files): Likewise.
36211         * modules/unicase/u8-is-cased-tests (Files): Likewise.
36212         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
36213         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
36214         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
36215         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
36216         * modules/unicase/u8-tolower-tests (Files): Likewise.
36217         * modules/unicase/u8-totitle-tests (Files): Likewise.
36218         * modules/unicase/u8-toupper-tests (Files): Likewise.
36219         * modules/unicase/u16-casecmp-tests (Files): Likewise.
36220         * modules/unicase/u16-casecoll-tests (Files): Likewise.
36221         * modules/unicase/u16-casefold-tests (Files): Likewise.
36222         * modules/unicase/u16-is-cased-tests (Files): Likewise.
36223         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
36224         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
36225         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
36226         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
36227         * modules/unicase/u16-tolower-tests (Files): Likewise.
36228         * modules/unicase/u16-totitle-tests (Files): Likewise.
36229         * modules/unicase/u16-toupper-tests (Files): Likewise.
36230         * modules/unicase/u32-casecmp-tests (Files): Likewise.
36231         * modules/unicase/u32-casecoll-tests (Files): Likewise.
36232         * modules/unicase/u32-casefold-tests (Files): Likewise.
36233         * modules/unicase/u32-is-cased-tests (Files): Likewise.
36234         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
36235         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
36236         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
36237         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
36238         * modules/unicase/u32-tolower-tests (Files): Likewise.
36239         * modules/unicase/u32-totitle-tests (Files): Likewise.
36240         * modules/unicase/u32-toupper-tests (Files): Likewise.
36241         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
36242         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
36243         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
36244         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
36245         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
36246         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
36247         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
36248         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
36249         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
36250         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
36251         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
36252         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
36253         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
36254         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
36255         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
36256         * modules/unictype/bidicategory-name-tests (Files): Likewise.
36257         * modules/unictype/bidicategory-of-tests (Files): Likewise.
36258         * modules/unictype/bidicategory-test-tests (Files): Likewise.
36259         * modules/unictype/block-list-tests (Files): Likewise.
36260         * modules/unictype/block-of-tests (Files): Likewise.
36261         * modules/unictype/block-test-tests (Files): Likewise.
36262         * modules/unictype/category-C-tests (Files): Likewise.
36263         * modules/unictype/category-Cc-tests (Files): Likewise.
36264         * modules/unictype/category-Cf-tests (Files): Likewise.
36265         * modules/unictype/category-Cn-tests (Files): Likewise.
36266         * modules/unictype/category-Co-tests (Files): Likewise.
36267         * modules/unictype/category-Cs-tests (Files): Likewise.
36268         * modules/unictype/category-L-tests (Files): Likewise.
36269         * modules/unictype/category-Ll-tests (Files): Likewise.
36270         * modules/unictype/category-Lm-tests (Files): Likewise.
36271         * modules/unictype/category-Lo-tests (Files): Likewise.
36272         * modules/unictype/category-Lt-tests (Files): Likewise.
36273         * modules/unictype/category-Lu-tests (Files): Likewise.
36274         * modules/unictype/category-M-tests (Files): Likewise.
36275         * modules/unictype/category-Mc-tests (Files): Likewise.
36276         * modules/unictype/category-Me-tests (Files): Likewise.
36277         * modules/unictype/category-Mn-tests (Files): Likewise.
36278         * modules/unictype/category-N-tests (Files): Likewise.
36279         * modules/unictype/category-Nd-tests (Files): Likewise.
36280         * modules/unictype/category-Nl-tests (Files): Likewise.
36281         * modules/unictype/category-No-tests (Files): Likewise.
36282         * modules/unictype/category-P-tests (Files): Likewise.
36283         * modules/unictype/category-Pc-tests (Files): Likewise.
36284         * modules/unictype/category-Pd-tests (Files): Likewise.
36285         * modules/unictype/category-Pe-tests (Files): Likewise.
36286         * modules/unictype/category-Pf-tests (Files): Likewise.
36287         * modules/unictype/category-Pi-tests (Files): Likewise.
36288         * modules/unictype/category-Po-tests (Files): Likewise.
36289         * modules/unictype/category-Ps-tests (Files): Likewise.
36290         * modules/unictype/category-S-tests (Files): Likewise.
36291         * modules/unictype/category-Sc-tests (Files): Likewise.
36292         * modules/unictype/category-Sk-tests (Files): Likewise.
36293         * modules/unictype/category-Sm-tests (Files): Likewise.
36294         * modules/unictype/category-So-tests (Files): Likewise.
36295         * modules/unictype/category-Z-tests (Files): Likewise.
36296         * modules/unictype/category-Zl-tests (Files): Likewise.
36297         * modules/unictype/category-Zp-tests (Files): Likewise.
36298         * modules/unictype/category-Zs-tests (Files): Likewise.
36299         * modules/unictype/category-and-not-tests (Files): Likewise.
36300         * modules/unictype/category-and-tests (Files): Likewise.
36301         * modules/unictype/category-byname-tests (Files): Likewise.
36302         * modules/unictype/category-name-tests (Files): Likewise.
36303         * modules/unictype/category-none-tests (Files): Likewise.
36304         * modules/unictype/category-of-tests (Files): Likewise.
36305         * modules/unictype/category-or-tests (Files): Likewise.
36306         * modules/unictype/category-test-withtable-tests (Files): Likewise.
36307         * modules/unictype/combining-class-tests (Files): Likewise.
36308         * modules/unictype/ctype-alnum-tests (Files): Likewise.
36309         * modules/unictype/ctype-alpha-tests (Files): Likewise.
36310         * modules/unictype/ctype-blank-tests (Files): Likewise.
36311         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
36312         * modules/unictype/ctype-digit-tests (Files): Likewise.
36313         * modules/unictype/ctype-graph-tests (Files): Likewise.
36314         * modules/unictype/ctype-lower-tests (Files): Likewise.
36315         * modules/unictype/ctype-print-tests (Files): Likewise.
36316         * modules/unictype/ctype-punct-tests (Files): Likewise.
36317         * modules/unictype/ctype-space-tests (Files): Likewise.
36318         * modules/unictype/ctype-upper-tests (Files): Likewise.
36319         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
36320         * modules/unictype/decimal-digit-tests (Files): Likewise.
36321         * modules/unictype/digit-tests (Files): Likewise.
36322         * modules/unictype/mirror-tests (Files): Likewise.
36323         * modules/unictype/numeric-tests (Files): Likewise.
36324         * modules/unictype/property-alphabetic-tests (Files): Likewise.
36325         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
36326         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
36327         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
36328         Likewise.
36329         * modules/unictype/property-bidi-block-separator-tests (Files):
36330         Likewise.
36331         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
36332         Likewise.
36333         * modules/unictype/property-bidi-common-separator-tests (Files):
36334         Likewise.
36335         * modules/unictype/property-bidi-control-tests (Files): Likewise.
36336         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
36337         Likewise.
36338         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
36339         Likewise.
36340         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
36341         Likewise.
36342         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
36343         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
36344         Likewise.
36345         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
36346         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
36347         Likewise.
36348         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
36349         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
36350         * modules/unictype/property-bidi-segment-separator-tests (Files):
36351         Likewise.
36352         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
36353         * modules/unictype/property-byname-tests (Files): Likewise.
36354         * modules/unictype/property-combining-tests (Files): Likewise.
36355         * modules/unictype/property-composite-tests (Files): Likewise.
36356         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
36357         * modules/unictype/property-dash-tests (Files): Likewise.
36358         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
36359         * modules/unictype/property-default-ignorable-code-point-tests (Files):
36360         Likewise.
36361         * modules/unictype/property-deprecated-tests (Files): Likewise.
36362         * modules/unictype/property-diacritic-tests (Files): Likewise.
36363         * modules/unictype/property-extender-tests (Files): Likewise.
36364         * modules/unictype/property-format-control-tests (Files): Likewise.
36365         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
36366         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
36367         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
36368         * modules/unictype/property-hex-digit-tests (Files): Likewise.
36369         * modules/unictype/property-hyphen-tests (Files): Likewise.
36370         * modules/unictype/property-id-continue-tests (Files): Likewise.
36371         * modules/unictype/property-id-start-tests (Files): Likewise.
36372         * modules/unictype/property-ideographic-tests (Files): Likewise.
36373         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
36374         * modules/unictype/property-ids-trinary-operator-tests (Files):
36375         Likewise.
36376         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
36377         * modules/unictype/property-iso-control-tests (Files): Likewise.
36378         * modules/unictype/property-join-control-tests (Files): Likewise.
36379         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
36380         * modules/unictype/property-line-separator-tests (Files): Likewise.
36381         * modules/unictype/property-logical-order-exception-tests (Files):
36382         Likewise.
36383         * modules/unictype/property-lowercase-tests (Files): Likewise.
36384         * modules/unictype/property-math-tests (Files): Likewise.
36385         * modules/unictype/property-non-break-tests (Files): Likewise.
36386         * modules/unictype/property-not-a-character-tests (Files): Likewise.
36387         * modules/unictype/property-numeric-tests (Files): Likewise.
36388         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
36389         * modules/unictype/property-other-default-ignorable-code-point-tests
36390         (Files): Likewise.
36391         * modules/unictype/property-other-grapheme-extend-tests (Files):
36392         Likewise.
36393         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
36394         * modules/unictype/property-other-id-start-tests (Files): Likewise.
36395         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
36396         * modules/unictype/property-other-math-tests (Files): Likewise.
36397         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
36398         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
36399         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
36400         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
36401         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
36402         * modules/unictype/property-private-use-tests (Files): Likewise.
36403         * modules/unictype/property-punctuation-tests (Files): Likewise.
36404         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
36405         * modules/unictype/property-radical-tests (Files): Likewise.
36406         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
36407         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
36408         * modules/unictype/property-space-tests (Files): Likewise.
36409         * modules/unictype/property-terminal-punctuation-tests (Files):
36410         Likewise.
36411         * modules/unictype/property-test-tests (Files): Likewise.
36412         * modules/unictype/property-titlecase-tests (Files): Likewise.
36413         * modules/unictype/property-unassigned-code-value-tests (Files):
36414         Likewise.
36415         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
36416         * modules/unictype/property-uppercase-tests (Files): Likewise.
36417         * modules/unictype/property-variation-selector-tests (Files): Likewise.
36418         * modules/unictype/property-white-space-tests (Files): Likewise.
36419         * modules/unictype/property-xid-continue-tests (Files): Likewise.
36420         * modules/unictype/property-xid-start-tests (Files): Likewise.
36421         * modules/unictype/property-zero-width-tests (Files): Likewise.
36422         * modules/unictype/scripts-tests (Files): Likewise.
36423         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
36424         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
36425         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
36426         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
36427         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
36428         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
36429         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
36430         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
36431         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
36432         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
36433         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
36434         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
36435         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
36436         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
36437         * modules/uninorm/composition-tests (Files): Likewise.
36438         * modules/uninorm/decomposing-form-tests (Files): Likewise.
36439         * modules/uninorm/decomposition-tests (Files): Likewise.
36440         * modules/uninorm/filter-tests (Files): Likewise.
36441         * modules/uninorm/nfc-tests (Files): Likewise.
36442         * modules/uninorm/nfd-tests (Files): Likewise.
36443         * modules/uninorm/nfkc-tests (Files): Likewise.
36444         * modules/uninorm/nfkd-tests (Files): Likewise.
36445         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
36446         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
36447         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
36448         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
36449         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
36450         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
36451         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
36452         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
36453         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
36454         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
36455         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
36456         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
36457         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
36458         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
36459         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
36460         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
36461         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
36462         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
36463         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
36464         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
36465         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
36466         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
36467         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
36468         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
36469         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
36470         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
36471         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
36472         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
36473         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
36474         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
36475         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
36476         * modules/uniwidth/u8-width-tests (Files): Likewise.
36477         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
36478         * modules/uniwidth/u16-width-tests (Files): Likewise.
36479         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
36480         * modules/uniwidth/u32-width-tests (Files): Likewise.
36481         * modules/uniwidth/width-tests (Files): Likewise.
36482         * modules/unlink-tests (Files): Likewise.
36483         * modules/unsetenv-tests (Files): Likewise.
36484         * modules/usleep-tests (Files): Likewise.
36485         * modules/utimens-tests (Files): Likewise.
36486         * modules/utimensat-tests (Files): Likewise.
36487         * modules/vasnprintf-posix-tests (Files): Likewise.
36488         * modules/vasnprintf-tests (Files): Likewise.
36489         * modules/vasprintf-posix-tests (Files): Likewise.
36490         * modules/vasprintf-tests (Files): Likewise.
36491         * modules/vdprintf-posix-tests (Files): Likewise.
36492         * modules/vfprintf-posix-tests (Files): Likewise.
36493         * modules/vprintf-posix-tests (Files): Likewise.
36494         * modules/vsnprintf-posix-tests (Files): Likewise.
36495         * modules/vsnprintf-tests (Files): Likewise.
36496         * modules/vsprintf-posix-tests (Files): Likewise.
36497         * modules/wcrtomb-tests (Files): Likewise.
36498         * modules/wcsnrtombs-tests (Files): Likewise.
36499         * modules/wcsrtombs-tests (Files): Likewise.
36500         * modules/wctype-tests (Files): Likewise.
36501         * modules/wcwidth-tests (Files): Likewise.
36502         * modules/xmemdup0-tests (Files): Likewise.
36503         * modules/xprintf-posix-tests (Files): Likewise.
36504         * modules/xvasprintf-tests (Files): Likewise.
36505
36506 2009-12-24  Eric Blake  <ebb9@byu.net>
36507
36508         test-nanosleep: fix typo
36509         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
36510         patch.
36511         Reported by Bruno Haible.
36512
36513 2009-12-24  Bruno Haible  <bruno@clisp.org>
36514
36515         Reduce namespace pollution on glibc systems.
36516         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
36517         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
36518         systems.
36519         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
36520         <getopt.h> on glibc systems.
36521         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
36522         systems.
36523         * lib/fcntl.c: Include <unistd.h> here instead.
36524
36525 2009-12-24  Bruno Haible  <bruno@clisp.org>
36526
36527         * lib/stdlib.in.h (includes): Fix typo in today's commit.
36528
36529 2009-12-24  Eric Blake  <ebb9@byu.net>
36530
36531         tests: add signature checks
36532         * tests/signature.h (SIGNATURE_CHECK): New file.
36533         * modules/atexit-tests (Files): Use it.
36534         * modules/btowc-tests (Files): Likewise.
36535         * modules/canonicalize-lgpl-tests (Files): Likewise.
36536         * modules/ceilf-tests (Files): Likewise.
36537         * modules/ceill-tests (Files): Likewise.
36538         * modules/chown-tests (Files): Likewise.
36539         * modules/dprintf-posix-tests (Files): Likewise.
36540         * modules/dup2-tests (Files): Likewise.
36541         * modules/dup3-tests (Files): Likewise.
36542         * modules/duplocale-tests (Files): Likewise.
36543         * modules/fchdir-tests (Files): Likewise.
36544         * modules/fcntl-tests (Files): Likewise.
36545         * modules/fdopendir-tests (Files): Likewise.
36546         * modules/fflush-tests (Files): Likewise.
36547         * modules/flock-tests (Files): Likewise.
36548         * modules/floorf-tests (Files): Likewise.
36549         * modules/floorl-tests (Files): Likewise.
36550         * modules/fnmatch-tests (Files): Likewise.
36551         * modules/fopen-tests (Files): Likewise.
36552         * modules/fprintf-posix-tests (Files): Likewise.
36553         * modules/freopen-tests (Files): Likewise.
36554         * modules/frexp-nolibm-tests (Files): Likewise.
36555         * modules/frexp-tests (Files): Likewise.
36556         * modules/frexpl-nolibm-tests (Files): Likewise.
36557         * modules/frexpl-tests (Files): Likewise.
36558         * modules/fseek-tests (Files): Likewise.
36559         * modules/fseeko-tests (Files): Likewise.
36560         * modules/fsync-tests (Files): Likewise.
36561         * modules/ftell-tests (Files): Likewise.
36562         * modules/ftello-tests (Files): Likewise.
36563         * modules/futimens-tests (Files): Likewise.
36564         * modules/getaddrinfo-tests (Files): Likewise.
36565         * modules/getcwd-tests (Files): Likewise.
36566         * modules/getdelim-tests (Files): Likewise.
36567         * modules/getdtablesize-tests (Files): Likewise.
36568         * modules/getgroups-tests (Files): Likewise.
36569         * modules/gethostname-tests (Files): Likewise.
36570         * modules/getline-tests (Files): Likewise.
36571         * modules/getopt-posix-tests (Files): Likewise.
36572         * modules/gettimeofday-tests (Files): Likewise.
36573         * modules/glob-tests (Files): Likewise.
36574         * modules/iconv-tests (Files): Likewise.
36575         * modules/inet_ntop-tests (Files): Likewise.
36576         * modules/inet_pton-tests (Files): Likewise.
36577         * modules/isblank-tests (Files): Likewise.
36578         * modules/lchown-tests (Files): Likewise.
36579         * modules/ldexpl-tests (Files): Likewise.
36580         * modules/link-tests (Files): Likewise.
36581         * modules/linkat-tests (Files): Likewise.
36582         * modules/lseek-tests (Files): Likewise.
36583         * modules/lstat-tests (Files): Likewise.
36584         * modules/mbrtowc-tests (Files): Likewise.
36585         * modules/mbsinit-tests (Files): Likewise.
36586         * modules/mbsnrtowcs-tests (Files): Likewise.
36587         * modules/mbsrtowcs-tests (Files): Likewise.
36588         * modules/memchr-tests (Files): Likewise.
36589         * modules/memcmp-tests (Files): Likewise.
36590         * modules/memmem-tests (Files): Likewise.
36591         * modules/memrchr-tests (Files): Likewise.
36592         * modules/mkdir-tests (Files): Likewise.
36593         * modules/mkfifo-tests (Files): Likewise.
36594         * modules/mkfifoat-tests (Files): Likewise.
36595         * modules/mknod-tests (Files): Likewise.
36596         * modules/nanosleep-tests (Files): Likewise.
36597         * modules/nl_langinfo-tests (Files): Likewise.
36598         * modules/obstack-printf-tests (Files): Likewise.
36599         * modules/open-tests (Files): Likewise.
36600         * modules/openat-tests (Files): Likewise.
36601         * modules/perror-tests (Files): Likewise.
36602         * modules/pipe2-tests (Files): Likewise.
36603         * modules/poll-tests (Files): Likewise.
36604         * modules/popen-tests (Files): Likewise.
36605         * modules/posix_spawn-tests (Files): Likewise.
36606         * modules/posix_spawnp-tests (Files): Likewise.
36607         * modules/pread-tests (Files): Likewise.
36608         * modules/printf-posix-tests (Files): Likewise.
36609         * modules/pty-tests (Files): Likewise.
36610         * modules/random_r-tests (Files): Likewise.
36611         * modules/rawmemchr-tests (Files): Likewise.
36612         * modules/readlink-tests (Files): Likewise.
36613         * modules/remove-tests (Files): Likewise.
36614         * modules/rename-tests (Files): Likewise.
36615         * modules/renameat-tests (Files): Likewise.
36616         * modules/rmdir-tests (Files): Likewise.
36617         * modules/round-tests (Files): Likewise.
36618         * modules/roundf-tests (Files): Likewise.
36619         * modules/roundl-tests (Files): Likewise.
36620         * modules/select-tests (Files): Likewise.
36621         * modules/setenv-tests (Files): Likewise.
36622         * modules/sigaction-tests (Files): Likewise.
36623         * modules/sleep-tests (Files): Likewise.
36624         * modules/snprintf-posix-tests (Files): Likewise.
36625         * modules/snprintf-tests (Files): Likewise.
36626         * modules/sprintf-posix-tests (Files): Likewise.
36627         * modules/stat-tests (Files): Likewise.
36628         * modules/strcasestr-tests (Files): Likewise.
36629         * modules/strchrnul-tests (Files): Likewise.
36630         * modules/strerror-tests (Files): Likewise.
36631         * modules/strsignal-tests (Files): Likewise.
36632         * modules/strstr-tests (Files): Likewise.
36633         * modules/strtod-tests (Files): Likewise.
36634         * modules/strverscmp-tests (Files): Likewise.
36635         * modules/symlink-tests (Files): Likewise.
36636         * modules/symlinkat-tests (Files): Likewise.
36637         * modules/times-tests (Files): Likewise.
36638         * modules/trunc-tests (Files): Likewise.
36639         * modules/truncf-tests (Files): Likewise.
36640         * modules/truncl-tests (Files): Likewise.
36641         * modules/tsearch-tests (Files): Likewise.
36642         * modules/uname-tests (Files): Likewise.
36643         * modules/unlink-tests (Files): Likewise.
36644         * modules/unsetenv-tests (Files): Likewise.
36645         * modules/usleep-tests (Files): Likewise.
36646         * modules/utimensat-tests (Files): Likewise.
36647         * modules/vasprintf-tests (Files): Likewise.
36648         * modules/vdprintf-posix-tests (Files): Likewise.
36649         * modules/vfprintf-posix-tests (Files): Likewise.
36650         * modules/vprintf-posix-tests (Files): Likewise.
36651         * modules/vsnprintf-posix-tests (Files): Likewise.
36652         * modules/vsnprintf-tests (Files): Likewise.
36653         * modules/vsprintf-posix-tests (Files): Likewise.
36654         * modules/wcrtomb-tests (Files): Likewise.
36655         * modules/wcsnrtombs-tests (Files): Likewise.
36656         * modules/wcsrtombs-tests (Files): Likewise.
36657         * modules/wcwidth-tests (Files): Likewise.
36658         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
36659         * tests/test-isinf.c (isinf): Likewise.
36660         * tests/test-isnan.c (isnan): Likewise.
36661         * tests/test-signbit.c (signbit): Likewise.
36662         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
36663         declaration, either as macro or with correct signature.
36664         (select): Ensure function under test is declared with correct
36665         signature in correct header.
36666         * tests/test-atexit.c (atexit): Likewise.
36667         * tests/test-btowc.c (btowc): Likewise.
36668         * tests/test-canonicalize-lgpl.c (realpath)
36669         (canonicalize_file_name): Likewise.
36670         * tests/test-ceilf1.c (ceilf): Likewise.
36671         * tests/test-ceill.c (ceill): Likewise.
36672         * tests/test-chown.c (chown): Likewise.
36673         * tests/test-dprintf-posix.c (dprintf): Likewise.
36674         * tests/test-dup2.c (dup2): Likewise.
36675         * tests/test-dup3.c (dup3): Likewise.
36676         * tests/test-duplocale.c (duplocale): Likewise.
36677         * tests/test-fchdir.c (fchdir): Likewise.
36678         * tests/test-fchownat.c (fchownat): Likewise.
36679         * tests/test-fcntl.c (fcntl): Likewise.
36680         * tests/test-fdopendir.c (fdopendir): Likewise.
36681         * tests/test-fflush.c (fflush): Likewise.
36682         * tests/test-flock.c (flock): Likewise.
36683         * tests/test-floorf1.c (floorf): Likewise.
36684         * tests/test-floorl.c (floorl): Likewise.
36685         * tests/test-fnmatch.c (fnmatch): Likewise.
36686         * tests/test-fopen.c (fopen): Likewise.
36687         * tests/test-fprintf-posix.c (fprintf): Likewise.
36688         * tests/test-freopen.c (freopen): Likewise.
36689         * tests/test-frexp.c (frexp): Likewise.
36690         * tests/test-frexpl.c (frexpl): Likewise.
36691         * tests/test-fseek.c (fseek): Likewise.
36692         * tests/test-fseeko.c (fseeko): Likewise.
36693         * tests/test-fstatat.c (fstatat): Likewise.
36694         * tests/test-fsync.c (fsync): Likewise.
36695         * tests/test-ftell.c (ftell): Likewise.
36696         * tests/test-ftello.c (ftello): Likewise.
36697         * tests/test-futimens.c (futimens): Likewise.
36698         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
36699         (gai_strerror): Likewise.
36700         * tests/test-getcwd.c (getcwd): Likewise.
36701         * tests/test-getdelim.c (getdelim): Likewise.
36702         * tests/test-getdtablesize.c (getdtablesize): Likewise.
36703         * tests/test-getgroups.c (getgroups): Likewise.
36704         * tests/test-gethostname.c (gethostname): Likewise.
36705         * tests/test-getline.c (getline): Likewise.
36706         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
36707         Likewise.
36708         * tests/test-gettimeofday.c (gettimeofday): Likewise.
36709         * tests/test-glob.c (glob, globfree): Likewise.
36710         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
36711         * tests/test-inet_ntop.c (inet_ntop): Likewise.
36712         * tests/test-inet_pton.c (inet_pton): Likewise.
36713         * tests/test-isblank.c (isblank): Likewise.
36714         * tests/test-lchown.c (lchown): Likewise.
36715         * tests/test-ldexpl.c (ldexpl): Likewise.
36716         * tests/test-link.c (link): Likewise.
36717         * tests/test-linkat.c (linkat): Likewise.
36718         * tests/test-lseek.c (lseek): Likewise.
36719         * tests/test-lstat.c (lstat): Likewise.
36720         * tests/test-mbrtowc.c (mbrtowc): Likewise.
36721         * tests/test-mbsinit.c (mbsinit): Likewise.
36722         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
36723         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
36724         * tests/test-memchr.c (memchr): Likewise.
36725         * tests/test-memcmp.c (memcmp): Likewise.
36726         * tests/test-memmem.c (memmem): Likewise.
36727         * tests/test-memrchr.c (memrchr): Likewise.
36728         * tests/test-mkdir.c (mkdir): Likewise.
36729         * tests/test-mkdirat.c (mkdirat): Likewise.
36730         * tests/test-mkfifo.c (mkfifo): Likewise.
36731         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
36732         * tests/test-mknod.c (mknod): Likewise.
36733         * tests/test-nanosleep.c (nanosleep): Likewise.
36734         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
36735         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
36736         Likewise.
36737         * tests/test-open.c (open): Likewise.
36738         * tests/test-openat.c (openat): Likewise.
36739         * tests/test-perror.c (perror): Likewise.
36740         * tests/test-pipe2.c (pipe2): Likewise.
36741         * tests/test-poll.c (poll): Likewise.
36742         * tests/test-popen.c (popen, pclose): Likewise.
36743         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
36744         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
36745         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
36746         (posix_spawn_file_actions_destroy)
36747         (posix_spawn_file_actions_addclose)
36748         (posix_spawn_file_actions_addopen)
36749         (posix_spawn_file_actions_adddup2): Likewise.
36750         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
36751         * tests/test-pread.c (pread): Likewise.
36752         * tests/test-printf-posix.c (printf): Likewise.
36753         * tests/test-pty.c (openpty, forkpty): Likewise.
36754         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
36755         (random_r): Likewise.
36756         * tests/test-rawmemchr.c (rawmemchr): Likewise.
36757         * tests/test-readlink.c (readlink): Likewise.
36758         * tests/test-remove.c (remove): Likewise.
36759         * tests/test-rename.c (rename): Likewise.
36760         * tests/test-renameat.c (renameat): Likewise.
36761         * tests/test-rmdir.c (rmdir): Likewise.
36762         * tests/test-round1.c (round): Likewise.
36763         * tests/test-roundf1.c (roundf): Likewise.
36764         * tests/test-roundl.c (roundl): Likewise.
36765         * tests/test-setenv.c (setenv): Likewise.
36766         * tests/test-sigaction.c (sigaction): Likewise.
36767         * tests/test-sleep.c (sleep): Likewise.
36768         * tests/test-snprintf.c (snprintf): Likewise.
36769         * tests/test-sprintf-posix.c (sprintf): Likewise.
36770         * tests/test-stat.c (stat): Likewise.
36771         * tests/test-stpncpy.c (stpncpy): Likewise.
36772         * tests/test-strcasestr.c (strcasestr): Likewise.
36773         * tests/test-strchrnul.c (strchrnul): Likewise.
36774         * tests/test-strerror.c (strerror): Likewise.
36775         * tests/test-strsignal.c (strsignal): Likewise.
36776         * tests/test-strstr.c (strstr): Likewise.
36777         * tests/test-strtod.c (strtod): Likewise.
36778         * tests/test-strverscmp.c (strverscmp): Likewise.
36779         * tests/test-symlink.c (symlink): Likewise.
36780         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
36781         * tests/test-times.c (times): Likewise.
36782         * tests/test-trunc1.c (trunc): Likewise.
36783         * tests/test-truncf1.c (truncf): Likewise.
36784         * tests/test-truncl.c (truncl): Likewise.
36785         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
36786         Likewise.
36787         * tests/test-uname.c (uname): Likewise.
36788         * tests/test-unlink.c (unlink): Likewise.
36789         * tests/test-unlinkat.c (unlinkat): Likewise.
36790         * tests/test-unsetenv.c (unsetenv): Likewise.
36791         * tests/test-usleep.c (usleep): Likewise.
36792         * tests/test-utimensat.c (utimensat): Likewise.
36793         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
36794         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
36795         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
36796         * tests/test-vprintf-posix.c (vprintf): Likewise.
36797         * tests/test-vsnprintf.c (vsnprintf): Likewise.
36798         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
36799         * tests/test-wcrtomb.c (wcrtomb): Likewise.
36800         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
36801         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
36802         * tests/test-wcwidth.c (wcwidth): Likewise.
36803
36804         build: pull in conditional headers during GNULIB_POSIXCHECK
36805         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
36806         definitions from any conditionally-included headers.
36807         * lib/stdlib.in.h (includes): Likewise.
36808         * lib/unistd.in.h (includes): Likewise.
36809
36810 2009-12-24  Bruno Haible  <bruno@clisp.org>
36811
36812         * tests/test-argv-iter.c: Include header file being tested immediately
36813         after config.h.
36814         * tests/test-base64.c: Likewise.
36815         * tests/test-flock.c: Likewise.
36816         * tests/test-fsync.c: Likewise.
36817         * tests/test-getdate.c: Likewise.
36818         * tests/test-getndelim2.c: Likewise.
36819         * tests/test-isfinite.c: Likewise.
36820         * tests/test-isinf.c: Likewise.
36821         * tests/test-strerror.c: Likewise.
36822         * tests/test-strsignal.c: Likewise.
36823
36824 2009-12-23  Eric Blake  <ebb9@byu.net>
36825
36826         unistd: work around cygwin bug
36827         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
36828         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
36829         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36830
36831 2009-12-23  Bruno Haible  <bruno@clisp.org>
36832
36833         localename: More tests.
36834         * tests/test-localename.c (SIZEOF): New macro.
36835         (categories): New variable.
36836         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
36837         test_locale_name_default): Add test w.r.t. thread locale.
36838         (test_locale_name_thread): New function.
36839         (main): Invoke it.
36840
36841         localename: Make aware of thread locale.
36842         * lib/localename.h (gl_locale_name_thread): New declaration.
36843         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
36844         behaviour with respect to thread locale.
36845         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
36846         <langinfo.h>, glthread/lock.h.
36847         (SIZE_BITS): New macro.
36848         (string_hash): New function.
36849         (struct hash_node): New type.
36850         (HASH_TABLE_SIZE): New macro.
36851         (struniq_hash_table, struniq_lock): New variables.
36852         (struniq): New function.
36853         (gl_locale_name_thread): New function.
36854         (gl_locale_name): Invoke it.
36855         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
36856         * modules/localename (Depends-on): Add lock.
36857         Reported by Mike Gran <spk121@yahoo.com>.
36858
36859 2009-12-23  Eric Blake  <ebb9@byu.net>
36860
36861         va-args: new module
36862         * modules/va-args: New file.
36863         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
36864         * MODULES.html.sh (Core language properties): Mention it.
36865
36866         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
36867         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
36868         named alias for __attribute__((__unused__)).
36869         * lib/chown.c: Update client.
36870         * lib/fchmodat.c: Likewise.
36871         * lib/fts.c: Likewise.
36872         * lib/getdate.y: Likewise.
36873         * lib/getgroups.c: Likewise.
36874         * lib/getopt.c: Likewise.
36875         * lib/getugroups.c: Likewise.
36876         * lib/mkdir.c: Likewise.
36877         * lib/mkfifo.c: Likewise.
36878         * lib/mkfifoat.c: Likewise.
36879         * lib/mknod.c: Likewise.
36880         * lib/mknodat.c: Likewise.
36881         * lib/readlink.c: Likewise.
36882         * lib/se-context.in.h: Likewise.
36883         * lib/se-selinux.in.h: Likewise.
36884         * lib/sockets.c: Likewise.
36885         * lib/symlink.c: Likewise.
36886         * lib/symlinkat.c: Likewise.
36887         * lib/unicodeio.c: Likewise.
36888         * lib/unistr.h: Likewise.
36889         * tests/test-areadlink.c: Likewise.
36890         * tests/test-areadlinkat.c: Likewise.
36891         * tests/test-filenamecat.c: Likewise.
36892         * tests/test-fseeko.c: Likewise.
36893         * tests/test-ftello.c: Likewise.
36894         * tests/test-getdate.c: Likewise.
36895         * tests/test-getgroups.c: Likewise.
36896         * tests/test-gethostname.c: Likewise.
36897         * tests/test-quotearg.c: Likewise.
36898         * tests/test-version-etc.c: Likewise.
36899         * tests/test-xalloc-die.c: Likewise.
36900         * tests/test-xfprintf-posix.c: Likewise.
36901         * tests/test-xprintf-posix.c: Likewise.
36902         * tests/test-xvasprintf.c: Likewise.
36903
36904         tests: avoid compiler warnings
36905         * tests/test-fcntl.c (main): Delete unused parameters.
36906         * tests/test-freopen-safer.c (main): Likewise.
36907         * tests/test-xalloc-die.c (main): Mark unused parameters.
36908         * tests/test-fseeko.c (main): Likewise.
36909         * tests/test-ftello.c (main): Likewise.
36910         * tests/test-nanosleep.c (main): Avoid declaration warning.
36911         * tests/test-sleep.c (main): Likewise.
36912         * tests/test-unsetenv.c (main): Silence warning about string
36913         literal.
36914         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
36915
36916 2009-12-23  Bruno Haible  <bruno@clisp.org>
36917
36918         * tests/test-localename.c (test_locale_name): New function, extracted
36919         from main. Also test mixed situations.
36920         (test_locale_name_posix, test_locale_name_environ,
36921         test_locale_name_default): New functions.
36922         (main): Invoke them all.
36923         * modules/localename-tests (configure.ac): Test for newlocale.
36924
36925 2009-12-23  Bruno Haible  <bruno@clisp.org>
36926
36927         unistd: Ensure getcwd gets declared before being overridden.
36928         * lib/unistd.in.h: Conditionally include <io.h>.
36929
36930 2009-12-22  Bruno Haible  <bruno@clisp.org>
36931
36932         wchar: Diagnose broken combination of glibc and gcc versions and flags.
36933         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
36934         (gl_WCHAR_H): Invoke it.
36935         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
36936         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
36937         Reported by Karl Berry <karl@freefriends.org>.
36938
36939 2009-12-22  Eric Blake  <ebb9@byu.net>
36940
36941         math, unistd: avoid redundant includes
36942         * lib/math.in.h (isnan): No need to re-include <math.h>.
36943         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
36944
36945         getsubopt: work around cygwin bug
36946         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
36947         avoid conflicting with system getsubopt.
36948         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
36949         bug.
36950
36951         getopt: synchronize from glibc
36952         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
36953         parameter order.  Adjust all callers.
36954         (_getopt_internal_r, main): Adjust quoting in error messages.
36955         Drop considerations for outdated POSIX 1003.2 error message.
36956         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
36957         callers.
36958         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
36959
36960         test-getopt: test stderr behavior
36961         * modules/getopt-posix-tests (Depends-on): Add dup2.
36962         * tests/test-getopt.c (ASSERT): Avoid stderr.
36963         (main): Move stderr to a temporary file.
36964         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
36965         Instead, add parameter to inform caller if output occurred.
36966         (test_getopt): Adjust all existing tests to expect silence, and
36967         add new tests of leading ":".
36968         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
36969         glibc shortcomings with leading "-:" or "+:" in optstring.
36970         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36971         Likewise.
36972         * doc/posix-functions/getopt.texi (getopt): Likewise.
36973
36974         test-getopt: enhance test
36975         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
36976         supports optind=0.
36977         * tests/test-getopt.c (OPTIND_MIN): Move...
36978         * tests/test-getopt.h (OPTIND_MIN): ...here.
36979         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
36980         Require that optind=0 works, since modern BSD supports it in
36981         addition to optreset, and since coreutils expects it.
36982         (test_getopt_long_only): New test.
36983         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
36984         glibc shortcomings with 'W;', and enforcement of optind=0.
36985         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36986         Likewise.
36987
36988 2009-12-21  Bruno Haible  <bruno@clisp.org>
36989
36990         localename: Improvements for MacOS X and Cygwin.
36991         * lib/localename.h (gl_locale_name_environ): New declaration.
36992         * lib/localename.c (gl_locale_name_environ): New function, extracted from
36993         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
36994         (gl_locale_name_posix): Invoke it.
36995         (gl_locale_name_default): Add comments. Use Windows native API also on
36996         Cygwin.
36997
36998 2009-12-21  Bruno Haible  <bruno@clisp.org>
36999
37000         Update list of Win32 locale ids.
37001         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37002         (LANG_SAMI): Renamed from LANG_SAAMI.
37003         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37004         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37005         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37006         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37007         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37008         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37009         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37010         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37011         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37012         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37013         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37014         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37015         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37016         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37017         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37018         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37019         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37020         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37021         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37022         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37023         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37024         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37025         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37026         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37027         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37028         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37029         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37030         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37031         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37032         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37033         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37034         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37035         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37036         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37037         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37038         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37039         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37040         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37041         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37042         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37043         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37044         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37045         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37046         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37047         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37048         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37049         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37050         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37051         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37052         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37053         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37054         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37055         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37056         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37057         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37058         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37059         Add more languages and countries for Sami, Sorbian. Add more countries
37060         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37061         for Pashto. Change country for Syriac, Tswana.
37062
37063 2009-12-21  Eric Blake  <ebb9@byu.net>
37064
37065         test-utimens: avoid spurious failure
37066         * tests/test-chown.h (nap): Factor...
37067         * tests/nap.h: ...into new file.
37068         * tests/test-lchown.h (nap): Avoid duplication.
37069         * tests/test-utimens-common.h (nap): Use shared implementation,
37070         necessary on file systems with 1-second resolution.
37071         * modules/chown-tests (Files): Include new file.
37072         * modules/fdutimensat-tests (Files): Likewise.
37073         * modules/futimens-tests (Files): Likewise.
37074         * modules/lchown-tests (Files): Likewise.
37075         * modules/openat-tests (Files): Likewise.
37076         * modules/utimens-tests (Files): Likewise.
37077         * modules/utimensat-tests (Files): Likewise.
37078
37079 2009-12-19  Eric Blake  <ebb9@byu.net>
37080
37081         futimens, utimensat: work around Linux bug
37082         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37083         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37084         * lib/utimensat.c (rpl_utimensat): Work around it.
37085         * lib/futimens.c (rpl_futimens): Adjust comment.
37086
37087         utimens: work around Linux ctime bug
37088         * lib/utimens.c (detect_ctime_bug): New helper function.
37089         (update_timespec): Differentiate between workaround needed for
37090         this bug vs. what is needed for systems that lack utimensat.
37091         (fdutimens, lutimens): Work around bug.
37092
37093         utimens: check for ctime update
37094         * tests/test-utimens-common.h (check_ctime): Define.
37095         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
37096         * tests/test-futimens.h (test_futimens): Likewise.
37097         * tests/test-lutimens.h (test_lutimens): Likewise.
37098         * doc/posix-functions/futimens.texi (futimens): Document the bug.
37099         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37100
37101 2009-12-19  Bruno Haible  <bruno@clisp.org>
37102
37103         dprintf-posix: Check against memory leak fixed on 2009-12-15.
37104         * tests/test-dprintf-posix2.sh: New file.
37105         * tests/test-dprintf-posix2.c: New file.
37106         * modules/dprintf-posix-tests (Files): Add them.
37107         (configure.ac): Check for getrlimit and setrlimit.
37108         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37109
37110 2009-12-19  Bruno Haible  <bruno@clisp.org>
37111
37112         fprintf-posix: Check against memory leak fixed on 2009-12-15.
37113         * tests/test-fprintf-posix3.sh: New file.
37114         * tests/test-fprintf-posix3.c: New file.
37115         * modules/fprintf-posix-tests (Files): Add them.
37116         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37117
37118 2009-12-19  Eric Blake  <ebb9@byu.net>
37119
37120         dirfd: fix prototype
37121         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
37122         * lib/dirfd.c (dirfd): Likewise.
37123
37124         canonicalize: reduce memory usage
37125         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
37126         allocation to size.
37127         Reported by Solar Designer <solar@openwall.com>.
37128
37129 2009-12-19  Bruno Haible  <bruno@clisp.org>
37130
37131         New module attribute 'Applicability'.
37132         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
37133         * gnulib-tool: New option --extract-applicability.
37134         (func_usage): Document it.
37135         (sed_extract_prog): Recognize it.
37136         (func_get_applicability): New function.
37137         (func_import): Generalize handling of 'link-warning' module.
37138         * modules/link-warning (Applicability): New section.
37139         * modules/arg-nonnull (Applicability): New section.
37140         Repoted by Simon Josefsson <simon@josefsson.org>.
37141
37142 2009-12-19  Bruno Haible  <bruno@clisp.org>
37143
37144         fflush: tweak
37145         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
37146         * lib/fseeko.c (rpl_fseeko): Likewise.
37147
37148 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
37149
37150         * lib/gl_list.h: Fix typo in comment.
37151
37152 2009-12-16  Eric Blake  <ebb9@byu.net>
37153
37154         fcntl: use to simplify other modules
37155         * modules/cloexec (Depends-on): Add fcntl.
37156         * modules/fchdir (Depends-on): Likewise.
37157         * modules/fd-safer-flag (Depends-on): Likewise.
37158         * modules/unistd-safer (Depends-on): Likewise.
37159         * modules/dup3 (configure.ac): Set module indicator.
37160         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
37161         missing.
37162         * lib/fchdir.c (_gl_register_dup): Fix comment.
37163         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
37164         * lib/dup-safer.c (dup_safer): Likewise.
37165         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
37166         * lib/dup3.c (dup3): Likewise.
37167         * tests/test-fchdir.c (main): Enhance test.
37168         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
37169
37170         fcntl: port portions of fcntl to mingw
37171         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
37172         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
37173         replacement for mingw.
37174         * modules/fcntl (Description): Update.
37175         (Depends-on): Add dup2.
37176         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
37177         * modules/fcntl-h (Makefile.am): Substitute it.
37178         * lib/fcntl.in.h (fcntl): Update declaration.
37179         (F_DUPFD, F_GETFD): New macros, when needed.
37180         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37181         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
37182         * tests/test-fcntl.c (check_flags, main): Enhance test for items
37183         we now guarantee.
37184
37185         fcntl: work around cygwin bug in F_DUPFD
37186         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
37187         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
37188         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
37189         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
37190         * doc/posix-functions/fcntl.texi (fcntl): Document it.
37191
37192         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
37193         * modules/fcntl (Files): List new files.
37194         (configure.ac): Run a test.
37195         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
37196         * lib/fcntl.c (rpl_fcntl): Likewise.
37197         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
37198         (gl_FCNTL_H): Always replace fcntl.h.
37199         * modules/fcntl-h (Makefile.am): Substitute witnesses.
37200         * lib/fcntl.in.h (fcntl): Declare replacement.
37201         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
37202         needed, plus a witness.
37203         * doc/posix-functions/fcntl.texi (fcntl): Document this.
37204         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37205         * tests/test-fcntl.c: New file.
37206         * modules/fcntl-tests: Likewise.
37207
37208         binary-io: avoid potential compilation warning
37209         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
37210         directives.
37211
37212         fflush: avoid compilation error on NetBSD
37213         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
37214         between off_t and fpos_t, since the latter is sometimes a struct.
37215         * lib/fseeko.c (rpl_fseeko): Likewise.
37216         Reported by Alexander Nasonov <alnsn@yandex.ru>.
37217
37218 2009-12-15  Eric Blake  <ebb9@byu.net>
37219
37220         fcntl-h, stdio, sys_ioctl: fix declarations
37221         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
37222         function must not take arguments.
37223         * lib/sys_ioctl.in.h (ioctl): Likewise.
37224         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
37225         (open): Add a link warning.
37226
37227 2009-12-15  Jim Meyering  <meyering@redhat.com>
37228
37229         areadlink, areadlink-with-size: relax license to LGPLv2+
37230         * modules/areadlink (License): Relax to LGPLv2+.
37231         * modules/areadlink-with-size (License): Likewise.
37232
37233 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
37234             Bruno Haible  <bruno@clisp.org>
37235
37236         *printf: Fix memory leak.
37237         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
37238         * lib/vfprintf.c (vfprintf): Likewise.
37239         * lib/dprintf.c (dprintf): Likewise.
37240         * lib/vdprintf.c (vdprintf): Likewise.
37241
37242 2009-12-14  Eric Blake  <ebb9@byu.net>
37243
37244         accept4: adjust module dependencies
37245         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
37246
37247         utimens: one more try at avoiding compiler warning
37248         * lib/utimens.c (lutimens): Lower scope of result.
37249
37250 2009-12-13  Bruno Haible  <bruno@clisp.org>
37251
37252         Move the malloc checking from module 'list' to new module 'xlist'.
37253         * modules/xlist: New file.
37254         * lib/gl_xlist.h: New file.
37255         * lib/gl_xlist.c: New file.
37256         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
37257         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
37258         gl_list_add_last, gl_list_add_before, gl_list_add_after,
37259         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
37260         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
37261         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
37262         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
37263         gl_sortedlist_nx_add): New declarations.
37264         (struct gl_list_implementation): Rename and change methods accordingly.
37265         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
37266         (gl_list_nx_create): Renamed from gl_list_create.
37267         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37268         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37269         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37270         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37271         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37272         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37273         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37274         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37275         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
37276         gl_list_create_empty.
37277         (gl_list_nx_create): Renamed from gl_list_create.
37278         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37279         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37280         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37281         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37282         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37283         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37284         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37285         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37286         * lib/gl_array_list.c: Don't include xalloc.h.
37287         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
37288         NULL upon out-of-memory.
37289         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
37290         out-of-memory.
37291         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
37292         Change return type to 'int'.
37293         (gl_array_nx_set_at): Renamed from gl_array_set_at.
37294         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37295         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
37296         upon out-of-memory.
37297         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
37298         upon out-of-memory.
37299         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
37300         upon out-of-memory.
37301         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
37302         upon out-of-memory.
37303         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
37304         out-of-memory.
37305         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
37306         Update.
37307         (gl_array_list_implementation): Update.
37308         * lib/gl_carray_list.c: Don't include xalloc.h.
37309         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
37310         Return NULL upon out-of-memory.
37311         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
37312         out-of-memory.
37313         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
37314         Change return type to 'int'.
37315         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
37316         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37317         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
37318         upon out-of-memory.
37319         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
37320         upon out-of-memory.
37321         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
37322         out-of-memory.
37323         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
37324         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
37325         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
37326         Update.
37327         (gl_carray_list_implementation): Update.
37328         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
37329         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
37330         gl_linked_create_empty. Return NULL upon out-of-memory.
37331         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
37332         out-of-memory.
37333         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
37334         Change return type to 'int'. Return -1 upon out-of-memory.
37335         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
37336         out-of-memory.
37337         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
37338         upon out-of-memory.
37339         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
37340         upon out-of-memory.
37341         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
37342         NULL upon out-of-memory.
37343         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
37344         upon out-of-memory.
37345         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
37346         out-of-memory.
37347         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
37348         Update.
37349         * lib/gl_linked_list.c: Don't include xalloc.h.
37350         (gl_linked_list_implementation): Update.
37351         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
37352         (add_to_bucket): Change return type to 'int'.
37353         (gl_linkedhash_list_implementation): Update.
37354         * lib/gl_anytree_list1.h (free_subtree): New function.
37355         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
37356         gl_tree_create_empty. Return NULL upon out-of-memory.
37357         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
37358         Change return type to 'int'. Return -1 upon out-of-memory.
37359         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
37360         out-of-memory.
37361         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
37362         (gl_tree_remove_node): New function, moved here from
37363         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
37364         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
37365         Update.
37366         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
37367         malloc, not xmalloc. Return NULL upon out-of-memory.
37368         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37369         out-of-memory.
37370         (gl_tree_remove_node_from_tree): New function, extracted from
37371         gl_tree_remove_node.
37372         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37373         upon out-of-memory.
37374         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37375         out-of-memory.
37376         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37377         upon out-of-memory.
37378         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37379         upon out-of-memory.
37380         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37381         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
37382         not xmalloc. Return NULL upon out-of-memory.
37383         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37384         out-of-memory.
37385         (gl_tree_remove_node_from_tree): New function, extracted from
37386         gl_tree_remove_node.
37387         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37388         upon out-of-memory.
37389         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37390         out-of-memory.
37391         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37392         upon out-of-memory.
37393         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37394         upon out-of-memory.
37395         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37396         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
37397         gl_anytree_list1.h before gl_anyavltree_list2.h.
37398         (gl_avltree_list_implementation): Update.
37399         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
37400         gl_anytree_list1.h before gl_anyavltree_list2.h.
37401         (gl_rbtree_list_implementation): Update.
37402         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
37403         Change return type to 'int'. Return -1 upon out-of-memory. Use
37404         __builtin_expect.
37405         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
37406         (gl_avltreehash_list_implementation): Update.
37407         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
37408         (gl_rbtreehash_list_implementation): Update.
37409         * modules/array-list (Depends-on): Remove xalloc.
37410         * modules/carray-list (Depends-on): Likewise.
37411         * modules/linked-list (Depends-on): Likewise.
37412         * modules/linkedhash-list (Depends-on): Likewise.
37413         * modules/avltree-list (Depends-on): Likewise.
37414         * modules/rbtree-list (Depends-on): Likewise.
37415         * modules/avltreehash-list (Depends-on): Likewise.
37416         * modules/rbtreehash-list (Depends-on): Likewise.
37417
37418         * modules/xsublist: New file.
37419         * lib/gl_xsublist.h: New file.
37420         * lib/gl_xsublist.c: New file.
37421         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
37422         (gl_sublist_nx_create): New declaration.
37423         * lib/gl_sublist.c: Don't include xalloc.h.
37424         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
37425         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
37426         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
37427         Change return type to 'int'. Return -1 upon out-of-memory.
37428         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
37429         upon out-of-memory.
37430         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
37431         NULL upon out-of-memory.
37432         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
37433         upon out-of-memory.
37434         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
37435         NULL upon out-of-memory.
37436         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
37437         NULL upon out-of-memory.
37438         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
37439         upon out-of-memory.
37440         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
37441         (gl_sublist_list_implementation): Update.
37442         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
37443         upon out-of-memory.
37444         * modules/sublist (Depends-on): Remove xalloc.
37445
37446         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
37447         * tests/test-carray_list.c: Likewise.
37448         * tests/test-linked_list.c: Likewise.
37449         * tests/test-linkedhash_list.c: Likewise.
37450         * tests/test-avltree_list.c: Likewise.
37451         * tests/test-rbtree_list.c: Likewise.
37452         * tests/test-avltreehash_list.c: Likewise.
37453         * tests/test-rbtreehash_list.c: Likewise.
37454         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
37455         * modules/carray-list-tests (Makefile.am): Likewise.
37456         * modules/linked-list-tests (Makefile.am): Likewise.
37457         * modules/linkedhash-list-tests (Makefile.am): Likewise.
37458         * modules/avltree-list-tests (Makefile.am): Likewise.
37459         * modules/rbtree-list-tests (Makefile.am): Likewise.
37460         * modules/avltreehash-list-tests (Makefile.am): Likewise.
37461         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
37462
37463         * NEWS: Mention the changes.
37464
37465         * lib/clean-temp.c: Include gl_xlist.h.
37466         * modules/clean-temp (Depends-on): Add xlist.
37467
37468         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
37469         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
37470
37471         * tests/test-array_oset.c: Include gl_xlist.h.
37472         * modules/array-oset-tests (Depends-on): Add xlist.
37473
37474         Reported by José E. Marchesi <jemarch@gnu.org>.
37475
37476 2009-12-13  Bruno Haible  <bruno@clisp.org>
37477
37478         Move the malloc checking from module 'oset' to new module 'xoset'.
37479         * modules/xoset: New file.
37480         * lib/gl_xoset.h: New file.
37481         * lib/gl_xoset.c: New file.
37482         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
37483         declarations.
37484         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
37485         (struct gl_oset_implementation): Rename and change methods accordingly.
37486         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
37487         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37488         'int'. Mark as __warn_unused_result__.
37489         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
37490         gl_oset_create_empty.
37491         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37492         'int'.
37493         * lib/gl_array_oset.c: Don't include xalloc.h.
37494         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
37495         malloc, not xmalloc.
37496         (grow): Change return type to 'int'. Don't call xalloc_die.
37497         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
37498         to 'int'.
37499         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
37500         'int'.
37501         (gl_array_oset_implementation): Update.
37502         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
37503         gl_tree_create_empty.
37504         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
37505         'int'.
37506         * lib/gl_avltree_oset.c: Don't include xalloc.h.
37507         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37508         xmalloc.
37509         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37510         not xmalloc.
37511         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37512         xmalloc.
37513         (gl_avltree_oset_implementation): Update.
37514         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
37515         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37516         xmalloc.
37517         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37518         not xmalloc.
37519         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37520         xmalloc.
37521         (gl_rbtree_oset_implementation): Update.
37522         * modules/array-oset (Depends-on): Remove xalloc.
37523         * modules/avltree-oset (Depends-on): Likewise.
37524         * modules/rbtree-oset (Depends-on): Likewise.
37525         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
37526         * tests/test-avltree_oset.c: Likewise.
37527         * tests/test-rbtree_oset.c: Likewise.
37528         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
37529         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
37530         * modules/rbtree-oset-tests (Makefile.am): Likewise.
37531         * NEWS: Mention the change.
37532
37533 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
37534
37535         maint.mk: allow a project to override release-prep commands
37536         * top/maint.mk (alpha, beta, stable): Move release-preparatory
37537         commands into a new rule.
37538         (release-prep): New rule.
37539         (release-prep-hook): New overridable variable.
37540
37541 2009-12-13  Bruno Haible  <bruno@clisp.org>
37542
37543         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
37544
37545 2009-12-13  Jim Meyering  <meyering@redhat.com>
37546
37547         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
37548         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
37549
37550 2009-12-12  Bruno Haible  <bruno@clisp.org>
37551
37552         duplocale: Tweak.
37553         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
37554
37555 2009-12-12  Karl Berry  <karl@gnu.org>
37556
37557         * config/srclist.txt (strtoll.c): tab changes, no more sync.
37558
37559 2009-12-12  Bruno Haible  <bruno@clisp.org>
37560
37561         * m4/po.m4: Undo incorrect untabification.
37562
37563 2009-12-12  Bruno Haible  <bruno@clisp.org>
37564
37565         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
37566         * modules/c-strtod (Depends-on): Add locale.
37567         * modules/c-strtold (Depends-on): Likewise.
37568
37569 2009-12-12  Bruno Haible  <bruno@clisp.org>
37570
37571         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
37572
37573 2009-12-11  Eric Blake  <ebb9@byu.net>
37574
37575         setenv: relax requirement in light of POSIX ruling
37576         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
37577         not NULL.
37578         * tests/test-setenv.c (main): Relax test.
37579         * tests/test-unsetenv.c (main): Likewise.
37580         * doc/posix-functions/setenv.texi (setenv): Document this.
37581         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37582
37583 2009-12-11  Bruno Haible  <bruno@clisp.org>
37584
37585         New module 'fd-safer-flag'.
37586         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
37587         * lib/dup-safer.c (dup_safer_flag): Remove function.
37588         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
37589         * lib/fd-safer.c (fd_safer_flag): Remove function.
37590         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
37591         * modules/cloexec (configure.ac): Drop indicator macro.
37592         * modules/fd-safer-flag: New file.
37593         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
37594         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
37595         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
37596
37597 2009-12-11  Bruno Haible  <bruno@clisp.org>
37598
37599         Tests for module 'nl_langinfo'.
37600         * modules/nl_langinfo-tests: New file.
37601         * tests/test-nl_langinfo.sh: New file.
37602         * tests/test-nl_langinfo.c: New file.
37603
37604         New module 'nl_langinfo'.
37605         * lib/nl_langinfo.c: New file.
37606         * m4/nl_langinfo.m4: New file.
37607         * modules/nl_langinfo: New file.
37608         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
37609
37610 2009-12-11  Bruno Haible  <bruno@clisp.org>
37611
37612         Tests for module 'langinfo'.
37613         * modules/langinfo-tests: New file.
37614         * tests/test-langinfo.c: New file.
37615
37616         New module 'langinfo'.
37617         * lib/langinfo.in.h: New file.
37618         * m4/langinfo_h.m4: New file.
37619         * modules/langinfo: New file.
37620         * doc/posix-headers/langinfo.texi: Mention the new module.
37621
37622 2009-12-11  Bruno Haible  <bruno@clisp.org>
37623
37624         * lib/config.charset: Untabify.
37625
37626 2009-12-11  Bruno Haible  <bruno@clisp.org>
37627
37628         * modules/unistd-safer (configure.ac): Drop indicator macro.
37629
37630 2009-12-11  Bruno Haible  <bruno@clisp.org>
37631
37632         Move pipe2-safer code to its own file.
37633         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
37634         * lib/pipe-safer.c (pipe2_safer): Remove function.
37635         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
37636         (Makefile.am): Add it to lib_SOURCES.
37637
37638 2009-12-10  Bruno Haible  <bruno@clisp.org>
37639
37640         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
37641
37642 2009-12-10  Bruno Haible  <bruno@clisp.org>
37643
37644         Declare which arguments expect non-NULL values, for GCC and clang.
37645         * build-aux/arg-nonnull.h: New file.
37646         * modules/arg-nonnull: New file.
37647         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
37648         (inet_ntop, inet_pton): Use it.
37649         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
37650         (closedir, dirfd, opendir, scandir, alphasort): Use it.
37651         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
37652         (open, openat): Use it.
37653         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
37654         (fnmatch): Use it.
37655         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
37656         (getopt, getopt_long, getopt_long_only): Use it.
37657         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
37658         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
37659         Use it.
37660         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
37661         (iconv_open): Use it.
37662         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
37663         (strtoimax, strtoumax): Use it.
37664         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
37665         (duplocale): Use it.
37666         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
37667         (frexp, frexpl): Use it.
37668         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
37669         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
37670         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
37671         (tsearch, tfind, tdelete, twalk): Use it.
37672         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
37673         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
37674         sigpending): Use it.
37675         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
37676         (posix_spawn, posix_spawnp, posix_spawnattr_init,
37677         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
37678         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
37679         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
37680         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
37681         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
37682         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
37683         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
37684         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
37685         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
37686         Use it.
37687         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
37688         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
37689         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
37690         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
37691         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
37692         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
37693         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
37694         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
37695         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
37696         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
37697         strtoull, unsetenv): Use it.
37698         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
37699         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
37700         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
37701         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
37702         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
37703         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
37704         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
37705         (strcasecmp, strncasecmp): Use it.
37706         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
37707         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
37708         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
37709         rpl_setsockopt): Use it.
37710         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
37711         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
37712         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
37713         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
37714         (gettimeofday): Use it.
37715         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
37716         (times): Use it.
37717         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
37718         (uname): Use it.
37719         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
37720         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
37721         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
37722         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
37723         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
37724         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
37725         unlinkat, write): Use it.
37726         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
37727         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
37728         * lib/argv-iter.h: Include arg-nonnull.h.
37729         (_ATTRIBUTE_NONNULL_): Remove macro.
37730         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
37731         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
37732         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
37733         optimization.
37734         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
37735         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
37736         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
37737         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
37738         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
37739         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
37740         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
37741         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
37742         * modules/arpa_inet (Depends-on): Add arg-nonnull.
37743         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
37744         * modules/dirent (Depends-on): Add arg-nonnull.
37745         (Makefile.am): Insert arg-nonnull.h into dirent.h.
37746         * modules/fcntl-h (Depends-on): Add arg-nonnull.
37747         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
37748         * modules/fnmatch (Depends-on): Add arg-nonnull.
37749         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
37750         * modules/getopt-posix (Depends-on): Add arg-nonnull.
37751         (Makefile.am): Insert arg-nonnull.h into getopt.h.
37752         * modules/glob (Depends-on): Add arg-nonnull.
37753         (Makefile.am): Insert arg-nonnull.h into glob.h.
37754         * modules/iconv_open (Depends-on): Add arg-nonnull.
37755         (Makefile.am): Insert arg-nonnull.h into iconv.h.
37756         * modules/inttypes (Depends-on): Add arg-nonnull.
37757         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
37758         * modules/locale (Depends-on): Add arg-nonnull.
37759         (Makefile.am): Insert arg-nonnull.h into locale.h.
37760         * modules/math (Depends-on): Add arg-nonnull.
37761         (Makefile.am): Insert arg-nonnull.h into math.h.
37762         * modules/netdb (Depends-on): Add arg-nonnull.
37763         (Makefile.am): Insert arg-nonnull.h into netdb.h.
37764         * modules/search (Depends-on): Add arg-nonnull.
37765         (Makefile.am): Insert arg-nonnull.h into search.h.
37766         * modules/signal (Depends-on): Add arg-nonnull.
37767         (Makefile.am): Insert arg-nonnull.h into signal.h.
37768         * modules/spawn (Depends-on): Add arg-nonnull.
37769         (Makefile.am): Insert arg-nonnull.h into spawn.h.
37770         * modules/stdio (Depends-on): Add arg-nonnull.
37771         (Makefile.am): Insert arg-nonnull.h into stdio.h.
37772         * modules/stdlib (Depends-on): Add arg-nonnull.
37773         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
37774         * modules/string (Depends-on): Add arg-nonnull.
37775         (Makefile.am): Insert arg-nonnull.h into string.h.
37776         * modules/strings (Depends-on): Add arg-nonnull.
37777         (Makefile.am): Insert arg-nonnull.h into strings.h.
37778         * modules/sys_socket (Depends-on): Add arg-nonnull.
37779         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
37780         * modules/sys_stat (Depends-on): Add arg-nonnull.
37781         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
37782         * modules/sys_time (Depends-on): Add arg-nonnull.
37783         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
37784         * modules/sys_times (Depends-on): Add arg-nonnull.
37785         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
37786         * modules/sys_utsname (Depends-on): Add arg-nonnull.
37787         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
37788         * modules/time (Depends-on): Add arg-nonnull.
37789         (Makefile.am): Insert arg-nonnull.h into time.h.
37790         * modules/unistd (Depends-on): Add arg-nonnull.
37791         (Makefile.am): Insert arg-nonnull.h into unistd.h.
37792         * modules/wchar (Depends-on): Add arg-nonnull.
37793         (Makefile.am): Insert arg-nonnull.h into wchar.h.
37794         * modules/argv-iter (Depends-on): Add arg-nonnull.
37795         * tests/test-canonicalize.c (null_ptr): New function.
37796         (main): Use it.
37797         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
37798         (main): Use it.
37799         * tests/test-memmem.c (null_ptr): New function.
37800         (main): Use it.
37801         Reported by Jim Meyering.
37802
37803 2009-12-10  Bruno Haible  <bruno@clisp.org>
37804
37805         Use spaces for indentation, not tabs.
37806         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
37807         * m4/*.m4: Untabify.
37808         * build-aux/*.h: Untabify.
37809         * tests/**/*.[hc]: Untabify.
37810         * README: New section "Indent with spaces, not TABs", based on
37811         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
37812         * NEWS: Mention the change.
37813
37814 2009-12-10  Bruno Haible  <bruno@clisp.org>
37815
37816         pty test: Fix link error.
37817         * modules/pty-tests (Makefile.am): Add the default LDADD value to
37818         test_pty_LDADD.
37819
37820 2009-12-07  Simon Josefsson  <simon@josefsson.org>
37821
37822         * modules/pty: New file.
37823         * modules/pty-tests: New file.
37824         * m4/pty.m4: New file.
37825         * tests/test-pty.c: New file.
37826         * doc/glibc-headers/pty.texi: Modified.
37827         * doc/glibc-functions/forkpty.texi: Modified.
37828         * doc/glibc-functions/openpty.texi: Modified.
37829
37830 2009-12-10  Bruno Haible  <bruno@clisp.org>
37831
37832         Avoid syntax error in C++ mode.
37833         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
37834
37835 2009-12-10  Bruno Haible  <bruno@clisp.org>
37836
37837         Use sed with option -e.
37838         * gnulib-tool (func_version, func_emit_copyright_notice,
37839         func_emit_initmacro_end, func_import, func_create_testdir): Pass
37840         option -e to sed.
37841         * modules/link-warning (Makefile.am): Likewise.
37842
37843 2009-12-10  Jim Meyering  <meyering@redhat.com>
37844
37845         mgetgroups: do not write bytes beyond end of malloc'd buffer
37846         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
37847         username, we call getgroups with a one-element-shorter buffer,
37848         but still told it the length was original, max_n_groups.
37849
37850 2009-12-09  Eric Blake  <ebb9@byu.net>
37851
37852         cloexec: relax license
37853         * modules/cloexec (Maintainer): Add myself.
37854         (License): Use LGPL, not GPL.
37855
37856         link-warning: optimize generation
37857         * modules/link-warning (Makefile.am): Reduce process usage.
37858
37859 2009-12-09  Bruno Haible  <bruno@clisp.org>
37860
37861         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
37862         workaround was added on 2009-11-17.
37863
37864 2009-12-09  Jim Meyering  <meyering@redhat.com>
37865             Bruno Haible  <bruno@clisp.org>
37866
37867         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
37868         * modules/link-warning (Makefile.am): Make the comment-removing sed
37869         command more robust in the face of bootstrap-prepended comment lines.
37870
37871 2009-12-09  Bruno Haible  <bruno@clisp.org>
37872
37873         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
37874         most one group.
37875
37876 2009-12-09  Simon Josefsson <simon@josefsson.org>
37877             Bruno Haible  <bruno@clisp.org>
37878
37879         * build-aux/link-warning.h: Add copyright notice.
37880         * modules/link-warning (Makefile.am): Generate link-warning.h from
37881         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
37882         * NEWS: Mention change in link-warning module.
37883         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
37884         * modules/dirent (Makefile.am): Add dependency to dirent.h.
37885         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
37886         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
37887         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
37888         * modules/math (Makefile.am): Add dependency to math.h.
37889         * modules/search (Makefile.am): Add dependency to search.h.
37890         * modules/signal (Makefile.am): Add dependency to signal.h.
37891         * modules/spawn (Makefile.am): Add dependency to spawn.h.
37892         * modules/stdio (Makefile.am): Add dependency to stdio.h.
37893         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
37894         * modules/string (Makefile.am): Add dependency to string.h.
37895         * modules/strings (Makefile.am): Add dependency to strings.h.
37896         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
37897         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
37898         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
37899         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
37900         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
37901         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
37902         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
37903         * modules/unistd (Makefile.am): Add dependency to unistd.h.
37904         * modules/wchar (Makefile.am): Add dependency to wchar.h.
37905
37906 2009-12-09  Bruno Haible  <bruno@clisp.org>
37907
37908         fchdir: Optimize away rpl_fstat when possible.
37909         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
37910         REPLACE_OPEN_DIRECTORY.
37911         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
37912
37913 2009-12-09  Bruno Haible  <bruno@clisp.org>
37914
37915         * lib/fchdir.c: Update comment.
37916
37917 2009-12-09  Bruno Haible  <bruno@clisp.org>
37918
37919         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
37920
37921 2009-12-08  Eric Blake  <ebb9@byu.net>
37922
37923         fchdir: avoid memory leak on re-registration.
37924         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
37925
37926 2009-12-08  Jim Meyering  <meyering@redhat.com>
37927
37928         init.sh: avoid Solaris 10 /bin/sh portability problem
37929         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
37930         sourced script:
37931           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
37932           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
37933           bar
37934         tests/init.sh relied on that, accepting a --set-path=DIR argument,
37935         and two tests used that idiom.
37936         * tests/init.sh: Update suggested usage comments.
37937         (path_prepend_): New function, to be used in place
37938         of the --src-path=DIR option.
37939         (setup_): Move PATH-prepending code into path_prepend_.
37940         * tests/test-pread.sh: Adapt to new usage.
37941         * tests/test-xalloc-die.sh: Likewise.
37942
37943 2009-12-08  Simon Josefsson  <simon@josefsson.org>
37944
37945         * doc/gnulib.texi (Glibc pty.h): Add.
37946         * doc/glibc-functions/forkpty.texi: Add.
37947         * doc/glibc-functions/openpty.texi: Add.
37948         Suggested by Bruno Haible.
37949
37950 2009-12-08  Eric Blake  <ebb9@byu.net>
37951
37952         fchdir: fix logic bugs
37953         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
37954         * tests/test-fchdir.c (main): Enhance test.
37955         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
37956         is in use.
37957
37958         dup2: fix logic bugs
37959         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
37960         REPLACE_DUP2 to decide when rpl_dup2 is needed.
37961         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
37962         exists.
37963         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
37964
37965 2009-12-07  Eric Blake  <ebb9@byu.net>
37966
37967         unlink: fix m4 detection
37968         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
37969
37970         unistd-safer: add unit test
37971         * modules/unistd-safer-tests: New file.
37972         * tests/test-dup-safer.c: Likewise.
37973         * tests/test-cloexec.c (setmode): Avoid compiler warning.
37974         * tests/test-dup2.c (setmode): Likewise.
37975         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
37976
37977         cloexec: preserve text vs. binary across dup_cloexec
37978         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
37979         mode.
37980         * modules/dup2-tests (Depends-on): Add binary-io.
37981         * modules/cloexec-tests (Depends-on): Likewise.
37982         * tests/test-dup2.c (setmode, is_mode): New helpers.
37983         (main): Add tests that translation mode is preserved.
37984         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
37985         Reported by Bruno Haible.
37986
37987         mgetgroups: reduce duplicate listings
37988         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
37989         resulting array.
37990         * tests/test-chown.h (test_chown): Simplify client.
37991         * tests/test-lchown.h (test_lchown): Likewise.
37992
37993 2009-12-06  Bruno Haible  <bruno@clisp.org>
37994
37995         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
37996         value.
37997
37998 2009-12-06  Bruno Haible  <bruno@clisp.org>
37999
38000         * lib/progname.c: Include stdio.h, stdlib.h.
38001         (set_program_name): Reject a NULL argument.
38002
38003 2009-12-05  Eric Blake  <ebb9@byu.net>
38004
38005         pipe2-safer: new module
38006         * modules/pipe2-safer: New file.
38007         * lib/unistd-safer.h (pipe2_safer): New prototype.
38008         * lib/unistd--.h (pipe2): New wrapper.
38009         * lib/pipe-safer.c (pipe2_safer): New function.
38010         * modules/pipe (Depends-on): Add pipe2-safer.
38011         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38012
38013         stdlib-safer: preserve cloexec flag for mkostemp[s]
38014         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38015         fd_safer_flag.
38016
38017         unistd-safer: allow preservation of cloexec status via flag
38018         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38019         prototypes.
38020         * lib/dup-safer.c (dup_safer_flag): New function.
38021         * lib/fd-safer.c (fd_safer_flag): Likewise.
38022         * modules/cloexec (configure.ac): Set witness.
38023
38024         test-dup2: enhance test
38025         * modules/dup2-tests (Depends-on): Add cloexec.
38026         * tests/test-dup2.c (main): Enhance test.
38027
38028         cloexec: add dup_cloexec
38029         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38030         header and comments.
38031         * lib/cloexec.c (set_cloexec_flag): Add comments.
38032         (dup_cloexec): New function, with mingw implementation borrowed
38033         from...
38034         * lib/w32spawn.h (dup_noinherit): ...here.
38035         * modules/execute (Depends-on): Add cloexec.
38036         * modules/pipe (Depends-on): Likewise.
38037         * modules/cloexec (Depends-on): Add dup2.
38038         * modules/cloexec-tests (Files): New file.
38039         * tests/test-cloexec.c: Likewise.
38040
38041         test-xalloc-die: fix test for mingw
38042         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38043         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38044         directory and .exe suffix off argv[0] output.
38045
38046         test-fseeko: fix test for mingw
38047         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38048         than undefining fseek, so test will pass on mingw.
38049
38050 2009-12-05  Bruno Haible  <bruno@clisp.org>
38051
38052         * lib/progname.h (set_program_name): Clarify specification.
38053         * lib/progname.c (set_program_name): Likewise.
38054         Reported by Jim Meyering.
38055
38056 2009-12-05  Jim Meyering  <meyering@redhat.com>
38057
38058         maint.mk: backslash-escape parens in default regexp
38059         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38060         backslash-escape the literal parentheses.
38061
38062         maint.mk: news-date-check: use grep -E
38063         * top/maint.mk (today): Define a Make variable, not a...
38064         (news-date-check): ...shell variable.
38065         (news-date-regexp): Use the Make variable.
38066         Use grep's -E option.  Change the failing diagnostic to mention
38067         the variable, $(news-date-regexp).
38068
38069 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38070
38071         maintainer-makefile: allow customization of NEWS entry format
38072         * top/maint.mk (news-date-regexp): New overridable variable.
38073         (news-date-check): Use it.
38074
38075 2009-12-04  Eric Blake  <ebb9@byu.net>
38076
38077         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38078         * lib/mgetgroups.h (xgetgroups): New prototype.
38079         * lib/mgetgroups.c (xgetgroups): New wrapper.
38080         (mgetgroups): Handle ENOSYS.
38081         * modules/mgetgroups (Depends-on): Add realloc.
38082         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38083
38084         mgetgroups: avoid argument promotion issues with -1
38085         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38086         for invalid gid_t.
38087         * tests/test-chown.h (getegid, test_chown): Likewise.
38088         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38089
38090 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38091
38092         exclude: Fix header file problems.
38093         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
38094
38095 2009-12-01  Jim Meyering  <meyering@redhat.com>
38096
38097         fts: fts_open: do not let an empty string cause immediate failure
38098         This is required in support of GNU rm, for which the command
38099         "rm A '' B" must process and remove both A and B, in spite of
38100         the empty string argument.
38101         * lib/fts.c (fts_open): Do not let the presence of an empty string
38102         cause fts_open to fail immediately.  Most fts-using tools must be
38103         able to process all arguments, in order, and can be expected to
38104         diagnose such arguments themselves.
38105
38106 2009-11-30  Eric Blake  <ebb9@byu.net>
38107
38108         utimens: fix compilation error
38109         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
38110         Declare variable at right scope.
38111
38112 2009-11-29  Jim Meyering  <meyering@redhat.com>
38113
38114         bootstrap: handle perl-5.11's changed --version output
38115         * build-aux/bootstrap (get_version): Handle perl separately,
38116         since perl-5.11's --version output is different.
38117
38118 2009-11-28  Jim Meyering  <meyering@redhat.com>
38119
38120         userspec: depend on the inttostr module, too
38121         * modules/userspec (Depends-on): Add inttostr.
38122
38123         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
38124         * lib/userspec.c (parse_with_separator): Do not accept a user ID
38125         number of MAXUID when it evaluates to (uid_t) -1.
38126         Likewise for group ID.  Reported by Matt McCutchen in
38127         <http://savannah.gnu.org/bugs/?28113>
38128
38129         userspec: reformat to use spaces, not TABs
38130         * lib/userspec.c: Expand TABs to spaces.
38131         Add Emacs' "indent-tabs-mode: nil" hint.
38132
38133 2009-11-27  Eric Blake  <ebb9@byu.net>
38134
38135         getopt-gnu: flush out another BSD bug
38136         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
38137         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
38138         flush out BSD bug.
38139         * tests/test-getopt.h (test_getopt): End lists with NULL.
38140         * tests/test-getopt_long.h (test_getopt_long): Likewise.
38141         (test_getopt_long_posix): Enhance test.
38142         * modules/getopt-posix-tests (Depends-on): Add stdbool.
38143         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
38144         getopt-gnu.
38145         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38146         Likewise.
38147
38148 2009-11-27  Simon Josefsson  <simon@josefsson.org>
38149
38150         * modules/idpriv-droptemp-tests (Notice): Fix text.
38151
38152 2009-11-27  Jim Meyering  <meyering@redhat.com>
38153
38154         test-xalloc-die: avoid spurious failure due to libtool argv difference
38155         In a libtool-enabled project, this test would fail due to a difference
38156         in the emitted program name, e.g.,
38157         -test-xalloc-die: memory exhausted
38158         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
38159         Use program to avoid that.
38160         * modules/xalloc-die-tests (Depends-on): Add progname.
38161         * tests/test-xalloc-die.c: Include progname.h".
38162         (program_name): Remove decl.
38163         (main): Call set_program_name.
38164         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
38165
38166 2009-11-26  Richard Jones  <rjones@redhat.com>
38167
38168         w32sock: leave win32 error in place.
38169         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
38170
38171 2009-11-26  Eric Blake  <ebb9@byu.net>
38172
38173         init.sh: suggest to use skip_ and fail_ functions in comments
38174         * tests/init.sh: Add a sentence.
38175
38176 2009-11-25  Bruno Haible  <bruno@clisp.org>
38177
38178         init.sh: add documentation in comments
38179         * tests/init.sh: Add some developer and user documentation.
38180
38181 2009-11-26  Jim Meyering  <meyering@redhat.com>
38182
38183         init.sh: accommodate even those who specify bogus srcdir manually
38184         * tests/init.sh: Normally, srcdir is guaranteed by automake and
38185         configure-time tests to be sanitized, so that there is no need to
38186         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
38187         (with no double quotes) suffices.  However, since tests may be
38188         invoked manually, and since you may explicitly set srcdir to the
38189         name of a directory containing spaces, do quote its uses here.
38190         * tests/test-pread.sh: Likewise.
38191         Suggested by Bruno Haible.
38192
38193         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
38194         * tests/test-pread.sh: Write no data into the pipe, because
38195         test-pread actually reads none.  This avoids a diagnostic,
38196         "bash: echo: write error: Broken pipe", that arises in the unusual
38197         event something is ignoring SIGPIPE, and might be interpreted
38198         as some sort of failure.  Reported by Bruno Haible.
38199
38200 2009-11-25  Jim Meyering  <meyering@redhat.com>
38201
38202         test-pread: cover failure with ESPIPE and EINVAL
38203         * tests/test-pread.c (main): Test for failure, too.
38204         * tests/test-pread.sh: Invoke with stdin on a pipe.
38205         Suggested by Eric Blake.
38206
38207         pread: improvement and fix
38208         * modules/pread (Depends-on): Depend on lseek, for portability to
38209         e.g., mingw.  Suggested by Eric Blake.
38210         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
38211
38212         unistd.in.h: correct declaration of pread
38213         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
38214         Reported by Richard W.M. Jones.
38215
38216         test-pread.sh: distribute the test script
38217         * modules/pread-tests (Files): Include test-pread.sh.
38218
38219         test-pread.sh: clean up
38220         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
38221         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
38222         That is unnecessary, since it's always ".".
38223         Suggestion from Eric Blake.
38224
38225         test-pread.sh: make executable
38226         * tests/test-pread.sh: Set executable bit.
38227         Reported by Eric Blake.
38228
38229         correct typo in test-pread.sh
38230         * tests/test-pread.sh: Add #! line.
38231
38232         test pread
38233         * tests/test-pread.c: New file.
38234         * tests/test-pread.sh: Likewise.
38235         * modules/pread-tests: Likewise.
38236
38237         pread: new module
38238         * modules/pread: New file.
38239         * lib/unistd.in.h (pread): Define/declare.
38240         * lib/pread.c (pread): New file.
38241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
38242         * modules/unistd (Makefile.am): Substitute witnesses.
38243         * doc/posix-functions/pread.texi (pread): Update.
38244         * MODULES.html.sh: Add pread.
38245
38246 2009-11-25  Jim Meyering  <meyering@redhat.com>
38247
38248         tests/init.sh: new file to be used via most *.sh tests
38249         * tests/init.sh: New file.
38250
38251 2009-11-25  Eric Blake  <ebb9@byu.net>
38252
38253         utimens: work around older Linux failure with symlinks
38254         * lib/utimens.c (lutimensat_works_really): New variable.
38255         (fdutimens, lutimens): Use it to manage kernels that support
38256         nanosecond times on files, but not on symlinks.
38257         Reported by OndÅ™ej Vašík.
38258
38259         utimes: fix configure grammar
38260         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
38261
38262 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
38263
38264         regex: Fix fastmap for multibyte character ranges.
38265         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
38266         characters when a multibyte character range is included.
38267
38268 2009-11-22  Andy Wingo  <wingo@pobox.com>
38269
38270         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
38271         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
38272
38273 2009-11-24  Bruno Haible  <bruno@clisp.org>
38274
38275         doc: Most *_l functions exist in MacOS X 10.5.
38276         * doc/posix-functions/duplocale.texi: Update platforms list.
38277         * doc/posix-functions/freelocale.texi: Likewise.
38278         * doc/posix-functions/newlocale.texi: Likewise.
38279         * doc/posix-functions/uselocale.texi: Likewise.
38280         * doc/posix-functions/isalnum_l.texi: Likewise.
38281         * doc/posix-functions/isalpha_l.texi: Likewise.
38282         * doc/posix-functions/isblank_l.texi: Likewise.
38283         * doc/posix-functions/iscntrl_l.texi: Likewise.
38284         * doc/posix-functions/isdigit_l.texi: Likewise.
38285         * doc/posix-functions/isgraph_l.texi: Likewise.
38286         * doc/posix-functions/islower_l.texi: Likewise.
38287         * doc/posix-functions/isprint_l.texi: Likewise.
38288         * doc/posix-functions/ispunct_l.texi: Likewise.
38289         * doc/posix-functions/isspace_l.texi: Likewise.
38290         * doc/posix-functions/isupper_l.texi: Likewise.
38291         * doc/posix-functions/iswalnum_l.texi: Likewise.
38292         * doc/posix-functions/iswalpha_l.texi: Likewise.
38293         * doc/posix-functions/iswblank_l.texi: Likewise.
38294         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38295         * doc/posix-functions/iswctype_l.texi: Likewise.
38296         * doc/posix-functions/iswdigit_l.texi: Likewise.
38297         * doc/posix-functions/iswgraph_l.texi: Likewise.
38298         * doc/posix-functions/iswlower_l.texi: Likewise.
38299         * doc/posix-functions/iswprint_l.texi: Likewise.
38300         * doc/posix-functions/iswpunct_l.texi: Likewise.
38301         * doc/posix-functions/iswspace_l.texi: Likewise.
38302         * doc/posix-functions/iswupper_l.texi: Likewise.
38303         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38304         * doc/posix-functions/isxdigit_l.texi: Likewise.
38305         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
38306         * doc/posix-functions/strcasecmp_l.texi: Likewise.
38307         * doc/posix-functions/strcoll_l.texi: Likewise.
38308         * doc/posix-functions/strfmon_l.texi: Likewise.
38309         * doc/posix-functions/strftime_l.texi: Likewise.
38310         * doc/posix-functions/strncasecmp_l.texi: Likewise.
38311         * doc/posix-functions/strxfrm_l.texi: Likewise.
38312         * doc/posix-functions/tolower_l.texi: Likewise.
38313         * doc/posix-functions/toupper_l.texi: Likewise.
38314         * doc/posix-functions/towctrans_l.texi: Likewise.
38315         * doc/posix-functions/towlower_l.texi: Likewise.
38316         * doc/posix-functions/towupper_l.texi: Likewise.
38317         * doc/posix-functions/wcscoll_l.texi: Likewise.
38318         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38319         * doc/posix-functions/wctrans_l.texi: Likewise.
38320         * doc/posix-functions/wctype_l.texi: Likewise.
38321         * doc/glibc-functions/strptime_l.texi: Likewise.
38322         * doc/glibc-functions/strtod_l.texi: Likewise.
38323         * doc/glibc-functions/strtof_l.texi: Likewise.
38324         * doc/glibc-functions/strtol_l.texi: Likewise.
38325         * doc/glibc-functions/strtold_l.texi: Likewise.
38326         * doc/glibc-functions/strtoll_l.texi: Likewise.
38327         * doc/glibc-functions/strtoul_l.texi: Likewise.
38328         * doc/glibc-functions/strtoull_l.texi: Likewise.
38329         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38330         * doc/glibc-functions/wcstod_l.texi: Likewise.
38331         * doc/glibc-functions/wcstof_l.texi: Likewise.
38332         * doc/glibc-functions/wcstol_l.texi: Likewise.
38333         * doc/glibc-functions/wcstold_l.texi: Likewise.
38334         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38335         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38336         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38337
38338 2009-11-24  Bruno Haible  <bruno@clisp.org>
38339
38340         duplocale: Fix logic bug.
38341         * lib/duplocale.c: Don't include <langinfo.h>.
38342         (_NL_LOCALE_NAME): Remove macro.
38343         (rpl_duplocale): Use setlocale instead of nl_langinfo.
38344         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
38345
38346 2009-11-23  Jim Meyering  <meyering@redhat.com>
38347
38348         test-update-copyright: don't hard-code /usr/bin/perl
38349         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
38350         perl to print the current year.  Gilles Espinasse reported that
38351         the replaced use of perl was hard-coded as /usr/bin/perl.
38352
38353 2009-11-23  Bruno Haible  <bruno@clisp.org>
38354
38355         duplocale: Add support for glibc 2.3.x.
38356         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
38357
38358 2009-11-22  Bruno Haible  <bruno@clisp.org>
38359
38360         vasnprintf: Tiny optimization.
38361         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
38362         MacOS X.
38363
38364 2009-11-22  Bruno Haible  <bruno@clisp.org>
38365
38366         Tests for module 'duplocale'.
38367         * modules/duplocale-tests: New file.
38368         * tests/test-duplocale.c: New file.
38369
38370         New module 'duplocale'.
38371         * m4/duplocale.m4: New file.
38372         * lib/locale.in.h (duplocale): New declaration.
38373         * lib/duplocale.c: New file.
38374         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
38375         gl_LOCALE_H_DEFAULTS): New macros.
38376         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
38377         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
38378         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
38379         REPLACE_DUPLOCALE.
38380         * modules/duplocale: New file.
38381         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
38382
38383 2009-11-22  Bruno Haible  <bruno@clisp.org>
38384
38385         * modules/locale-tests (configure.ac): Test for newlocale function.
38386         * tests/test-locale.c: When the system has extended locale functions,
38387         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
38388
38389         locale: Make locale_t available when possible.
38390         * lib/locale.in.h: Include <xlocale.h> when it exists.
38391         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
38392         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
38393         * modules/locale (Depends-on): Add extensions.
38394         (Makefile.am): Also substitute HAVE_XLOCALE_H.
38395         * doc/posix-headers/locale.texi: Document the problem with locale_t.
38396
38397 2009-11-22  Bruno Haible  <bruno@clisp.org>
38398
38399         Add comments.
38400         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
38401         invocation.
38402         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
38403         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38404         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38405
38406 2009-11-22  Bruno Haible  <bruno@clisp.org>
38407
38408         error: account for the possibility of freopen (stdout).
38409         * lib/error.c: Include <unistd.h>.
38410         (flush_stdout): New function, extracted from error and error_at_line.
38411         Determine stdout's fd dynamically.
38412         (error, error_at_line): Invoke flush_stdout.
38413         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
38414         * modules/error (Depends-on): Add unistd.
38415
38416 2009-11-22  Bruno Haible  <bruno@clisp.org>
38417
38418         diffseq: Add comment.
38419         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
38420
38421 2009-11-22  Jim Meyering  <meyering@redhat.com>
38422
38423         c-stack: avoid defining an unused static function
38424         * lib/c-stack.c (find_stack_direction): Do not define this function
38425         when it will not be used.
38426
38427         diffseq: avoid spurious gcc warnings
38428         * lib/diffseq.h (IF_LINT2): Define.
38429         (compareseq): Use it to initialize two members of "part".
38430         This avoids two used-uninitialized warnings.
38431
38432 2009-11-21  Jim Meyering  <meyering@redhat.com>
38433
38434         c-stack: avoid "ignoring return value of `write'" warning
38435         * lib/c-stack.c: Include "ignore-value.h".
38436         (die): Explicitly ignore each write return value.
38437         * modules/c-stack (Depends-on): Add ignore-value.
38438
38439 2009-11-21  Bruno Haible  <bruno@clisp.org>
38440
38441         diffseq: reduce scope of variable 'best'.
38442         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
38443         variable, earlier used for two different purposes.
38444
38445 2009-11-21  Jim Meyering  <meyering@redhat.com>
38446
38447         diffseq: remove useless assignment to "best"
38448         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
38449         assignment.  At that point "best" is already guaranteed to be zero.
38450
38451 2009-11-20  Eric Blake  <ebb9@byu.net>
38452
38453         build: mention ftp redirector in release announcements
38454         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
38455         values that used to come from cfg.mk; mention FTP redirect URL.
38456         * build-aux/announce-gen: Mention the mirror list.
38457         Suggested by Karl Berry.
38458
38459         nanosleep: improve port to mingw
38460         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
38461         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
38462         LIB_NANOSLEEP, but only when needed.
38463         * modules/select (Link): Document LIBSOCKET.
38464         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
38465         enough.
38466
38467         nanosleep: work around cygwin bug
38468         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
38469         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
38470         bug.
38471         (getnow): Delete, not needed.
38472         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
38473         LIB_CLOCK_GETTIME.
38474         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
38475         clock-time, gettime.
38476         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
38477         bug.
38478         * modules/nanosleep-tests: New test.
38479         * tests/test-nanosleep.c: New file.
38480
38481         sleep: work around cygwin bug
38482         * lib/sleep.c (rpl_sleep): Work around the bug.
38483         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
38484         (gl_PREREQ_SLEEP): Delete unused macro.
38485         * modules/sleep (Depends-on): Add verify.
38486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38487         * modules/unistd (Makefile.am): Substitute witness.
38488         * lib/unistd.in.h (sleep): Update prototype.
38489         * doc/posix-functions/sleep.texi (sleep): Document the bug.
38490         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
38491         * modules/sleep-tests (Depends-on): Check for alarm.
38492
38493 2009-11-20  Jim Meyering  <meyering@redhat.com>
38494
38495         maint.mk: improve sc_prohibit_magic_number_exit
38496         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
38497         so it does not match uses like System.exit(1).
38498         Add comments showing how to correct all offenders.
38499
38500 2009-11-19  Eric Blake  <ebb9@byu.net>
38501
38502         xalloc-die-tests: add missing library
38503         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
38504
38505         test-xvasprintf: silence compiler warnings
38506         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
38507         empty string from gcc.
38508
38509 2009-11-19  Jim Meyering  <meyering@redhat.com>
38510
38511         xfreopen: new module, from coreutils
38512         * modules/xfreopen: New module.
38513         * lib/xfreopen.c: New file.
38514         * lib/xfreopen.h: New file.
38515         * MODULES.html.sh (File stream based Input/Output"): Add it.
38516
38517 2009-11-19  Eric Blake  <ebb9@byu.net>
38518
38519         manywarnings: depend on warnings
38520         * modules/manywarnings (Depends-on): Add warnings.
38521
38522         build: avoid compiler warnings
38523         * lib/select.c (rpl_select): Delete unused variable.
38524         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
38525
38526 2009-11-18  Eric Blake  <ebb9@byu.net>
38527
38528         tests: avoid false negative with --with-packager
38529         * tests/test-version-etc.sh: Discard packager information.
38530         * tests/test-argp-version-etc-1.sh: Likewise.
38531         Reported by Mike Frysinger.
38532
38533         utimens: fix regression on Solaris
38534         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
38535         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
38536         can only change fd timestamps via futimesat.  Instead, use an
38537         additional witness macro to avoid BSD bug.
38538         Reported by Jim Meyering.
38539
38540 2009-11-17  Eric Blake  <ebb9@byu.net>
38541
38542         usleep: use it to simplify tests
38543         * modules/stat-time-tests (Depends-on): Add usleep.
38544         (configure.ac): Drop usleep check.
38545         * modules/chown-tests (Depends-on, configure.ac): Likewise.
38546         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
38547         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
38548         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
38549         * modules/openat-tests (Depends-on, configure.ac): Likewise.
38550         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
38551         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
38552         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
38553         Likewise.
38554         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
38555         * tests/test-lchown.h (nap): Likewise.
38556         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
38557         * tests/test-stat-time.c (nap): Likewise.
38558         * tests/test-utimens-common.h (nap): Update comments.
38559
38560         usleep: new module
38561         * modules/usleep: New file.
38562         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
38563         * lib/usleep.c (usleep): Likewise.
38564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38565         * modules/unistd (Makefile.am): Substitute witnesses.
38566         * lib/unistd.in.h (usleep): Add declaration.
38567         * doc/pastposix-functions/usleep.texi (usleep): Document this.
38568         * MODULES.html.sh (Date and time): Likewise.
38569         * modules/usleep-tests (Depends-on): New test.
38570         * tests/test-usleep.c: New file.
38571
38572         chown: work around OpenBSD bug
38573         * lib/chown.c (rpl_chown): Work around the bug.
38574         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
38575         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
38576         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
38577         * modules/chown (Depends-on): Add stdbool.
38578         * modules/lchown (Depends-on): Likewise.
38579         * doc/posix-functions/chown.texi (chown): Document the bug.
38580         * doc/posix-functions/lchown.texi (lchown): Likewise.
38581         * tests/test-lchown.h (test_chown): Relax test.
38582
38583         mkstemp: avoid conflict with C++ keyword template
38584         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
38585         * lib/mkostemp.c (mkostemp): Likewise.
38586         * lib/mkostemps.c (mkostemps): Likewise.
38587         * lib/mkstemp.c (mkstemp): Likewise.
38588         * lib/mkstemps.c (mkstemps): Likewise.
38589
38590         xalloc-die-tests: optimize
38591         * tests/test-xalloc-die.sh: Reduce number of processes.
38592
38593 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38594
38595         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
38596         patch from ludo@gnu.org (Ludovic Courtès).
38597
38598 2009-11-17  Jim Meyering  <meyering@redhat.com>
38599
38600         version-etc: use proper license string
38601         * modules/version-etc (License): Use LGPL, not LGPLv3+.
38602         * modules/version-etc-fsf: Likewise.
38603
38604 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38605
38606         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
38607         printed to stdout.  Deal with EOL differences.
38608
38609 2009-11-17  Eric Blake  <ebb9@byu.net>
38610
38611         unsetenv: work around Solaris bug
38612         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
38613         * lib/unsetenv.c (rpl_unsetenv): Work around it.
38614         Reported by Jim Meyering.
38615
38616         vasnprintf: avoid compiler warnings
38617         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
38618         variables.
38619         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
38620
38621 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38622
38623         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
38624         settings since xalloc-die is no longer the self test,
38625         xalloc-die.sh is.
38626
38627 2009-11-17  Jim Meyering  <meyering@redhat.com>
38628
38629         test-xalloc-die.sh: make the code agree with the commit log
38630         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
38631         at the end, just in case you happen to have a test-xalloc-die
38632         program in some other PATH directory.
38633
38634         test-xalloc-die.sh: fix a portability bug
38635         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
38636         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
38637         Otherwise, argv[0] (as often seen in diagnostics) would be too
38638         system-dependent, sometimes with, and sometimes without the leading "./".
38639
38640         version-etc-fsf: relax license to LGPLv3+
38641         * modules/version-etc-fsf (License): Relax license.
38642
38643 2009-11-16  Eric Blake  <ebb9@byu.net>
38644
38645         xalloc-die-tests: avoid printing null pointer
38646         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
38647         shell script.
38648         * tests/test-xalloc-die.c (program_name): Declare.
38649         * tests/test-xalloc-die.sh (tmpfiles): New file.
38650
38651         setenv, unsetenv: work around various bugs
38652         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
38653         (setenv) [HAVE_SETENV]: Work around bugs.
38654         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
38655         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
38656         for bugs.
38657         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
38658         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
38659         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
38660         * modules/stdlib (Makefile.am): Update substitutions.
38661         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
38662         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
38663         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38664         * modules/setenv-tests: New test.
38665         * modules/unsetenv-tests: Likewise.
38666         * tests/test-setenv.c: New file.
38667         * tests/test-unsetenv.c: Likewise.
38668
38669 2009-11-16  Jim Meyering  <meyering@redhat.com>
38670
38671         version-etc: relax license to LGPLv3+
38672         * modules/version-etc (License): Relax license.
38673
38674         better AC_REQUIRE expanded-before-required-warning avoidance
38675         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
38676         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
38677         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
38678         which is no longer needed.
38679
38680 2009-11-16  Eric Blake  <ebb9@byu.net>
38681
38682         test-freading: clean up temporary file
38683         * tests/test-freading.c (main): Remove file on success, and use
38684         ASSERT more liberally.
38685         Reported by Jim Meyering.
38686
38687 2009-11-16  Jim Meyering  <meyering@redhat.com>
38688
38689         avoid new AC_REQUIRE expanded-before-required warnings
38690         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
38691         merely using it.
38692         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
38693         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
38694
38695 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38696
38697         * tests/test-xalloc-die.c: New file.
38698         * modules/xalloc-die-tests: New file.
38699         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
38700         XFAIL_TESTS so it can be appended by modules.
38701
38702 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38703
38704         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
38705         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
38706
38707 2009-11-14  Eric Blake  <ebb9@byu.net>
38708
38709         fnmatch: avoid compiler warning
38710         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
38711         to silence compiler warning about mismatch signedness in ?:.
38712         Reported by Robert Millan.
38713
38714         intprops: add double-inclusion guard
38715         * lib/intprops.h: Allow idempotent includes.
38716         Suggested by Bruce Korb.
38717
38718         openat: detect Solaris fchownat bug
38719         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
38720         penalizing glibc chownat when only lchownat is broken.
38721         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
38722         trailing slash bugs.
38723         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
38724         * modules/openat-tests (Files): Include more files.
38725         (Depends-on): Add mgetgroups, sleep, stat-time.
38726         (configure.ac): Add additional checks.
38727         (Makefile.am): Build new test.
38728         * tests/test-fchownat.c: New file.
38729
38730         lchown: detect Solaris and FreeBSD bug
38731         * lib/lchown.c (rpl_lchown): Work around bug.
38732         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
38733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38734         * modules/unistd (Makefile.am): Populate it.
38735         * lib/unistd.in.h (lchown): Update declaration.
38736         * doc/posix-functions/lchown.texi (lchown): Document the bug.
38737         * modules/lchown-tests: New file.
38738         * tests/test-lchown.h (test_lchown): Likewise.
38739         * tests/test-lchown.c (main): Likewise.
38740
38741         chown: detect Solaris and FreeBSD bug
38742         * lib/chown.c (rpl_chown): Work around bug.
38743         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
38744         (gl_PREREQ_CHOWN): Delete.
38745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38746         * modules/unistd (Makefile.am): Populate it.
38747         * lib/unistd.in.h (chown): Update declaration.
38748         * lib/lchown.c (chown): Update client.
38749         * modules/lchown (Depends-on): Add lstat.
38750         * doc/posix-functions/chown.texi (chown): Document the bug.
38751         * doc/posix-functions/getgroups.texi (getgroups): Document
38752         getgroups pitfall.
38753         * modules/chown-tests: New file.
38754         * tests/test-chown.h (test_chown): Likewise.
38755         * tests/test-chown.c (main): Likewise.
38756
38757 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
38758
38759         gnulib-tool: correctly detect absence of m4 directories
38760         * gnulib-tool: Avoid extra newline on data passed to wc -l.
38761
38762 2009-11-14  Jim Meyering  <meyering@redhat.com>
38763
38764         maint.mk: Prohibit inclusion of "xalloc.h" without use.
38765         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38766
38767 2009-11-14  John W. Eaton  <jwe@gnu.org>
38768
38769         strftime.h: wrap funtion declaration in extern "C" block
38770         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
38771
38772 2009-11-13  Eric Blake  <ebb9@byu.net>
38773
38774         getgroups: avoid compiler warning
38775         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
38776
38777         getgroups: work around FreeBSD bug
38778         * lib/getgroups.c (rpl_getgroups): Work around the bug.
38779         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
38780         * doc/posix-functions/getgroups.texi (getgroups): Document it.
38781         * tests/test-getgroups.c (main): Fix buffer overrun.
38782
38783         getgroups: avoid compilation failure
38784         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
38785         * modules/getgroups (Depends-on): Add stdint.
38786
38787 2009-11-13  Jim Meyering  <meyering@redhat.com>
38788
38789         test-getgroups: avoid compilation failure
38790         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
38791
38792 2009-11-13  Eric Blake  <ebb9@byu.net>
38793
38794         mgetgroups: new module, taken from coreutils
38795         * modules/mgetgroups: New file.
38796         * lib/mgetgroups.h: Likewise.
38797         * lib/mgetgroups.c (mgetgroups): Likewise.
38798         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
38799         * MODULES.html.sh (Users and groups): Mention it.
38800
38801         getgroups: don't expose GETGROUPS_T to user
38802         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
38803         an element at a time if GETGROUPS_T is wrong size.
38804         * lib/getugroups.h (getugroups): Change signature.
38805         * lib/unistd.in.h (getgroups): Likewise.
38806         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
38807         signature needs fixing.
38808         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
38809         AC_TYPE_GETGROUPS.
38810         * modules/group-member (Depends-on): Add getgroups.
38811         * lib/group-member.c (group_info, get_group_info): Use gid_t.
38812         (group_member): Rely on getgroups replacement.
38813         * lib/getugroups.c (getugroups): Use gid_t.
38814         * tests/test-getgroups.c (main): Likewise.
38815         * NEWS: Mention the signature change.
38816         * doc/posix-functions/getgroups.texi (getgroups): Mention the
38817         problem with signature.
38818         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
38819         GETGROUPS_T is still useful for setgroups.
38820
38821         getgroups, getugroups: provide stubs for mingw
38822         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
38823         * lib/getugroups.c (getugroups): Likewise.
38824         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
38825         function.  Modernize replacement scheme.
38826         (gl_PREREQ_GETGROUPS): Delete.
38827         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
38828         * modules/getgroups (configure.ac): Declare witness.
38829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38830         * modules/unistd (Depends-on): Substitute witness.
38831         * lib/unistd.in.h (getgroups): Declare replacement.
38832
38833         getgroups: avoid calling exit
38834         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
38835         drop xalloc.
38836         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
38837         dependencies.
38838         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
38839         exiting, in the rare case of malloc failure.
38840
38841         getgroups: fix logic error
38842         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
38843         has more than 20 groups.
38844         * modules/getgroups-tests: New test.
38845         * tests/test-getgroups.c: New file.
38846
38847 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38848
38849         * tests/test-base64.c: Improve.
38850
38851 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38852
38853         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
38854         Blake <ebb9@byu.net>.
38855
38856 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38857
38858         * tests/test-xvasprintf.c: Add %s%s related checks.
38859
38860 2009-11-12  Eric Blake  <ebb9@byu.net>
38861
38862         version-etc: match standards.texi style
38863         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
38864         and use <> only for URLs.
38865
38866 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
38867
38868         fts: do not fail on a submount during traversal
38869         * lib/fts.c (fts_build): Read the stat info again after opening
38870         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
38871         Original report at http://bugzilla.redhat.com/501848.
38872
38873 2009-11-12  Jim Meyering  <meyering@redhat.com>
38874
38875         bootstrap: sync from coreutils
38876         * build-aux/bootstrap (bootstrap_epilogue): New function.
38877         Use git_modules_config in one more place.  This make bootstrap's
38878         --gnulib-srcdir option more useful for testing.
38879
38880         bootstrap: generalize autoheader check
38881         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
38882         AC_CONFIG_HEADERS.
38883
38884 2009-11-11  Eric Blake  <ebb9@byu.net>
38885
38886         mkfifoat: use new modules for Solaris and BSD bugs
38887         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
38888         * lib/mkfifoat.c (mknodat): Split...
38889         * lib/mknodat.c (mknodat): ...into new file.
38890         * modules/mkfifoat (Files): Ship new file.
38891         (Depends-on): Add mkfifo, mknod.
38892         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
38893         (Depends-on): Add symlink.
38894         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
38895         redundant with test_mkfifo.h.
38896         (do_mkfifoat, do_mknodat): New helpers.
38897
38898         mknod: new module
38899         * modules/mknod: New file.
38900         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
38901         * lib/mknod.c (mknod): Likewise.
38902         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38903         defaults.
38904         * modules/sys_stat (Makefile.am): Substitute them.
38905         * lib/sys_stat.in.h (mknod): Declare replacement.
38906         * MODULES.html.sh (Support for systems lacking POSIX:2008):
38907         Document it.
38908         * doc/posix-functions/mknod.texi (mknod): Likewise.
38909         * modules/mknod-tests: New test.
38910         * tests/test-mknod.c: Likewise.
38911
38912         mkfifo: new module
38913         * modules/mkfifo: New file.
38914         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
38915         * lib/mkfifo.c (mkfifo): Likewise.
38916         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38917         defaults.
38918         * modules/sys_stat (Makefile.am): Substitute them.
38919         * lib/sys_stat.in.h (mkfifo): Declare replacement.
38920         * MODULES.html.sh (Support for systems lacking POSIX:2008):
38921         Document it.
38922         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
38923         * modules/mkfifo-tests: New test.
38924         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
38925         from test-mkfifoat.c.
38926         * tests/test-mkfifo.c: New file.
38927
38928         readlink: detect FreeBSD bug
38929         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
38930         slash on symlink.
38931         * doc/posix-functions/readlink.texi (readlink): Document the bug.
38932         * tests/test-readlink.h (test_readlink): Enhance test.
38933
38934         symlink: detect FreeBSD bug
38935         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
38936         slash on symlink.
38937         * doc/posix-functions/symlink.texi (symlink): Document the bug.
38938         * tests/test-symlink.h (test_symlink): Enhance test.
38939
38940 2009-11-10  Eric Blake  <ebb9@byu.net>
38941
38942         link: detect FreeBSD bug
38943         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
38944         symlink.
38945         * doc/posix-functions/link.texi (link): Document the bug.
38946         * tests/test-link.h (test_link): Enhance test.
38947         * tests/test-linkat.c (main): Update caller.
38948
38949         unlink, remove: detect FreeBSD bug
38950         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
38951         slash on symlink.
38952         * doc/posix-functions/unlink.texi (unlink): Document the bug.
38953         * doc/posix-functions/remove.texi (remove): Likewise.
38954         * tests/test-unlink.h (test_unlink): Enhance test.
38955         * tests/test-remove.c (main): Likewise.
38956
38957 2009-11-09  Eric Blake  <ebb9@byu.net>
38958
38959         rename: detect FreeBSD bug
38960         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
38961         slash on symlink.
38962         * modules/renameat-tests (Depends-on): Add filenamecat.
38963         * tests/test-rename.h (test_rename): Allow one more errno.
38964         * tests/test-renameat.c (main): Likewise.
38965         * doc/posix-functions/rename.texi (rename): Document the bug.
38966
38967         open: detect FreeBSD bug
38968         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
38969         symlink.
38970         * doc/posix-functions/open.texi (open): Document the bug.
38971         * doc/posix-functions/utimes.texi (utimes): Likewise.
38972         * tests/test-open.h (test_open): Add parameters, and test symlink
38973         handling.
38974         * tests/test-open.c (main): Adjust caller.
38975         * tests/test-fcntl-safer.c (main): Likewise.
38976         * modules/open-tests (Depends-on): Add stdbool, symlink.
38977         * modules/fcntl-safer-tests (Depends-on): Likewise.
38978         * tests/test-openat.c (main): Add test-open tests.
38979
38980         stat: detect FreeBSD bug
38981         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
38982         symlink.
38983         * doc/posix-functions/stat.texi (stat): Document the bug.
38984         * tests/test-stat.h (test_stat_func): Add argument.
38985         * tests/test-stat.c (main): Adjust caller.
38986         * tests/test-fstatat.c (main): Likewise.
38987         * modules/stat-tests (Depends-on): Add stdbool, symlink.
38988         Reported by Jim Meyering.
38989
38990 2009-11-09  James Youngman  <jay@gnu.org>
38991
38992         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
38993         * lib/strftime.c: Correct placement of #include "ignore-value.h".
38994
38995 2009-11-08  Jim Meyering  <meyering@redhat.com>
38996
38997         utimens: remove invalid futimesat call
38998         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
38999         It used the file descriptor of the target file as the DIR_FD
39000         parameter and NULL as the file name.  That caused failure with
39001         errno == EFAULT on FreeBSD-8.0-rc2
39002
39003 2009-11-07  Eric Blake  <ebb9@byu.net>
39004
39005         fflush, freadseek: use fseeko, not fseek
39006         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39007         (clear_ungetc_buffer): Avoid potential problems on large files.
39008         * lib/freadseek.c (freadseek): Likewise.
39009         * modules/freadseek (Depends-on): Add fseeko.
39010         * modules/fseek (configure.ac): Set a witness.
39011         * tests/test-fflush.c (main): Use fseeko.
39012         * tests/test-fpurge.c (fseek): Disable link warning.
39013         * tests/test-freadable.c (fseek): Likewise.
39014         * tests/test-freading.c (fseek): Likewise.
39015         * tests/test-fseeko.c (fseek): Likewise.
39016         * tests/test-ftell.c (fseek): Likewise.
39017         * tests/test-ftello.c (fseek): Likewise.
39018         * tests/test-fwritable.c (fseek): Likewise.
39019         * tests/test-fwriting.c (fseek): Likewise.
39020
39021 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39022
39023         * modules/memchr (Depends-on): Drop getpagesize dependency.
39024
39025 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39026
39027         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39028         Reported by Ludovic Courtès.
39029         * build-aux/pmccabe2html: Improve example usage.
39030         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39031
39032 2009-11-06  Jim Meyering  <meyering@redhat.com>
39033
39034         do-release-commit-and-tag: New module.
39035         Automate the release-commit and tag process.
39036         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39037         * modules/do-release-commit-and-tag: New file.
39038         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39039
39040 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39041
39042         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39043         because test-select.c uses inet_pton.
39044
39045 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39046
39047         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39048         GETADDRINFO_LIB.  Bump serial number.
39049         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39050         Suggested by Eric Blake <ebb9@byu.net>.
39051
39052 2009-11-05  Eric Blake  <ebb9@byu.net>
39053
39054         strtod: detect darwin bug
39055         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39056         Reported by Leo Davis.
39057
39058         freopen-safer: new module
39059         * modules/freopen-safer: New module.
39060         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39061         * lib/freopen-safer.c (freopen_safer): New file.
39062         * lib/stdio-safer.h (freopen_safer): New declaration.
39063         * lib/stdio--.h (freopen): New override.
39064         * MODULES.html.sh (File stream based Input/Output): Mention it.
39065         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39066         freopen-safer module.
39067         * doc/posix-functions/stderr.texi (stderr): Likewise.
39068         * doc/posix-functions/stdin.texi (stdin): Likewise.
39069         * doc/posix-functions/stdout.texi (stdout): Likewise.
39070         * modules/freopen-safer-tests: New test.
39071         * tests/test-reopen-safer.c: New file.
39072
39073 2009-11-05  Jim Meyering  <meyering@redhat.com>
39074
39075         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39076         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39077
39078 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39079
39080         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39081
39082 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39083
39084         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39085
39086 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39087
39088         Fix link error.
39089         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39090         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39091
39092 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39093
39094         * tests/test-func.c: Also test value of __func__.
39095
39096 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39097
39098         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
39099         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
39100
39101 2009-11-05  Bruno Haible  <bruno@clisp.org>
39102
39103         Fix link error.
39104         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39105         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39106         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
39107
39108 2009-11-05  Bruno Haible  <bruno@clisp.org>
39109
39110         Tests for module 'inet_pton'.
39111         * modules/inet_pton-tests: New file.
39112         * tests/test-inet_pton.c: New file.
39113
39114 2009-11-05  Bruno Haible  <bruno@clisp.org>
39115
39116         Tests for module 'inet_ntop'.
39117         * modules/inet_ntop-tests: New file.
39118         * tests/test-inet_ntop.c: New file.
39119
39120 2009-11-04  Eric Blake  <ebb9@byu.net>
39121
39122         stdlib-safer: wrap all mkstemp variants
39123         * modules/mkostemp (configure.ac): Set witness.
39124         * modules/mkostemps (configure.ac): Likewise.
39125         * modules/mkstemps (configure.ac): Likewise.
39126         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
39127         (mkstemps_safer): Wrap more functions.
39128         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
39129         wrapping.
39130         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
39131         (mkstemps_safer): Implement the wrappers.
39132
39133         mkstemps, mkostemps: new modules
39134         * modules/mkostemps: New module.
39135         * modules/mkstemps: Likewise.
39136         * lib/mkostemps.c (mkostemps): New file.
39137         * lib/mkstemps.c (mkstemps): Likewise.
39138         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
39139         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
39140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
39141         * modules/stdlib (Makefile.am): Substitute them.
39142         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
39143         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
39144         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
39145         * doc/gnulib.texi (Glibc stdlib.h): Include them.
39146         * MODULES.html.sh (File system functions): Mention them.
39147
39148         tempname: resync from glibc
39149         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
39150         same values for __GT_FILE as glibc.  Abort even when assertions
39151         are disabled.
39152         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
39153         match its value otherwise.  Allow idempotent inclusion.
39154         * lib/mkdtemp.c (mkdtemp): Adjust caller.
39155         * lib/mkostemp.c (mkostemp): Likewise.
39156         * lib/mkstemp.c (mkstemp): Likewise.
39157         * lib/tmpfile.c (tmpfile): Likewise.
39158         * NEWS: Document this.
39159
39160         utimens: fix use of futimens on older Linux
39161         * lib/utimens.c (fdutimens): Use updated, rather than original,
39162         timespec to avoid bug in older Linux kernel.
39163         Reported by Simon Josefsson.
39164
39165 2009-11-04  Bruno Haible  <bruno@clisp.org>
39166
39167         Make num_processors more flexible and consistent.
39168         * lib/nproc.h (enum nproc_query): New type.
39169         (num_processors): Add a 'query' argument.
39170         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
39171         (num_processors): Add a 'query' argument. Test the value of the
39172         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
39173         mingw, count the number of CPUs available for the current process.
39174         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
39175         Check for sched_getaffinity and sched_getaffinity_np.
39176         * modules/nproc (Depends-on): Add c-ctype, extensions.
39177         * NEWS: Mention the change.
39178
39179 2009-11-03  Bruno Haible  <bruno@clisp.org>
39180
39181         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
39182
39183 2009-11-03  Jim Meyering  <meyering@redhat.com>
39184
39185         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
39186         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
39187         if it is defined.
39188
39189 2009-11-02  Eric Blake  <ebb9@byu.net>
39190
39191         mktime, timegm: share common declaration
39192         * lib/mktime-internal.h: New file.
39193         * lib/mktime.c: Use it rather than open-coding a declaration.
39194         * lib/timegm.c: Likewise.
39195         * modules/mktime (Files): Ship it.
39196         * modules/timegm (Files): Likewise.
39197         Suggested by Bruno Haible.
39198
39199         test-update-copyright: update test to match script changes
39200         * tests/test-update-copyright.sh: Avoid hard-coding perl
39201         location.  Don't update *.bak created by earlier runs.
39202
39203 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
39204             Simon Josefsson  <simon@josefsson.org>
39205             Bruno Haible  <bruno@clisp.org>
39206
39207         Fix link error on Solaris 8.
39208         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
39209         also in libnsl. Define also INET_PTON_LIB.
39210         * modules/inet_pton (Link): New section.
39211
39212 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39213             Bruno Haible  <bruno@clisp.org>
39214
39215         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
39216         * modules/inet_ntop (Link): New section.
39217         Reported by Boyan Kasarov <bkasarov@gmail.com>.
39218
39219 2009-11-02  Eric Blake  <ebb9@byu.net>
39220
39221         maint: avoid compiler warnings in m4 macros
39222         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
39223         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
39224
39225 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39226
39227         * m4/pmccabe2html.m4: Remove file.
39228         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
39229         function.  Change maintainer.
39230         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
39231         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
39232         Courtès).
39233
39234 2009-10-31  Eric Blake  <ebb9@byu.net>
39235
39236         fseeko: fix m4 regression
39237         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
39238         regression from 2009-10-27.
39239         Reported by Ralf Wildenhues.
39240
39241 2009-10-31  Jim Meyering  <meyering@redhat.com>
39242
39243         inttostr: aesthetics and improved (compile-time) safety
39244         Define inttype_is_signed rather than inttype_is_unsigned,
39245         since the sole use is via "#if inttype_is_signed".
39246         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
39247         inttype_is_unsigned.
39248         * lib/offtostr.c (inttype_is_signed): Likewise.
39249         * lib/uinttostr.c (inttype_is_signed): Likewise.
39250         * lib/umaxtostr.c (inttype_is_signed): Likewise.
39251         * lib/inttostr.c (inttostr): Use verify to cross-check the
39252         inttype_is_signed value and the signedness of the actual type.
39253         * modules/inttostr (Depends-on): Add verify.
39254
39255 2009-10-30  Eric Blake  <ebb9@byu.net>
39256
39257         build: avoid compiler warnings
39258         * lib/fchmodat.c (lchmod): Mark unused variables.
39259         * lib/getopt.c (_getopt_initialize): Likewise.
39260         * lib/mktime.c (__mktime_internal): Provide prototype.
39261         * lib/inttostr.c (inttostr): Avoid compiler warning even with
39262         older gcc that do not understand #pragma GCC diagnostic.
39263         * lib/uinttostr.c (inttype_is_unsigned): Define.
39264         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
39265
39266 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
39267
39268         stat: fix compilation on AIX
39269         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
39270         only see struct stat64.
39271
39272 2009-10-30  Eric Blake  <ebb9@byu.net>
39273
39274         exclude: make more robust
39275         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
39276         rather than masking a coding bug.
39277         Suggested by Bruno Haible.
39278
39279 2009-10-30  Jim Meyering  <meyering@redhat.com>
39280
39281         perl scripts: remove #!/usr/bin/perl in favor of more portable...
39282         Rather than putting #!/usr/bin/perl on the first line,
39283         start with a variant of what's recommended by "man perlrun" that
39284         invokes the first "perl" program from your shell's search path.
39285         * build-aux/gitlog-to-changelog: Replace #!... as above.
39286         Add a "Local Variables" perl mode setting.
39287         Prompted by a patch from Ludovic Courtès.
39288         Improved by Eric Blake.
39289         * build-aux/useless-if-before-free: Likewise.
39290         * build-aux/announce-gen: Likewise.
39291         * build-aux/update-copyright: Likewise.
39292
39293 2009-10-29  Eric Blake  <ebb9@byu.net>
39294
39295         filenamecat-lgpl: adjust clients
39296         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
39297         filenamecat.
39298         * modules/renameat (Depends-on): Likewise.
39299
39300         filenamecat: split into filenamecat-lgpl
39301         * modules/filenamecat-lgpl: New module.
39302         * modules/filenamecat (Files): Move library-safe files into
39303         filenamecat-lgpl.
39304         (Depends-on): Add filenamecat-lgpl.
39305         (configure.ac): Declare witness.
39306         * lib/filenamecat.h (file_name_concat): Only declare when using
39307         GPL module.
39308         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
39309         Move...
39310         * lib/filenamecat-lgpl.c: ...into new file.
39311         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
39312         (gl_FILE_NAME_CONCAT): Use it.
39313         * MODULES.html.sh (File system functions): Mention new module.
39314
39315         argp: avoid memory leak
39316         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
39317         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
39318         base_name, since the latter malloc()s and can call exit().
39319         Leak introduced 2006-07-03.
39320
39321         dirname-lgpl: adjust clients that don't need full dirname
39322         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
39323         * modules/filenamecat (Depends-on): Likewise.
39324         * modules/linkat (Depends-on): Likewise.
39325         * modules/mkancesdirs (Depends-on): Likewise.
39326         * modules/mkdir (Depends-on): Likewise.
39327         * modules/openat (Depends-on): Likewise.
39328         * modules/savewd (Depends-on): Likewise.
39329         * modules/rename (Depends-on): Likewise.
39330         (License): Relax license.
39331         * modules/mkdir-tests (Depends-on): Drop progname.
39332         (Makefile.am): Delete unneeded LDADD.
39333         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
39334
39335         dirname: split into dirname-lgpl
39336         * modules/dirname-lgpl: New module.
39337         * modules/dirname (Files): Move library-safe files into
39338         dirname-lgpl.
39339         (Depends-on): Add dirname-lgpl.
39340         (configure.ac): Declare witness.
39341         * modules/double-slash-root (License): Relax license.
39342         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
39343         module.
39344         * lib/dirname.c (dir_len, mdir_name): Move...
39345         * lib/dirname-lgpl.c: ...into new file.
39346         * lib/basename.c (last_component, base_len): Move...
39347         * lib/basename-lgpl.c: ...into new file.
39348         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
39349         (gl_DIRNAME): Use it.
39350         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
39351         Mention new module.
39352         * modules/dirname-tests (Depends-on): Add progname.
39353         * tests/test-dirname.c (program_name): Delete.
39354
39355         mkdir: make safe for libraries
39356         * modules/mkdir (Depends-on): Drop xalloc.
39357         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
39358         exit.
39359
39360         tests: avoid some compiler warnings
39361         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
39362         literals.
39363         * tests/test-memchr.c (main): Avoid type mismatch.
39364         * tests/test-arpa_inet.c (main): Avoid unused parameters.
39365         * tests/test-base64.c (main): Likewise.
39366         * tests/test-getdelim.c (main): Likewise.
39367         * tests/test-gethostname.c (main): Likewise.
39368         * tests/test-getline.c (main): Likewise.
39369         * tests/test-netinet_in.c (main): Likewise.
39370         * tests/test-select.c (open_server_socket, main): Likewise.
39371         * tests/test-select-stdin.c (main): Likewise.
39372         * tests/test-sockets.c (main): Likewise.
39373         * tests/test-strsignal.c (main): Likewise.
39374         * tests/test-sys_select.c (main): Likewise.
39375         * tests/test-sys_socket.c (main): Likewise.
39376         * tests/test-u64.c (main): Likewise.
39377         * tests/test-xfprintf-posix.c (main): Likewise.
39378         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
39379
39380         sockets: avoid compiler warning
39381         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
39382
39383         maint: detect usage(1) and other suspicious exits
39384         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
39385
39386 2009-10-29  Jim Meyering  <meyering@redhat.com>
39387
39388         timespec: long-to-int truncation could make timespec_cmp malfunction
39389         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
39390         a multiple of 2^32 nanoseconds as no difference.
39391
39392 2009-10-28  Jim Meyering  <meyering@redhat.com>
39393
39394         fprintftime: wrap macro code argument in "do {...} while(0)"
39395         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
39396         cpy macro must be a statement that can be followed by a semicolon.
39397         Now that the else clause contains a comment and is hence longer
39398         than one line, I require curly braces.  That in turn requires
39399         that we wrap this code block in the standard do...while(0).
39400
39401         fprintftime: remove stray semicolon from previous change
39402         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
39403
39404         fprintftime: avoid a warning about ignored fwrite return value
39405         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
39406         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
39407         that is unsafe.
39408         * modules/fprintftime (Depends-on): Add ignore-value.
39409
39410         exclude: avoid an unwarranted warning
39411         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
39412
39413 2009-10-27  Eric Blake  <ebb9@byu.net>
39414
39415         fseek: avoid compilation failure when fflush is replaced
39416         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
39417         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
39418         module is in use.
39419         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
39420         module is not in use; since REPLACE_FSEEK worked otherwise.
39421         (GNULIB_FTELLO): Likewise for ftell.
39422         Reported by Ian Beckwith and others.
39423
39424 2009-10-27  Bruno Haible  <bruno@clisp.org>
39425
39426         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
39427         Reported by Jim Meyering.
39428
39429 2009-10-27  Jim Meyering  <jim@meyering.net>
39430             Bruno Haible  <bruno@clisp.org>
39431
39432         Avoid warning despite dropping the return value of fwrite.
39433         * lib/unicodeio.c: Include ignore-value.h.
39434         (fwrite_success_callback): Explicitly ignore fwrite's return value.
39435         * modules/unicodeio (Depends-on): Add ignore-value.
39436
39437 2009-10-26  Eric Blake  <ebb9@byu.net>
39438
39439         areadlinkat: fix fallback path
39440         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
39441         pointer and zero.
39442
39443 2009-10-22  Pádraig Brady  <P@draigBrady.com>
39444
39445         Use a better IO block size for modern systems
39446         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
39447         * lib/md2.c: Likewise.
39448         * lib/md4.c: Likewise.
39449         * lib/md5.c: Likewise.
39450         * lib/sha1.c: Likewise.
39451         * lib/sha256.c: Likewise.
39452         * lib/sha512.c: Likewise.
39453
39454 2009-10-22  Eric Blake  <ebb9@byu.net>
39455
39456         tests: avoid several compiler warnings
39457         * tests/test-getcwd.c (main): Avoid buffer underflow.
39458         * tests/test-getdate.c (main): String literals are not safe with
39459         putenv, so use setenv.  Declare unused argument.
39460         * modules/getdate-tests (Depends-on): Add setenv.
39461         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
39462         problems with string literals in char *.
39463         * tests/test-hash.c (main): Avoid shadowing declaration.
39464         (insert_new): Treat string literals as char const *.
39465         * tests/test-getopt.h (test_getopt): Likewise.
39466         (getopt_loop): Alter types to minimize casting elsewhere.
39467         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
39468         (test_getopt_long_posix): Likewise.
39469         (do_getopt_long): Add wrapper to minimize casting.
39470         * tests/test-atexit.c (clear_temp_file): Use void.
39471         * tests/test-areadlink-with-size.c (main): Declare unused
39472         arguments.
39473         * tests/test-areadlink.c (main): Likewise.
39474         * tests/test-areadlinkat-with-size.c (main): Likewise.
39475         * tests/test-areadlinkat.c (main): Likewise.
39476         * tests/test-canonicalize-lgpl.c (main): Likewise.
39477         * tests/test-canonicalize.c (main): Likewise.
39478         * tests/test-dirent-safer.c (main): Likewise.
39479         * tests/test-dirname.c (main): Likewise.
39480         * tests/test-dup2.c (main): Likewise.
39481         * tests/test-fchdir.c (main): Likewise.
39482         * tests/test-fcntl-h.c (main): Likewise.
39483         * tests/test-fcntl-safer.c (main): Likewise.
39484         * tests/test-fdopendir.c (main): Likewise.
39485         * tests/test-fdutimensat.c (main): Likewise.
39486         * tests/test-fflush.c (main): Likewise.
39487         * tests/test-filenamecat.c (main): Likewise.
39488         * tests/test-filevercmp.c (main): Likewise.
39489         * tests/test-fopen-safer.c (main): Likewise.
39490         * tests/test-fopen.c (main): Likewise.
39491         * tests/test-fpending.c (main): Likewise.
39492         * tests/test-fpurge.c (main): Likewise.
39493         * tests/test-freading.c (main): Likewise.
39494         * tests/test-fstatat.c (main): Likewise.
39495         * tests/test-fsync.c (main): Likewise.
39496         * tests/test-futimens.c (main): Likewise.
39497         * tests/test-getndelim2.c (main): Likewise.
39498         * tests/test-gettimeofday.c (main): Likewise.
39499         * tests/test-getopt.c (main): Likewise.
39500         * tests/test-i-ring.c (main): Likewise.
39501         * tests/test-inttypes.c (main): Likewise.
39502         * tests/test-link.c (main): Likewise.
39503         * tests/test-lstat.c (main): Likewise.
39504         * tests/test-math.c (main): Likewise.
39505         * tests/test-md5.c (main): Likewise.
39506         * tests/test-memchr2.c (main): Likewise.
39507         * tests/test-memrchr.c (main): Likewise.
39508         * tests/test-mkdir.c (main): Likewise.
39509         * tests/test-mkdirat.c (main): Likewise.
39510         * tests/test-mkfifoat.c (main): Likewise.
39511         * tests/test-open.c (main): Likewise.
39512         * tests/test-openat-safer.c (main): Likewise.
39513         * tests/test-openat.c (main): Likewise.
39514         * tests/test-quotearg.c (main): Likewise.
39515         * tests/test-rawmemchr.c (main): Likewise.
39516         * tests/test-readlink.c (main): Likewise.
39517         * tests/test-remove.c (main): Likewise.
39518         * tests/test-rename.c (main): Likewise.
39519         * tests/test-renameat.c (main): Likewise.
39520         * tests/test-rmdir.c (main): Likewise.
39521         * tests/test-sha1.c (main): Likewise.
39522         * tests/test-signal.c (main): Likewise.
39523         * tests/test-sigaction.c (main): Likewise.
39524         * tests/test-stat.c (main): Likewise.
39525         * tests/test-stat-time.c (main): Likewise.
39526         * tests/test-stddef.c (main): Likewise.
39527         * tests/test-stdint.c (main): Likewise.
39528         * tests/test-stdio.c (main): Likewise.
39529         * tests/test-stdlib.c (main): Likewise.
39530         * tests/test-strchrnul.c (main): Likewise.
39531         * tests/test-strerror.c (main): Likewise.
39532         * tests/test-string.c (main): Likewise.
39533         * tests/test-strtod.c (main): Likewise.
39534         * tests/test-strverscmp.c (main): Likewise.
39535         * tests/test-symlink.c (main): Likewise.
39536         * tests/test-symlinkat.c (main): Likewise.
39537         * tests/test-sys_stat.c (main): Likewise.
39538         * tests/test-sys_time.c (main): Likewise.
39539         * tests/test-time.c (main): Likewise.
39540         * tests/test-unistd.c (main): Likewise.
39541         * tests/test-unlink.c (main): Likewise.
39542         * tests/test-unlinkat.c (main): Likewise.
39543         * tests/test-utimens.c (main): Likewise.
39544         * tests/test-utimensat.c (main): Likewise.
39545         * tests/test-version-etc.c (main): Likewise.
39546         * tests/test-wchar.c (main): Likewise.
39547         * tests/test-wctype.c (main): Likewise.
39548         * tests/test-xprintf-posix.c (main): Likewise.
39549         * tests/test-posixtm.c (main): Likewise.
39550         (STREQ): Delete unused macro.
39551         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
39552         shadowed variables.
39553         * tests/test-memchr.c (main): Likewise.
39554
39555 2009-10-21  Eric Blake  <ebb9@byu.net>
39556
39557         areadlinkat: avoid failure on older glibc
39558         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
39559         rather than mis-comparing 0 against FUNC_RESULT of char*.
39560
39561 2009-10-21  Bruno Haible  <bruno@clisp.org>
39562
39563         * modules/stpncpy (License): Relicense under LGPLv2+.
39564         Reported by David Lutterkort <lutter@redhat.com>.
39565
39566 2009-10-20  Eric Blake  <ebb9@byu.net>
39567
39568         utimensat: work around Solaris 9 bug
39569         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
39570         has trailing slash bugs.
39571         * tests/test-lutimens.h (test_lutimens): Enhance test.
39572         * tests/test-utimens.h (test_utimens): Likewise.
39573         * doc/posix-functions/utime.texi (utime): Enhance documentation.
39574         * doc/posix-functions/utimes.texi (utimes): Likewise.
39575         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39576         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
39577         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
39578         * doc/posix-functions/futimens.texi (futimens): Likewise.
39579
39580         fdutimensat: new module
39581         * modules/fdutimensat: New file.
39582         * lib/fdutimensat.c (fdutimensat): Likewise.
39583         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
39584         * MODULES.html.sh (File system functions): Mention module.
39585         * modules/fdutimensat-tests: New test.
39586         * tests/test-fdutimensat.c: Likewise.
39587
39588         doc: regenerate INSTALL
39589         * doc/INSTALL: Reflect recent autoconf update.
39590         * doc/INSTALL.ISO: Likewise.
39591         * doc/INSTALL.UTF-8: Likewise.
39592
39593 2009-10-20  Pádraig Brady  <P@draigBrady.com>
39594
39595         acl: warn if ACL support is not detected
39596         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
39597
39598 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
39599
39600         * lib/nproc.h: Add extern "C" block for C++.
39601
39602 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
39603             Bruno Haible  <bruno@clisp.org>
39604
39605         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
39606         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
39607         * doc/posix-functions/isalpha.texi: Likewise.
39608         * doc/posix-functions/isblank.texi: Likewise.
39609         * doc/posix-functions/iscntrl.texi: Likewise.
39610         * doc/posix-functions/isdigit.texi: Likewise.
39611         * doc/posix-functions/isgraph.texi: Likewise.
39612         * doc/posix-functions/islower.texi: Likewise.
39613         * doc/posix-functions/isprint.texi: Likewise.
39614         * doc/posix-functions/ispunct.texi: Likewise.
39615         * doc/posix-functions/isspace.texi: Likewise.
39616         * doc/posix-functions/isupper.texi: Likewise.
39617         * doc/posix-functions/isxdigit.texi: Likewise.
39618
39619 2009-10-18  Bruno Haible  <bruno@clisp.org>
39620
39621         Tests for module 'isblank'.
39622         * modules/isblank-tests: New file.
39623         * tests/test-isblank.c: New file.
39624
39625         New module 'isblank'.
39626         * lib/isblank.c: New file.
39627         * m4/isblank.m4: New file.
39628         * modules/isblank: New file.
39629         * doc/posix-functions/isblank.texi: Mention the new module.
39630
39631 2009-10-18  Bruno Haible  <bruno@clisp.org>
39632
39633         New module 'ctype'.
39634         * lib/ctype.in.h: New file.
39635         * m4/ctype.m4: New file.
39636         * modules/ctype: New file.
39637         * doc/posix-headers/ctype.texi: Mention the new module.
39638
39639 2009-10-18  Jim Meyering  <meyering@redhat.com>
39640
39641         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
39642         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
39643         right after its initialization, rather than farther down.
39644         Keeping these in close proximity makes it easier to ensure
39645         that each such variable is initialized.  E.g.,
39646
39647             LIB_CLOCK_GETTIME=
39648             AC_SUBST([LIB_CLOCK_GETTIME])
39649
39650         This change also increments these serial numbers.
39651         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
39652         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39653         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39654
39655 2009-10-18  Bruno Haible  <bruno@clisp.org>
39656
39657         Don't let environment variables perturb build.
39658         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
39659         (gl_PREREQ_GETHRXTIME): ... not here.
39660
39661 2009-10-18  Bruno Haible  <bruno@clisp.org>
39662
39663         Avoid symlink attack in localcharset module.
39664         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
39665         (O_NOFOLLOW): Define fallback.
39666         (get_charset_aliases): Don't open the file if it is a symbolic link.
39667         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
39668         gl_FCNTL_H.
39669         (gl_FCNTL_H): Require it.
39670         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
39671         * modules/localcharset (Files): Add m4/fcntl_h.m4.
39672         Reported by Fergal Glynn <fglynn@veracode.com>.
39673
39674 2009-10-18  Bruno Haible  <bruno@clisp.org>
39675
39676         Implement nproc for mingw.
39677         * lib/nproc.c: Include <windows.h>
39678         (num_processors): On native Windows platforms, try GetSystemInfo.
39679
39680 2009-10-18  Bruno Haible  <bruno@clisp.org>
39681
39682         Implement nproc for IRIX.
39683         * lib/nproc.c: Include <sys/sysmp.h>.
39684         (num_processors): On IRIX systems, try sysmp.
39685         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
39686
39687 2009-10-18  Bruno Haible  <bruno@clisp.org>
39688
39689         Implement nproc for HP-UX.
39690         * lib/nproc.c: Include <sys/pstat.h>
39691         (num_processors): On HP-UX systems, try pstat_getdynamic.
39692         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
39693         pstat_getdynamic.
39694
39695 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
39696             Bruno Haible  <bruno@clisp.org>
39697
39698         Implement nproc for NetBSD, OpenBSD.
39699         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
39700         (ARRAY_SIZE): New macro.
39701         (num_processors): On BSD systems, try sysctl of HW_NCPU.
39702         * m4/nproc.m4: New file.
39703         * modules/nproc (Files): Add m4/nproc.m4.
39704         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
39705         (Makefile.am): Instead, augment lib_SOURCES.
39706
39707 2009-10-18  Bruno Haible  <bruno@clisp.org>
39708
39709         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
39710         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
39711         sys/param.h.
39712
39713 2009-10-16  Eric Blake  <ebb9@byu.net>
39714
39715         utimensat: new module
39716         * modules/utimensat: New file.
39717         * lib/utimensat.c (utimensat): Likewise.
39718         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39719         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
39720         so we can work around Linux bugs.
39721         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39722         * modules/sys_stat (Makefile.am): Substitute them.
39723         * lib/sys_stat.in.h (utimensat): Declare it.
39724         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39725         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39726         * modules/utimensat-tests: New test.
39727         * tests/test-utimensat.c: Likewise.
39728
39729         utimens: let lutimens work on non-symlinks
39730         * lib/utimens.c (lutimens): Fall back to utimens rather than
39731         failing with ENOSYS, when file is not a symlink.
39732         (utimens): Reduce redirection.
39733         * tests/test-lutimens.h (test_lutimens): Update test to cover
39734         non-symlinks.
39735         * tests/test-utimens.h (test_utimens): Update test to cover
39736         symlinks.
39737         * tests/test-utimens.c (main): Update caller.
39738
39739         utimens: cache whether utimensat syscall works
39740         * lib/utimens.c (utimensat_works_really): New cache variable.
39741         (fdutimens, lutimens): Use it to avoid failing syscall.
39742
39743         test-stat-time, test-utimens: improve portability
39744         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
39745         ext4 on alpha, and for cygwin.
39746         * tests/test-utimens-common.h: New file.
39747         (nap): Factor delays into single function.
39748         * tests/test-lutimens.h (test_lutimens): Use new header.
39749         * tests/test-futimens.h (test_futimens): Likewise.
39750         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
39751         timestamps to occur from same machine, as was done previously for
39752         test_utimens.
39753         * modules/utimens-tests (Files): Ship new file.
39754         * modules/futimens-tests (Files): Likewise.
39755         Reported in part by Jim Meyering.
39756
39757         sys_stat: sort replacement declarations
39758         * lib/sys_stat.in.h: Sort declarations.
39759         * lib/futimens.c (futimens): Fix typo.
39760
39761 2009-10-15  Jim Meyering  <meyering@redhat.com>
39762
39763         don't let environment settings perturb build
39764         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
39765         could cause a configure-time and/or build-time malfunction.
39766         Typically, a configure-time function-in-library test is performed
39767         via code like this:
39768
39769           LIB_VAR=
39770           AC_SUBST([LIB_VAR])
39771           prefix_saved_LIBS=$LIBS
39772             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
39773                        [test "$ac_cv_search_FUNC" = "none required" ||
39774                         LIB_VAR=$ac_cv_search_FUNC])
39775           LIBS=$prefix_saved_LIBS
39776
39777         However, in each of the files affected by this change, the LIB_VAR=
39778         initialization was omitted.  Thus, when set in the environment, its
39779         value would propagate into generated Makefiles when FUNC is not found
39780         in LIB_NAME.
39781         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
39782         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39783         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39784
39785 2009-10-14  Eric Blake  <ebb9@byu.net>
39786
39787         fchdir: avoid infinite recursion in mingw
39788         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
39789         recursing.
39790
39791         test-stat-time: port to mingw
39792         * tests/test-stat-time.c (force_unlink): Return a value.
39793         (test_ctime) [W32]: Fix compilation error.
39794         (nap): Don't call usleep with too large an argument.  Use
39795         force_unlink.
39796         * doc/pastposix-functions/usleep.texi (usleep): Document the
39797         portability issue.
39798
39799 2009-10-13  Jim Meyering  <meyering@redhat.com>
39800
39801         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
39802         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
39803         * modules/pipe-filter-ii: Likewise.
39804         * modules/sys_socket-tests: Likewise.
39805         * modules/tsearch-tests: Likewise.
39806         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
39807         (check): Depend on it.
39808
39809 2009-10-12  Eric Blake  <ebb9@byu.net>
39810
39811         utimens-tests: port to NFS file systems
39812         * tests/test-utimens.h (test_utimens): Refactor utimecmp
39813         comparisons to avoid spurious failures from timestamp drift
39814         between NFS machines.
39815
39816 2009-10-12  Eric Blake  <ebb9@byu.net>
39817
39818         stat-time-tests: minor cleanups
39819         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
39820         * tests/test-stat-time.c (nap): Separate assignment from call.
39821         Suggested by Paolo Bonzini and Bruno Haible.
39822
39823         sys_stat: guarantee struct timespec
39824         * lib/sys_stat.in.h (includes): Always include <time.h>
39825         * modules/sys_stat (Depends-on): Add time.
39826         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
39827         mode_t permission values.
39828         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
39829         get at subsecond timestamps.
39830
39831 2009-10-10  Eric Blake  <ebb9@byu.net>
39832
39833         futimens: new module
39834         * modules/futimens: New file.
39835         * lib/futimens.c (futimens): Likewise.
39836         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
39837         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
39838         we can work around Linux bugs.
39839         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39840         * modules/sys_stat (Makefile.am): Substitute them.
39841         * lib/sys_stat.in.h (futimens): Declare it.
39842         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39843         * doc/posix-functions/futimens.texi (futimens): Likewise.
39844         * modules/futimens-tests: New test.
39845         * tests/test-futimens.c: Likewise.
39846
39847         utimens: introduce fdutimens
39848         * lib/utimens.h (fdutimens): New prototype.
39849         * lib/utimens.c (gl_futimens): Move guts...
39850         (fdutimens): ...to new interface.
39851         * tests/test-utimens.c (do_fdutimens): Use it.
39852
39853         utimens: add UTIME_NOW and UTIME_OMIT support
39854         * lib/utimens.c (validate_timespec, update_timespec): New helper
39855         functions.
39856         (gl_futimens, lutimens): Use them.
39857         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
39858         stdbool, sys_stat.
39859         (Link): Mention resulting library dependency.
39860         * modules/utimecmp (Link): Likewise.
39861         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
39862         (Makefile.am): Pick up library dependency.
39863         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
39864         definition.
39865         * tests/test-sys_stat.c: Test the definitions.
39866         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
39867         * NEWS: Document library dependency.
39868
39869         utimecmp: support symlink timestamps
39870         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
39871         hashing when possible.  Use pathconf when available.
39872         (SYSCALL_RESOLUTION): Recognize tighter resolution.
39873         * modules/utimecmp (Depends-on): Add lstat.
39874
39875         utimens: add lutimens interface
39876         * lib/utimens.c (lutimens): New function.
39877         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
39878         * lib/utimens.h (lutimens): Declare new interface.
39879         * tests/test-utimens.c (main): Enhance test.
39880         * tests/test-lutimens.h (test_lutimens): New file.
39881         * modules/utimens-tests (Files): Distribute it.
39882         (Depends-on): Add symlink.
39883         (configure.ac): Check for usleep.
39884
39885         utimens: validate futimens usage
39886         * lib/utimens.c (gl_futimens): Require valid fd up front, using
39887         fewer syscalls on failure later on.  Avoid compiler warning on
39888         mingw.
39889         * modules/utimens (Depends-on): Add dup2.
39890
39891         utimens: add test
39892         * modules/utimens-tests: New test.
39893         * tests/test-utimens.h: New file.
39894         * tests/test-futimens.h: Likewise.
39895         * tests/test-utimens.c: Likewise.
39896
39897         doc: mention timestamp portability issues
39898         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
39899         instead.
39900         * doc/posix-functions/utime.texi (utime): Likewise.
39901         * doc/posix-functions/utimes.texi (utimes): Likewise.
39902         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
39903         instead.
39904         * doc/posix-functions/futimens.texi (futimens): Mention utimens
39905         module.
39906         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39907         Mention weakness with symlink timestamps.
39908         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
39909         to utimensat/futimens instead.
39910         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
39911
39912         test-dup2: enhance test
39913         * tests/test-dup2.c (main): Also check AT_FDCWD.
39914
39915         test-stat-time: avoid more spurious failures
39916         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
39917         xfs; and avoid race if the two timestamps cross quantization edge.
39918
39919         relocatable: prefer 'file system' over 'filesystem'
39920         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
39921         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
39922         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
39923         * doc/relocatable.texi (Enabling Relocatability): Likewise.
39924         * lib/relocatable.c (compute_curr_prefix): Likewise.
39925
39926 2009-10-10  Jim Meyering  <meyering@redhat.com>
39927
39928         stat-time-tests: check for the usleep function
39929         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
39930
39931 2009-10-10  Bruno Haible  <bruno@clisp.org>
39932
39933         * modules/xnanosleep: Put the Link section after the Include section.
39934
39935 2009-10-09  Eric Blake  <ebb9@byu.net>
39936
39937         dup2: work around FreeBSD 6.1 bug
39938         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
39939         * doc/posix-functions/dup2.texi (dup2): Document it.
39940         Reported by Nelson H. F. Beebe and Jim Meyering.
39941
39942         test-stat-time: port to buggy NFS clients
39943         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
39944         (test_ctime): Also skip test if mtime and ctime are skewed.
39945
39946         maint: prefer 'file system' over 'filesystem'
39947         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39948         * doc/posix-functions/lstat.texi (lstat): Likewise.
39949         * lib/file-has-acl.c (file_has_acl): Likewise.
39950         * lib/fwriteerror.c [TEST]: Likewise.
39951         * tests/test-areadlink.h (test_areadlink): Likewise.
39952         * tests/test-areadlinkat-with-size.c (main): Likewise.
39953         * tests/test-areadlinkat.c (main): Likewise.
39954         * tests/test-canonicalize-lgpl.c (main): Likewise.
39955         * tests/test-canonicalize.c (main): Likewise.
39956         * tests/test-fstatat.c (main): Likewise.
39957         * tests/test-linkat.c (main): Likewise.
39958         * tests/test-lstat.h (test_lstat_func): Likewise.
39959         * tests/test-mkdir.h (test_mkdir): Likewise.
39960         * tests/test-readlink.h (test_readlink): Likewise.
39961         * tests/test-remove.c (main): Likewise.
39962         * tests/test-rename.h (test_rename): Likewise.
39963         * tests/test-renameat.c (main): Likewise.
39964         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39965         * tests/test-symlink.h (test_symlink): Likewise.
39966         * tests/test-symlinkat.c (main): Likewise.
39967         * tests/test-unlink.h (test_unlink_func): Likewise.
39968         * tests/test-unlinkat.c (main): Likewise.
39969
39970         maint: make realtime library usage explicit
39971         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
39972         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
39973         * modules/settime (Link): Likewise.
39974         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
39975
39976         test-stat-time: speed up execution
39977         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
39978         warning on mingw.
39979         (nap): New helper function.
39980         (prepare_test): Use it to reduce sleep time.
39981         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
39982         execution.
39983         * modules/stat-time-tests (configure.ac): Check for usleep.
39984
39985 2009-10-09  Jim Meyering  <meyering@redhat.com>
39986
39987         selinux-h: always use getfilecon wrappers
39988         * lib/getfilecon.c: New file.
39989         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
39990         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
39991         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
39992         (fgetfilecon): Provide a stub.
39993         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
39994         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
39995         file unconditionally.
39996         When <selinux/selinux.h> is found, arrange to use wrappers.
39997         * modules/selinux-h (Files): Add getfilecon.c.
39998         (Makefile.am): Substitute include-next-related bits
39999         into the now-always-generated selinux/selinux.h file.
40000         * doc/glibc-functions/lgetfilecon.texi: New file.
40001         * doc/glibc-functions/fgetfilecon.texi: New file.
40002         * doc/glibc-functions/getfilecon.texi: New file.
40003         * doc/glibc-functions/getfilecon-desc.texi: New file.
40004         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40005         which to pull in the new files.
40006         * MODULES.html.sh (Misc): Add selinux-h.
40007
40008 2009-10-08  Jim Meyering  <meyering@redhat.com>
40009
40010         unistd: fix comment typo
40011         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40012
40013 2009-10-08  Eric Blake  <ebb9@byu.net>
40014
40015         areadlink: use SIZE_MAX consistently
40016         * modules/areadlink (Depends-on): Add stdint.
40017         * modules/areadlink-with-size (Depends-on): Likewise.
40018         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40019         gives NULL; drop sys/types, since unistd gives size_t; and add
40020         stdint for SIZE_MAX.
40021         (SIZE_MAX): Rely on headers.
40022         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40023         and add stdint.
40024         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40025         (SIZE_MAX): Likewise.
40026         (INITIAL_BUF_SIZE): Turn into enum.
40027         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40028
40029 2009-10-08  Jim Meyering  <meyering@redhat.com>
40030
40031         areadlinkat: avoid compilation failure
40032         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40033         Fix typo in comment.
40034
40035 2009-10-07  Eric Blake  <ebb9@byu.net>
40036
40037         areadlinkat-with-size: new module
40038         * modules/areadlinkat-with-size: New module.
40039         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40040         * lib/areadlink.h (areadlinkat): Declare it.
40041         * MODULES.html.sh (File system functions): Mention it.
40042         * modules/areadlinkat-with-size-tests: New test.
40043         * tests/test-areadlinkat-with-size.c: New file.
40044
40045         xreadlinkat: new module
40046         * modules/xreadlinkat: New module.
40047         * lib/xreadlinkat.c (xreadlinkat): New file.
40048         * lib/xreadlink.h (xreadlinkat): Declare it.
40049         * MODULES.html.sh (File system functions): Mention it.
40050
40051         areadlinkat: new module
40052         * lib/at-func.c (FUNC_FAIL): New define.
40053         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40054         * modules/areadlinkat: New module.
40055         * lib/linkat.c (areadlinkat): Move...
40056         * lib/areadlinkat.c (areadlinkat): ...to new file.
40057         * lib/areadlink.h (areadlinkat): Declare it.
40058         * modules/linkat (Depends-on): Add areadlinkat.
40059         * MODULES.html.sh (File system functions): Mention it.
40060         * modules/areadlinkat-tests: New test.
40061         * tests/test-areadlinkat.c: New file.
40062
40063         areadlink, areadlink-with-size: add tests
40064         * modules/areadlink-tests: New test.
40065         * modules/areadlink-with-size-tests: Likewise.
40066         * tests/test-areadlink.h: New file.
40067         * tests/test-areadlink.c: Likewise.
40068         * tests/test-areadlink-with-size.c: Likewise.
40069
40070         maint: minor cleanups
40071         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40072         _UNUSED_PARAMETER_ instead.
40073         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40074         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40075         * modules/linkat-tests (Files): Distribute test-link.h.
40076
40077         openat, utimens: whitespace cleanup
40078         * lib/openat.c: Prefer space throughout, rather than mix of 8
40079         spaces vs. tabs.
40080         * lib/at-func.c: Likewise.
40081         * lib/utimens.c: Likewise.
40082
40083         openat: avoid using wrong fd
40084         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40085         working directory chooses same fd.
40086         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40087
40088         mkdir, mkdirat: fix cygwin 1.5.x bug
40089         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40090         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40091         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40092         bug.
40093         (gl_PREREQ_MKDIR): Delete unused macro.
40094         * modules/mkdir (Files): Track file rename.
40095         (configure.ac): Update macro name.
40096         * modules/openat (Depends-on): Add mkdir.
40097         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
40098
40099         mkdir, mkdirat: add tests
40100         * modules/mkdir-tests: New test.
40101         * tests/test-mkdir.h: New file.
40102         * tests/test-mkdir.c: Likewise.
40103         * tests/test-mkdirat.c: Likewise.
40104         * modules/openat-tests (Files): Add new files.
40105         (Makefile.am): Run new test.
40106
40107 2009-10-06  Eric Blake  <ebb9@byu.net>
40108
40109         doc: tweak *at function documentation
40110         * doc/posix-functions/faccessat.texi (faccessat): Mention
40111         known issue with replacement.
40112         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
40113         * doc/posix-functions/linkat.texi (linkat): Likewise.
40114         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40115         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40116         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40117         * doc/posix-functions/renameat.texi (renameat): Likewise.
40118         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40119
40120         openat: fix GNU/Hurd bug in unlinkat
40121         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
40122         broken.
40123         * doc/posix-functions/unlink.texi (unlink): Document this.
40124         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
40125
40126         fdopendir: fix GNU/Hurd bug
40127         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
40128         allowing non-directory fds.
40129         * lib/fdopendir.c (rpl_fdopendir): Work around it.
40130         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
40131         * modules/dirent (Makefile.am): Substitute it.
40132         * lib/dirent.in.h (fdopendir): Declare replacement.
40133         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
40134         * tests/test-fdopendir.c (main): Test something other than
40135         /dev/null, since on Hurd that behaves like a directory.
40136
40137         test-symlink: port to GNU/Hurd
40138         * tests/test-symlink.h (test_symlink): Relax expected errno.
40139
40140         doc: tweak more cygwin information
40141         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
40142         now compatible with glibc.
40143         * doc/posix-functions/getopt.texi (getopt): Likewise.
40144
40145         getopt-gnu: add another test
40146         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
40147         guarantee behavior relied on by m4.
40148         * tests/test-getopt.c (main): Use it.
40149         * modules/getopt-posix-tests (Depends-on): Add setenv.
40150         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
40151
40152         getopt: fix compilation on darwin
40153         * lib/getopt.in.h (includes): Leave breadcrumbs during system
40154         include.
40155         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
40156         Reported by Ludovic Courtès.
40157
40158 2009-10-06  Bruno Haible  <bruno@clisp.org>
40159
40160         * modules/size_max (Description): Discourage its use.
40161         Reported by Simon Josefsson.
40162
40163 2009-10-06  Jim Meyering  <meyering@redhat.com>
40164
40165         linkat: avoid compilation failure
40166         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
40167
40168 2009-10-05  Eric Blake  <ebb9@byu.net>
40169
40170         linkat: support Linux 2.6.17
40171         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
40172         linkat on Linux, but allow cache variable override.
40173         * lib/linkat.c (rpl_linkat): Define override.
40174         * modules/linkat (Depends-on): Add symlinkat.
40175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
40176         * modules/unistd (Makefile.am): Substitute it.
40177         * lib/unistd.in.h (linkat): Declare replacement.
40178         Reported by Pádraig Brady.
40179
40180         quotearg: port test to systems with C.UTF-8 locale
40181         * tests/test-quotearg.c (struct result_strings): Add another
40182         member, differentiating between C.ASCII and C.UTF-8 handling.
40183         (compare_strings): Add parameter.
40184         (main): Adjust all callers.
40185
40186         getopt: avoid clash with FreeBSD _getopt_internal
40187         * lib/getopt.in.h (_getopt_internal): Override the name.
40188         * lib/getopt_int.h (includes): Pick up any overrides.
40189         Reported by Reuben Thomas.
40190
40191         hash: allow C89 compilation
40192         * lib/hash.c (check_tuning): Move declaration before statement.
40193         Reported by Reuben Thomas.
40194
40195 2009-10-05  Karl Berry  <karl@gnu.org>
40196
40197         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
40198
40199 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
40200             Bruno Haible  <bruno@clisp.org>
40201
40202         * lib/uname.c (uname): Use a table-driven algorithm to compute
40203         Windows NT versions.
40204
40205 2009-10-04  Bruno Haible  <bruno@clisp.org>
40206
40207         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
40208         program_invocation_short_name.
40209         * modules/progname (configure.ac): Test for presence of
40210         program_invocation_short_name.
40211         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
40212
40213 2009-10-04  Bruno Haible  <bruno@clisp.org>
40214
40215         * lib/progname.c (set_program_name): Fix comment.
40216         Reported by Jim Meyering.
40217
40218 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40219             Bruno Haible  <bruno@clisp.org>
40220
40221         * lib/uname.c: Include <string.h>.
40222         (uname): Do only one call to GetVersionEx in the common case.
40223
40224 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40225             Bruno Haible  <bruno@clisp.org>
40226
40227         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
40228         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
40229         (uname): Add support for Windows CE and various non-x86 CPU types.
40230
40231 2009-10-03  Bruno Haible  <bruno@clisp.org>
40232
40233         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
40234         invocation to tests/configure.ac.
40235         Reported by Ian Beckwith <ianb@erislabs.net>.
40236
40237 2009-10-02  Eric Blake  <ebb9@byu.net>
40238
40239         fchdir: avoid compiler warning
40240         * lib/fchdir.c (canonicalize_file_name)
40241         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
40242
40243         test-open: support mingw errno values
40244         * tests/test-open.h (test_open): Relax test.
40245         * tests/test-fopen.h (test_fopen): Likewise.
40246         * tests/test-openat-safer.c (main): Likewise.
40247
40248         open: fix opening directory on mingw
40249         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
40250
40251         test-open: on GNU/Hurd, /dev/null is a directory
40252         * tests/test-fopen.h (main): Rename...
40253         (test_fopen): ...to this.  Use a guaranteed non-directory when
40254         confirming open behavior on trailing slash.
40255         * tests/test-openat-safer.c (main): Likewise.
40256         * tests/test-open.h (main): Likewise....
40257         (test_open): ...to this.
40258         * tests/test-fopen.c (main): Adjust caller.
40259         * tests/test-fopen-safer.c (main): Likewise.
40260         * tests/test-open.c (main): Likewise.
40261         * tests/test-fcntl-safer.c (main): Likewise.
40262         Reported by Samuel Thibault.
40263
40264         rename, fchdir: don't ignore chdir failure
40265         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
40266         * lib/rename.c (rpl_rename) [W32]: Likewise.
40267         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
40268         an empty destination directory if source cannot be renamed,
40269         although there is still possibility for failure.
40270         * doc/posix-functions/rename.texi (rename): Document the race.
40271         Reported by Jim Meyering.
40272
40273         maint: cleanup whitespace in recent commits
40274         * lib/rename.c (rpl_rename): Remove tabs.
40275         * tests/test-link.h (test_link): Likewise.
40276         * lib/fchdir.c (get_name): Likewise.
40277         Reported by Jim Meyering.
40278
40279 2009-10-02  Ben Pfaff  <blp@gnu.org>
40280
40281         relocatable-prog-wrapper: Add missing dependency on
40282         double-slash-root.
40283         * modules/relocatable-prog-wrapper: Add dependency.
40284         Reported by Ian Beckwith <ianb@erislabs.net>.
40285
40286 2009-10-02  Eric Blake  <ebb9@byu.net>
40287
40288         renameat: fix Solaris bugs
40289         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
40290         needed fixing.
40291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
40292         * modules/stdio (Makefile.am): Substitute it.
40293         * lib/stdio.in.h (renameat): Declare replacement.
40294         * lib/renameat.c (rpl_renameat): Implement fix.
40295
40296         renameat: new module
40297         * modules/renameat: New file.
40298         * lib/renameat.c (renameat): Likewise.
40299         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
40300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40301         * modules/stdio (Makefile.am): Substitute them.
40302         * lib/stdio.in.h (renameat): Declare it.
40303         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40304         * doc/posix-functions/renameat.texi (renameat): Likewise.
40305         * modules/renameat-tests: New test.
40306         * tests/test-renameat.c: Likewise.
40307
40308         rename: fix mingw bugs
40309         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
40310         directory overwrite bugs.
40311
40312         rename: fix another cygwin 1.5 bug
40313         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
40314         checks.
40315         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
40316         unnecessary cygwin workarounds.  Also work around bug with moving
40317         full directory onto an empty one.
40318         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
40319
40320         rename-dest-slash: merge into rename module
40321         * modules/rename-dest-slash (Status): Mark obsolete.
40322         (Depends-on): Add rename.
40323         (Files): Let rename do it all.
40324         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
40325         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
40326         * m4/rename-dest-slash.m4: ...so this file can be deleted.
40327         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
40328         * lib/rename.c (rpl_rename): Update comments.
40329
40330         rename: fix cygwin 1.5.x bugs
40331         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
40332         * lib/rename.c (rpl_rename): Work around them.
40333         * modules/rename (Depends-on): Add same-inode.
40334
40335         rename: fix Solaris 10 bug
40336         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40337         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
40338         was the only bug.
40339
40340         rename: fix Solaris 9 bug
40341         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
40342         on non-directory.  Avoid calling exit.
40343         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
40344         strdup.
40345         * modules/rename-tests (Depends-on): Drop lstat.
40346         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40347         (gl_PREREQ_RENAME): Delete unused macro.
40348
40349         rename-dest-slash: fix NetBSD bug
40350         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
40351         links.
40352         * modules/rename-dest-slash (Depends-on): Add same-inode.
40353
40354         rename-tests: new test, exposes several platform bugs
40355         * modules/rename-tests: New file.
40356         * tests/test-rename.h: Likewise.
40357         * tests/test-rename.c: Likewise.
40358         * doc/posix-functions/rename.texi (rename): Improve documentation,
40359         including bugs that will eventually be fixed in gnulib.
40360
40361 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
40362
40363         * lib/uname.c: Include <stdlib.h>
40364         (uname): Assume version info is available.
40365
40366 2009-10-02  Jim Meyering  <meyering@redhat.com>
40367
40368         gnu-web-doc-update: correct --help output
40369         * build-aux/gnu-web-doc-update: Make --help output relevant.
40370
40371         gnu-web-doc-update: add standard options
40372         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
40373
40374         gnu-web-doc-update: New module.
40375         Use this script to automatically update the on-line web documentation
40376         for your GNU project at http://www.gnu.org/software/$pkg/manual/
40377         * modules/gnu-web-doc-update: New file, from coreutils.
40378         * build-aux/gnu-web-doc-update: New script.
40379
40380 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
40381
40382         link: LoadLibrary is not needed.
40383         * lib/link.c: Use GetModuleHandle.
40384
40385 2009-10-01  Eric Blake  <ebb9@byu.net>
40386
40387         getopt: bump serial number
40388         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
40389         change.
40390
40391         tests: tighten link, rmdir, and remove tests
40392         * tests/test-link.h (includes): No need to use <config.h> here.
40393         Clean up if directory hard link was created, otherwise test for
40394         trailing '.'.
40395         * tests/test-linkat.c (main): Simplify.
40396         * tests/test-remove.c (main): Enhance test for trailing '.'.
40397         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40398
40399 2009-10-01  Jim Meyering  <meyering@redhat.com>
40400
40401         maint.mk: requiring "make major" was annoying, for a "minor" release.
40402         What is intended is "stable", to contrast with alpha and beta,
40403         so require "make stable", not "make major".
40404         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
40405         (get_tool_versions): Likewise.
40406         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
40407
40408 2009-09-30  Ben Pfaff  <blp@gnu.org>
40409
40410         Fix broken build of replacement for Windows tmpfile().
40411         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
40412         flags argument added along with the 'mkostemp' module.
40413
40414 2009-09-28  Bruno Haible  <bruno@clisp.org>
40415
40416         Avoid identifier clash with POSIX function 'remove' defined as a macro.
40417         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
40418         to 'remove_elt'.
40419         (gl_list_remove): Update.
40420         * lib/gl_list.c (gl_list_remove): Update.
40421         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
40422         to 'remove_elt'.
40423         (gl_oset_remove): Update.
40424         * lib/gl_list.c (gl_oset_remove): Update.
40425         Reported by Eric Blake.
40426
40427 2009-09-28  Eric Blake  <ebb9@byu.net>
40428
40429         doc: mention yet more cygwin 1.7 status
40430         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
40431         cygwin.
40432         * doc/glibc-functions/execvpe.texi (execvpe): New file.
40433         * doc/gnulib.texi (Glibc unistd.h): Mention it.
40434
40435         argp: fix test failure
40436         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
40437         that are not upper-case.  Pass correct range to tolower.
40438
40439 2009-09-27  Jim Meyering  <meyering@redhat.com>
40440
40441         test-yesno: work around sparc-dash here-document infelicity
40442         Without this change, the literal \177 byte in a here document
40443         would make dash 0.5.5.1-3 access uninitialized memory.
40444         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
40445         Instead, use a marker, "@", and filter through tr to create the desired
40446         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
40447
40448 2009-09-27  Bruno Haible  <bruno@clisp.org>
40449
40450         Disable untested support for new flavours of ACLs on AIX.
40451         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
40452         progress.
40453         * lib/set-mode-acl.c (qset_acl): Likewise.
40454
40455 2008-12-07  Bruno Haible  <bruno@clisp.org>
40456
40457         Add support for new flavours of ACLs on AIX. (Untested.)
40458         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
40459         (file_has_acl): Add support for newer AIX.
40460         * lib/set-mode-acl.c (qset_acl): Likewise.
40461         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
40462         Rainer Tammer <tammer@tammer.net>.
40463
40464 2009-09-26  Eric Blake  <ebb9@byu.net>
40465
40466         argp: fix compilation of getopt
40467         * lib/getopt.in.h (includes): Use different guard than glibc.
40468         Reported by Sergey Poznyakoff.
40469
40470         doc: mention more cygwin 1.7 status
40471         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
40472         bug.
40473         * doc/posix-functions/execl.texi (execl): Likewise.
40474         * doc/posix-functions/execle.texi (execle): Likewise.
40475         * doc/posix-functions/execlp.texi (execlp): Likewise.
40476         * doc/posix-functions/execv.texi (execv): Likewise.
40477         * doc/posix-functions/execve.texi (execve): Likewise.
40478         * doc/posix-functions/execvp.texi (execvp): Likewise.
40479         * doc/glibc-functions/canonicalize_file_name.texi
40480         (canonicalize_file_name): Cygwin 1.7 now provides this.
40481         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
40482         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
40483         on AT_SYMLINK_NOFOLLOW.
40484
40485 2009-09-24  Eric Blake  <ebb9@byu.net>
40486
40487         test-linkat: make test more robust
40488         * tests/test-linkat.c (main): Avoid collision with EEXIST.
40489
40490         getopt: fix inclusion guards for cygwin
40491         * modules/getopt-posix (Depends-on): Add include-next.
40492         (Makefile.am): Substitute more items in replacement header.
40493         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
40494         <getopt.h>.
40495         * lib/getopt.in.h (includes): Use split inclusion guard, and
40496         prefer <getopt.h> over include <unistd.h> when one is present.
40497         (option): Also override name of 'struct option'.
40498
40499         same-inode: revert prior change; it is not yet ready
40500         * NEWS: Undo mention of this change.
40501         * lib/same-inode.h (same-inode.h): Undo tri-state change.
40502         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40503         * lib/cycle-check.c (cycle_check): Likewise.
40504         * lib/same.c (same_name): Likewise.
40505         * lib/at-func2.c (at_func2): Likewise.
40506
40507 2009-09-23  Eric Blake  <ebb9@byu.net>
40508
40509         linkat: new module
40510         * modules/linkat: New file.
40511         * lib/at-func2.c (at_func2): Likewise.
40512         * lib/linkat.c (linkat): Likewise.
40513         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
40514         * lib/openat-priv.h (at_func2): Add declaration.
40515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40516         * modules/unistd (Makefile.am): Substitute them.
40517         * lib/unistd.in.h (linkat): Declare it.
40518         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40519         * doc/posix-functions/linkat.texi (linkat): Likewise.
40520         * doc/posix-functions/link.texi (link): Tweak wording.
40521         * tests/test-link.c (main): Move guts...
40522         * tests/test-link.h (test_link): ...into new file.
40523         * modules/linkat-tests: New test.
40524         * tests/test-linkat.c: Likewise.
40525         * modules/link-tests (Files): Ship new file.
40526         (Depends-on): Add stdbool.
40527
40528         dirname: add library-safe mdir_name
40529         * lib/dirname.h (mdir_name): New prototype.
40530         * lib/dirname.c (dir_name): Move guts...
40531         (mdir_name): ...to new function that avoids xalloc_die.
40532
40533         fchdir: another mingw fix
40534         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
40535         * lib/fchdir.c (get_name): New helper method; skips canonicalize
40536         on mingw (where it has not yet been ported), and make it optional
40537         elsewhere.
40538         (_gl_register_fd): Use it.
40539
40540         same-inode: make SAME_INODE tri-state, to port to mingw
40541         * NEWS: Mention this change.
40542         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
40543         st_ino always being 0.
40544         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40545         * lib/cycle-check.c (cycle_check): Likewise.
40546         * lib/same.c (same_name): Likewise.
40547
40548         lstat: avoid mingw compilation error
40549         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
40550         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
40551         lstat ourselves.
40552         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
40553         was adequate.
40554         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
40555         the checks for lstat.
40556         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
40557
40558         link: fix test failure on Solaris 9
40559         * lib/link.c (rpl_link): Don't assume link will catch bogus
40560         trailing slash on source.
40561
40562         test-symlinkat: enhance test
40563         * tests/test-readlink.c (main): Move guts...
40564         * tests/test-readlink.h (test_readlink): ...into new file.
40565         * tests/test-symlink.c (main): Move guts...
40566         * tests/test-symlink.h (test_symlink): ...into new file.
40567         * tests/test-symlinkat.c (main): Use new files for further
40568         coverage.
40569         (do_symlink, do_readlink): New helper functions.
40570         * modules/symlink-tests (Files): Ship new file.
40571         (Depends-on): Add stdbool.
40572         * modules/readlink-tests (Files): Ship new file.
40573         (Depends-on): Add stdbool.
40574         * modules/symlinkat-tests (Files): Use new files.
40575
40576 2009-09-23  Eric Blake  <ebb9@byu.net>
40577
40578         readlink: document portability issue with symlink length
40579         * doc/posix-functions/lstat.texi (lstat): Mention that some file
40580         systems have bogus st_size on symlinks, and mention the
40581         areadlink-with-size module.
40582         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40583         * doc/posix-functions/readlink.texi (readlink): Mention the
40584         areadlink module, and ERANGE failure.
40585         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40586         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
40587
40588         readlink: fix Solaris 9 bug with trailing slash
40589         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
40590         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
40591         * doc/posix-functions/readlink.texi (readlink): Document this.
40592         * modules/readlink-tests: New test.
40593         * tests/test-readlink.c: Likewise.
40594
40595         readlink: fix cygwin 1.5.x bug with return type
40596         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
40597         * lib/unistd.in.h (readlink): Use ssize_t.
40598         * lib/readlink.c (readlink): Likewise.
40599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40600         * modules/unistd (Makefile.am): Substitute it.
40601         * lib/unistd.in.h (readlink): Declare replacement.
40602         * doc/posix-functions/readlink.texi (readlink): Document this.
40603
40604         symlink: use throughout gnulib
40605         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
40606         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
40607         symlink is not used.
40608         * modules/symlinkat (Depends-on): Add symlink.
40609         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40610         * modules/canonicalize-tests (Depends-on): Likewise.
40611         * modules/lstat-tests (Depends-on): Likewise.
40612         * modules/openat-tests (Depends-on): Likewise.
40613         * modules/remove-tests (Depends-on): Likewise.
40614         * modules/rmdir-tests (Depends-on): Likewise.
40615         * modules/unlink-tests (Depends-on): Likewise.
40616         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
40617         * tests/test-canonicalize.c (symlink): Likewise.
40618         * tests/test-fstatat.c (symlink): Likewise.
40619         * tests/test-lstat.c (symlink): Likewise.
40620         * tests/test-remove.c (symlink): Likewise.
40621         * tests/test-rmdir.c (symlink): Likewise.
40622         * tests/test-unlink.c (symlink): Likewise.
40623         * tests/test-unlinkat.c (symlink): Likewise.
40624
40625         symlink: new module, for Solaris 9 bug
40626         * modules/symlink: New file.
40627         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
40628         * lib/symlink.c: Likewise.
40629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40630         * modules/unistd (Makefile.am): Substitute them.
40631         * lib/unistd.in.h (symlink): Declare replacement.
40632         * MODULES.html.sh (File system functions): Mention it.
40633         * doc/posix-functions/symlink.texi (symlink): Likewise.
40634         * modules/symlink-tests: New test.
40635         * tests/test-symlink.c: Likewise.
40636
40637 2009-09-23  Bruno Haible  <bruno@clisp.org>
40638
40639         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
40640         when needed.
40641         Test case: gnulib-tool --import --with-tests atexit inttypes.
40642         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
40643
40644 2009-09-23  Bruno Haible  <bruno@clisp.org>
40645
40646         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
40647         subcommand, not in a subshell.
40648
40649 2009-09-22  Eric Blake  <ebb9@byu.net>
40650
40651         unistd: sort replacement declarations
40652         * lib/unistd.in.h: Sort declarations.
40653
40654         open, openat: minor optimization
40655         * lib/open.c (open): If open succeeded, len is non-zero.
40656         * lib/openat.c (rpl_openat): Likewise.
40657
40658         link-follow: ensure correct result
40659         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
40660         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
40661         distinguish between possible failures.
40662
40663 2009-09-21  Eric Blake  <ebb9@byu.net>
40664
40665         fts: avoid compiler warning
40666         * lib/fts.c (dirent_inode_sort_may_be_useful)
40667         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
40668
40669 2009-09-19  Bruno Haible  <bruno@clisp.org>
40670
40671         * lib/progreloc.c (canonicalize_file_name): New declaration.
40672
40673 2009-09-19  Eric Blake  <ebb9@byu.net>
40674
40675         link: fix quoting
40676         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
40677
40678         openat: fix openat bugs on Solaris 9
40679         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
40680         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
40681         * modules/openat (Depends-on): Add open.
40682         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
40683         * modules/fcntl-h (Makefile.am): Substitute it.
40684         * lib/fcntl.in.h (openat): Declare replacement.
40685         * doc/posix-functions/openat.texi (openat): Document this.
40686
40687         openat: move fstatat and unlinkat into correct files
40688         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
40689         compiled.
40690         * lib/openat.c (fstatat, unlinkat): Move...
40691         * lib/fstatat.c (fstatat): ...into correct files.
40692         * lib/unlinkat.c (unlinkat): Likewise.
40693
40694         openat: fix unlinkat bugs on Solaris 9
40695         * lib/unlinkat.c (unlinkat): New file.
40696         * modules/openat (Depends-on): Add unlink.
40697         (Files): Distribute it.
40698         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
40699         trailing slash behavior is broken.
40700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40701         * modules/unistd (Makefile.am): Substitute it.
40702         * lib/unistd.in.h (unlinkat): Declare replacement.
40703         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
40704
40705         openat: fix fstatat bugs on Solaris 9
40706         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
40707         stat.
40708         * doc/posix-functions/fstatat.texi (fstatat): Document this.
40709
40710         test-unlinkat: enhance test, to expose Solaris 9 bug
40711         * tests/test-unlink.c (main): Factor guts...
40712         * tests/test-unlink.h (test_rmdir_func): ...into new file.
40713         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
40714         * tests/test-rmdir.c (main): Adjust caller.
40715         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
40716         (unlinker): New helper function.
40717         (rmdirat): Enhance check.
40718         * modules/rmdir-tests (Depends-on): Add stdbool.
40719         * modules/unlink-tests (Depends-on): Likewise.
40720         (Files): Add test-unlink.h.
40721         * modules/openat-tests (Files): Likewise.
40722         (Depends-on): Add unlinkdir.
40723
40724         test-fstatat: new test, to expose Solaris 9 bugs
40725         * tests/test-stat.c (main): Factor guts...
40726         * tests/test-stat.h (test_stat_func): ...into new file.
40727         * tests/test-lstat.c (main): Factor guts...
40728         * tests/test-lstat.h (test_lstat_func): ...into new file.
40729         * tests/test-fstatat.c: New file.
40730         * modules/stat-tests (Files): Add test-stat.h.
40731         * modules/lstat-tests (Files): Add test-lstat.h.
40732         (Depends-on): Add stdbool.
40733         * modules/openat-tests (Depends-on): Add pathmax.
40734         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
40735         (Makefile.am): Run new test.
40736
40737         remove: new module, for mingw and Solaris 9 bugs
40738         * modules/remove: New file.
40739         * lib/remove.c: Likewise.
40740         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
40741         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40742         * modules/stdio (Makefile.am): Use them.
40743         * lib/stdio.in.h (remove): Declare replacement.
40744         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40745         * doc/posix-functions/remove.texi (remove): Likewise.
40746         * modules/remove-tests: New test.
40747         * tests/test-remove.c: Likewise.
40748
40749         unlink: new module, for Solaris 9 bug
40750         * modules/unlink: New file.
40751         * lib/unlink.c: Likewise.
40752         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
40753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40754         * modules/unistd (Makefile.am): Use them.
40755         * lib/unistd.in.h (stat): Declare replacement.
40756         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40757         * doc/posix-functions/unlink.texi (unlink): Likewise.
40758         * modules/unlink-tests: New test.
40759         * tests/test-unlink.c: Likewise.
40760
40761         lstat: fix Solaris 9 bug
40762         * lib/lstat.c (lstat): Also check for trailing slash on
40763         non-symlink, non-directories.  Use stat module to simplify logic.
40764         * doc/posix-functions/lstat.texi (lstat): Document it.
40765         * modules/lstat-tests (Depends-on): Add errno, same-inode.
40766         (configure.ac): Check for symlink.
40767         * tests/test-lstat.c (main): Add more tests.
40768
40769         stat: add as dependency to other modules
40770         * modules/chown (Depends-on): Add stat.
40771         * modules/euidaccess (Depends-on): Likewise.
40772         * modules/fchdir (Depends-on): Likewise.
40773         * modules/isdir (Depends-on): Likewise.
40774         * modules/link (Depends-on): Likewise.
40775         * modules/lstat (Depends-on): Likewise.
40776         * modules/mkdir-p (Depends-on): Likewise.
40777         * modules/modechange (Depends-on): Likewise.
40778         * modules/open (Depends-on): Likewise.
40779         * modules/readlink (Depends-on): Likewise.
40780         * modules/same (Depends-on): Likewise.
40781
40782         stat: fix Solaris 9 bug
40783         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
40784         slash.
40785         * lib/stat.c (rpl_stat): Work around it.
40786         * doc/posix-functions/stat.texi (stat): Update documentation.
40787
40788         stat: new module, for mingw bug
40789         * modules/stat: New file.
40790         * lib/stat.c: Likewise.
40791         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40792         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40793         * modules/sys_stat (Makefile.am): Use them.
40794         * lib/sys_stat.in.h (stat): Declare replacement.
40795         * lib/openat.c (fstatat): Deal with lstat and stat being function
40796         macros.
40797         * modules/openat (Depends-on): Add inline.
40798         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40799         * doc/posix-functions/stat.texi (stat): Likewise.
40800         * modules/stat-tests: New test.
40801         * tests/test-stat.c: Likewise.
40802
40803 2009-09-19  Jim Meyering  <meyering@redhat.com>
40804
40805         syntax-check: detect unnecessary inclusion of canonicalize.h
40806         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
40807
40808 2009-09-19  Eric Blake  <ebb9@byu.net>
40809
40810         canonicalize-lgpl: adjust clients to use correct header
40811         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40812         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
40813         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
40814         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
40815         * lib/progreloc.c (includes): Likewise.
40816
40817 2009-09-19  Jim Meyering  <meyering@redhat.com>
40818
40819         test-posixtm.c: correct a comment
40820         * tests/test-posixtm.c: Correct first-line comment.
40821         Spotted by Eric Blake.
40822
40823 2009-09-16  Jim Meyering  <meyering@redhat.com>
40824
40825         posixtm-tests: make T const-correct; add a test case
40826         * tests/test-posixtm.c (T): Declare const.
40827         Add a test for -(2^31+1).
40828         Remove useless can-succeed-only-in-2002 test.
40829
40830         posixtm-tests: adjust the sole failing test
40831         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
40832         expected output matches what mktime now produces.  Cross-checked via
40833         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
40834
40835         posixtm: move #ifdef'd tests into a new module
40836         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
40837         * tests/test-posixtm.c: ... this new file.
40838         * modules/posixtm-tests: New module.
40839
40840 2009-09-19  Eric Blake  <ebb9@byu.net>
40841
40842         openat: simplify use of at-func.c
40843         * lib/at-func.c (includes): Include prerequisites here, to
40844         simplify requirements on client files.
40845         * lib/openat-priv.h: Add double-inclusion guard.
40846         * lib/faccessat.c (includes): Simplify.
40847         * lib/fchmodat.c (includes): Likewise.
40848         * lib/fchownat.c (includes): Likewise.
40849         * lib/mkdirat.c (includes): Likewise.
40850         * lib/mkfifoat.c (includes): Likewise.
40851         * lib/symlinkat.c (includes): Likewise.
40852
40853         openat: allow return of fd 0
40854         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
40855         * modules/save-cwd (Depends-on): Replace fcntl-safer with
40856         unistd-safer.
40857         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
40858         <fcntl.h>; this module does not leak fds.
40859         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
40860         must be allowed to return 0, leaving openat_safer to add the
40861         safety.
40862         (openat_permissive): Avoid writing to just-opened fd 2 if
40863         restoring the current directory fails.
40864         * lib/openat-die.c (openat_restore_fail): Add comment.
40865         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
40866         (save_cwd): Guarantee safe fd, but without use of open_safer.
40867         * tests/test-openat.c: New test.
40868         * modules/openat-tests (Files, Makefile.am): Distribute and build
40869         new file.
40870
40871         relocatable-prog-wrapper: fix build
40872         * modules/relocatable-prog-wrapper (Files): Update name of
40873         canonicalize m4 file, broken on 2009-09-17.
40874         Reported by emad hajjar <aleppos@hotmail.com>.
40875
40876 2009-09-19  Bruno Haible  <bruno@clisp.org>
40877
40878         * lib/safe-alloc.h: Use the standard header with GPL copyright.
40879         * lib/safe-alloc.c: Likewise.
40880         Reported by Ian Beckwith <ianb@erislabs.net>.
40881
40882 2009-09-18  Bruno Haible  <bruno@clisp.org>
40883
40884         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
40885         Reported by <erobles@sensacd.com.mx>.
40886
40887 2009-09-17  Eric Blake  <ebb9@byu.net>
40888
40889         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
40890         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
40891         slashes when checking if last component is missing.
40892         * tests/test-canonicalize.c (main): Test this.
40893
40894         canonicalize, canonicalize-lgpl: honor // if distinct from /
40895         * modules/canonicalize (Files): Add double-slash-root.m4.
40896         * modules/canonicalize-lgpl (Files): Likewise.
40897         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40898         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
40899         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
40900         fallback definition.
40901         (canonicalize_filename_mode): Use it to protect //.
40902         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
40903         (__realpath): Likewise.
40904         * tests/test-canonicalize.c (main): Test this.
40905         * tests/test-canonicalize-lgpl.c (main): Likewise.
40906         * modules/canonicalize-tests (Depends-on): Add same-inode.
40907         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40908
40909         canonicalize-lgpl: fix glibc bug with trailing slash
40910         * m4/canonicalize-lgpl.m4: Move contents...
40911         * m4/canonicalize.m4: ...here.
40912         (gl_CANONICALIZE_LGPL): Factor realpath check...
40913         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
40914         glibc 2.3.5 bug, fixed 2005-04-27.
40915         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
40916         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
40917         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
40918         * modules/canonicalize-lgpl (Files): Manage file rename.
40919         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
40920         * modules/stdlib (Makefile.am): Substitute witness.
40921         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
40922         is needed.
40923         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
40924         replacement is required.
40925         * lib/canonicalize.c (canonicalize_file_name): Likewise.
40926         * doc/glibc-functions/canonicalize_file_name.texi
40927         (canonicalize_file_name): Document this.
40928         * doc/posix-functions/realpath.texi (realpath): Likewise.
40929
40930         canonicalize-lgpl: reject non-directory with trailing slash
40931         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
40932         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
40933         catches failures in glibc 2.3.5.
40934         * tests/test-canonicalize.c (main): Likewise.
40935
40936         canonicalize-lgpl: use native realpath if it works
40937         * lib/canonicalize-lgpl.c (realpath): Guard with
40938         FUNC_REALPATH_WORKS.
40939         * lib/stdlib.in.h (realpath): Make declaration optional based on
40940         HAVE_REALPATH.
40941         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
40942         native realpath works.
40943         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
40944         * modules/stdlib (Makefile.am): Substitute witness.
40945
40946         canonicalize, canonicalize-lgpl: use <stdlib.h>
40947         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
40948         (Include): Mention <stdlib.h>.
40949         (configure.ac): Mention functions we provide.
40950         * modules/canonicalize (configure.ac): Likewise.
40951         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
40952         realpath if canonicalize_file_name is missing.
40953         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
40954         * modules/stdlib (Makefile.am): Substitute witnesses.
40955         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
40956         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
40957         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
40958         * NEWS: Document this.
40959         * doc/glibc-functions/canonicalize_file_name.texi
40960         (canonicalize_file_name): Likewise.
40961         * doc/posix-functions/realpath.texi (realpath): Likewise.
40962         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
40963
40964         test-canonicalize: consolidate into single C program
40965         * tests/test-canonicalize.sh: Delete; move setup into...
40966         * tests/test-canonicalize.c (main): ...the program, making it
40967         easier to run in debugger.  Add some tests.
40968         * modules/canonicalize-tests (Files): Remove unused file.
40969         (Depends-on): Add progname.
40970         (configure.ac, Makefile.am): Simplify.
40971
40972         test-canonicalize-lgpl: consolidate into single C program
40973         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
40974         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
40975         easier to run in debugger.  Add some tests.
40976         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
40977         (configure.ac, Makefile.am): Simplify.
40978
40979         canonicalize: avoid resolvepath
40980         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
40981         unnecessary checks.
40982         * lib/canonicalize.c (includes): Simplify.
40983         (canonicalize_file_name): Drop resolvepath implementation.
40984         * modules/canonicalize (Depends-on): Drop filenamecat.
40985
40986         canonicalize: don't lose errno
40987         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
40988         over calls to free.
40989
40990         canonicalize: simplify errno handling
40991         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
40992         assignment.
40993
40994         canonicalize, canonicalize-lgpl: update module dependencies
40995         * modules/canonicalize (Depends-on): Add extensions, lstat,
40996         pathmax, stdlib.
40997         (Files): Drop pathmax.h.
40998         (configure.ac): Adjust macro name.
40999         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41000         lstat, stdlib, sys_stat.
41001         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41002         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41003         extensions.
41004         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41005         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41006         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41007         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41008         declaration, if available.
41009         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41010         we can rely on the readlink module.
41011         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41012         (includes): Use <unistd.h> unconditionally.
41013
41014 2009-09-17  Eric Blake  <ebb9@byu.net>
41015
41016         maint: make Include sections of modules consistent
41017         * modules/alloca: Use only header name; no need to list #include.
41018         * modules/alloca-opt: Likewise.
41019         * modules/arpa_inet: Likewise.
41020         * modules/canon-host: Likewise.
41021         * modules/configmake: Likewise.
41022         * modules/dirent: Likewise.
41023         * modules/eealloc: Likewise.
41024         * modules/environ: Likewise.
41025         * modules/fchdir: Likewise.
41026         * modules/fcntl: Likewise.
41027         * modules/fcntl-h: Likewise.
41028         * modules/gethrxtime: Likewise.
41029         * modules/gettime: Likewise.
41030         * modules/ignore-value: Likewise.
41031         * modules/inet_ntop: Likewise.
41032         * modules/inet_pton: Likewise.
41033         * modules/inttypes: Likewise.
41034         * modules/isnand-nolibm: Likewise.
41035         * modules/isnanf-nolibm: Likewise.
41036         * modules/mbchar: Likewise.
41037         * modules/mbfile: Likewise.
41038         * modules/mbiter: Likewise.
41039         * modules/mbuiter: Likewise.
41040         * modules/netdb: Likewise.
41041         * modules/netinet_in: Likewise.
41042         * modules/nproc: Likewise.
41043         * modules/pagealign_alloc: Likewise.
41044         * modules/poll: Likewise.
41045         * modules/printf-frexp: Likewise.
41046         * modules/pthread: Likewise.
41047         * modules/putenv: Likewise.
41048         * modules/random_r: Likewise.
41049         * modules/relocatable-prog: Likewise.
41050         * modules/search: Likewise.
41051         * modules/select: Likewise.
41052         * modules/selinux-h: Likewise.
41053         * modules/settime: Likewise.
41054         * modules/signal: Likewise.
41055         * modules/size_max: Likewise.
41056         * modules/socklen: Likewise.
41057         * modules/ssize_t: Likewise.
41058         * modules/stdarg: Likewise.
41059         * modules/stdbool: Likewise.
41060         * modules/stddef: Likewise.
41061         * modules/stdint: Likewise.
41062         * modules/stdio: Likewise.
41063         * modules/stdlib: Likewise.
41064         * modules/string: Likewise.
41065         * modules/strings: Likewise.
41066         * modules/sys_file: Likewise.
41067         * modules/sys_ioctl: Likewise.
41068         * modules/sys_select: Likewise.
41069         * modules/sys_socket: Likewise.
41070         * modules/sys_stat: Likewise.
41071         * modules/sys_time: Likewise.
41072         * modules/sys_times: Likewise.
41073         * modules/sys_utsname: Likewise.
41074         * modules/sys_wait: Likewise.
41075         * modules/sysexits: Likewise.
41076         * modules/time: Likewise.
41077         * modules/times: Likewise.
41078         * modules/tmpfile: Likewise.
41079         * modules/trim: Likewise.
41080         * modules/unistd: Likewise.
41081         * modules/wchar: Likewise.
41082         * modules/wctype: Likewise.
41083
41084 2009-09-17  Bruno Haible  <bruno@clisp.org>
41085
41086         Make getdate.y compile on QNX and NetBSD 5 / i386.
41087         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41088         TIME_T_FITS_IN_LONG_INT.
41089         * lib/getdate.y (long_time_t): New type.
41090         (relative_time): Change type of 'seconds' field to long_time_t.
41091         (get_date): Update types of local variables. Check against overflow
41092         during conversion from long_time_t to time_t.
41093         Reported by Matt Kraai <kraai@ftbfs.org>
41094         and Hasso Tepper <hasso@netbsd.org>.
41095
41096 2009-09-17  Bruno Haible  <bruno@clisp.org>
41097
41098         * modules/COPYING: Update copyright years.
41099         * modules/README: Likeiwse.
41100         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
41101         Reported by Ian Beckwith <ianb@erislabs.net>.
41102
41103 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41104
41105         * users.txt: Update references for gnuit package.
41106
41107 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41108
41109         * m4/getdelim.m4: Fix typo in copyright line.
41110
41111 2009-09-17  Bruno Haible  <bruno@clisp.org>
41112
41113         * lib/atoll.c: Use the standard header with GPL copyright.
41114         * lib/argz.in.h: Likewise.
41115         * lib/glob.c: Likewise.
41116         * lib/glob-libc.h: Likewise.
41117         * lib/random_r.c: Likewise.
41118         * lib/siglist.h: Likewise.
41119         * lib/strsignal.c: Likewise.
41120         Reported by Ian Beckwith <ianb@erislabs.net>.
41121
41122 2009-09-17  Eric Blake  <ebb9@byu.net>
41123
41124         rmdir: ensure correct dependency order
41125         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
41126
41127 2009-09-17  Bruno Haible  <bruno@clisp.org>
41128
41129         Disable assertion that fails on NetBSD 5 / i386.
41130         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
41131         Reported by Sam Steingold <sds@gnu.org>
41132         and Hasso Tepper <hasso@netbsd.org>.
41133
41134 2009-09-16  Eric Blake  <ebb9@byu.net>
41135
41136         unlinkdir: port to mingw
41137         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
41138         on which no one can unlink a directory.
41139
41140         stdlib: sort witness names
41141         * modules/stdlib (Makefile.am): Sort replacements.
41142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41143         * lib/stdlib.in.h: Likewise.
41144
41145         parse-duration-tests: avoid link failure
41146         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
41147         LIBINTL.
41148         Reported by Tom G. Christensen.
41149
41150         openat-tests: ensure unlinkat behaves like rmdir
41151         * tests/test-rmdir.c (main): Factor guts...
41152         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
41153         * modules/rmdir-tests (Files): Ship new file.
41154         * modules/openat-tests: New test.
41155         * tests/test-unlinkat.c: Likewise.
41156
41157         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
41158         * modules/rmdir-errno (Status, Notice): Now obsolete.
41159
41160         rmdir: work around cygwin 1.5.x and mingw bugs
41161         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
41162         * lib/rmdir.c (rmdir): Work around it.
41163         * modules/rmdir (Status, Notice): No longer obsolete.
41164         (Files): Add dos.m4.
41165         (Depends-on): Add unistd.
41166         (configure.ac): Set witnesses.
41167         (License): Relax to LGPLv2+.
41168         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
41169         * modules/unistd (Makefile.am): Substitute witnesses.
41170         * lib/unistd.in.h (rmdir): Declare replacement.
41171         * doc/posix-functions/rmdir.texi (rmdir): Document this.
41172         * modules/rmdir-tests: New tests.
41173         * tests/test-rmdir.c: Likewise.
41174
41175 2009-09-15  Eric Blake  <ebb9@byu.net>
41176
41177         fchdir: improve use of replacement functions
41178         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
41179         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
41180         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
41181         REPLACE_CLOSEDIR.
41182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
41183         * modules/sys_stat (Makefile.am): Substitute correct witness.
41184         * modules/dirent (Makefile.am): Likewise.
41185         * modules/unistd (Makefile.am): Likewise.
41186         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
41187         * lib/unistd.in.h (dup): Likewise.
41188         * lib/sys_stat.in.h (fstat): Likewise.
41189
41190         maint: ignore gnulib-tool temp files
41191         * .gitignore: Ignore files created during gnulib-tool --test.
41192
41193 2009-09-13  Jim Meyering  <meyering@redhat.com>
41194
41195         posixtm: don't reject a time that specify "60" as the number of seconds
41196         * lib/posixtm.c (posixtime): The code to reject invalid dates
41197         would also reject a time specified with the .60 suffix.
41198         But POSIX allows that, in order to accommodate leap seconds.
41199         So don't reject it.
41200         (main): Adjust tests accordingly.
41201         * modules/posixtm (Depends-on): Add stpcpy.
41202
41203 2009-09-11  Jim Meyering  <meyering@redhat.com>
41204
41205         announce-gen: include [$release_type] in emitted Subject:
41206         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
41207         e.g., [stable] in the emitted Subject: line.
41208
41209 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41210
41211         Remove obsolete macros from several modules.
41212         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
41213         obsolete Autoconf macros with their modern counterparts.
41214         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
41215         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
41216         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
41217         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41218         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
41219         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41220         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41221         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41222         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
41223         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
41224         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41225         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41226         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
41227         * m4/sockets.m4 (gl_SOCKETS): Likewise.
41228         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
41229         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
41230         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
41231         * m4/time_r.m4 (gl_TIME_R): Likewise.
41232         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
41233         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
41234         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41235
41236         Fix copyright header in build-aux scripts.
41237         * build-aux/git-version-gen: Fix copyright header to match GPLv3
41238         recommendation.
41239         * build-aux/ncftpput-ftp: Likewise.
41240         * build-aux/update-copyright: Likewise.
41241
41242 2009-09-09  Eric Blake  <ebb9@byu.net>
41243
41244         test-link: allow Linux choice of errno
41245         * tests/test-link.c (main): Relax test for alternate error.
41246
41247         strndup: fix improper m4 caching
41248         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
41249         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
41250         (gl_PREREQ_STRNDUP): Delete.
41251         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
41252         * modules/string (Makefile.am): Substitute it.
41253         * lib/string.in.h (strndup): Modernize prototype.
41254
41255         getcwd: port to mingw
41256         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
41257         different from the POSIX assumptions made throughout the getcwd
41258         module; fortunately, the mingw getcwd does not need replacement.
41259         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
41260         * modules/getcwd-tests: New test.
41261         * tests/test-getcwd.c: Likewise.
41262
41263         link: fix platform bugs
41264         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
41265         * lib/link.c (link): Work around them.  Fix related mingw bug.
41266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
41267         * modules/unistd (Makefile.am): Substitute it.
41268         * lib/unistd.in.h (link): Declare replacement.
41269         * doc/posix-functions/link.texi (link): Document this.
41270         * modules/link (Depends-on): Add strdup-posix, sys_stat.
41271
41272         test-link: consolidate into single C program, test more cases
41273         * tests/test-link.sh: Delete.
41274         * tests/test-link.c: Test more error conditions.  Exposes bugs on
41275         at least Cygwin and Solaris.
41276         * modules/link-tests (Files): Remove unused file.
41277         (Depends-on): Add errno, sys_stat.
41278         (Makefile.am): Simplify.
41279
41280 2009-09-08  Bruno Haible  <bruno@clisp.org>
41281
41282         Work around towlower, towupper bug on mingw.
41283         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
41284         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
41285         * doc/posix-functions/towlower.texi: Mention the mingw bug.
41286         * doc/posix-functions/towupper.texi: Likewise.
41287         Reported by Eric Blake.
41288
41289 2009-09-08  Jim Meyering  <meyering@redhat.com>
41290
41291         build: don't try to run autoheader if we don't use it
41292         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
41293         is not used in configure.ac.
41294
41295 2009-09-08  Eric Blake  <ebb9@byu.net>
41296
41297         euidaccess: fix compilation error
41298         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
41299
41300         rawmemchr: relax license
41301         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
41302         okay.
41303         Reported by Jim Meyering.
41304
41305         mkfifoat: new module
41306         * modules/mkfifoat: New file.
41307         * lib/mkfifoat.c: Likewise.
41308         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
41309         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41310         * modules/sys_stat (Makefile.am): Use them.
41311         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
41312         * MODULES.html.sh (File system functions): Mention module.
41313         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41314         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41315         * modules/mkfifoat-tests: New test.
41316         * tests/test-mkfifoat.c: Likewise.
41317
41318         strchrnul: relax license
41319         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
41320         okay.
41321         Reported by Jim Meyering.
41322
41323 2009-09-08  Eric Blake  <ebb9@byu.net>
41324
41325         fstatat: fix compilation on Solaris
41326         * lib/fstatat.c (includes): Add fcntl.h.
41327         Reported by Pádraig Brady.
41328
41329 2009-09-07  Eric Blake  <ebb9@byu.net>
41330
41331         rename: modernize replacement
41332         * modules/rename (Depends-on): Add stdio.
41333         (configure.ac): Declare witness.
41334         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
41335         stdio take care of replacement.
41336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
41337         * modules/stdio (Makefile.am): Substitute them.
41338         * lib/stdio.in.h (rename): Declare replacement.
41339         * lib/rename.c (includes): Allow cross-compilation to non-windows
41340         machines.
41341         * doc/posix-functions/rename.texi (rename): Improve
41342         documentation.
41343
41344         stdio: sort witness names
41345         * modules/stdio (Makefile.am): Sort replacements.
41346         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41347         * lib/stdio.in.h: Likewise.
41348
41349         getcwd: minor cleanups
41350         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
41351         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
41352
41353         openat: provide more convenience names
41354         * modules/faccessat (configure.ac): Add C witness.
41355         * lib/unistd.in.h (readlinkat): Fix typo.
41356         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
41357         convenience wrappers.
41358         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
41359         wrappers in syntax checks.
41360
41361 2009-09-06  Eric Blake  <ebb9@byu.net>
41362
41363         doc: fix comments in recent patches
41364         * lib/faccessat.c: Mention correct function.
41365         * lib/fchmodat.c: Likewise.
41366         * lib/fchownat.c: Likewise.
41367         * lib/symlinkat.c: Likewise.
41368         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
41369         constants.
41370
41371         faccessat, symlinkat: continue cleanup of previous patch
41372         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
41373         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41374         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
41375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
41376         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
41377         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
41378         set.
41379
41380 2009-09-06  Bruno Haible  <bruno@clisp.org>
41381
41382         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
41383         (fstatat): Declare if GNULIB_FSTATAT is set.
41384         (mkdirat): Declare if GNULIB_MKDIRAT is set.
41385         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
41386         (unlinkat): Declare if GNULIB_UNLINKAT is set.
41387         * modules/fcntl-h (Files): Remove m4/openat.m4.
41388         * modules/sys_stat (Files): Remove m4/openat.m4.
41389         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
41390         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
41391         * modules/unistd (Files): Remove m4/openat.m4.
41392         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
41393         GNULIB_OPENAT.
41394         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
41395         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
41396         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
41397         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
41398         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
41399         gl_OPENAT_DEFAULTS.
41400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
41401         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
41402         Don't require gl_OPENAT_DEFAULTS.
41403         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
41404         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
41405         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
41406         (gl_OPENAT_DEFAULTS): Remove macro.
41407
41408 2009-09-06  Bruno Haible  <bruno@clisp.org>
41409
41410         * modules/openat (configure.ac): Remove unneeded witness.
41411
41412 2009-09-06  Bruno Haible  <bruno@clisp.org>
41413
41414         Set errno to ENOSYS when a function is entirely unsupported.
41415         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
41416         EOPNOTSUPP.
41417         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41418         * modules/chown (Depends-on): Remove errno.
41419
41420 2009-09-06  Bruno Haible  <bruno@clisp.org>
41421
41422         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
41423
41424 2009-09-06  Bruno Haible  <bruno@clisp.org>
41425
41426         * lib/sys_stat.in.h: Fix preprocessor command indentation.
41427
41428 2009-09-06  Ben Pfaff  <blp@gnu.org>
41429             Bruno Haible  <bruno@clisp.org>
41430
41431         Work around a glibc bug in strtok_r.
41432         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
41433         Undefine if UNDEFINE_STRTOK_R is set.
41434         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
41435         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41436         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
41437         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
41438         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
41439         UNDEFINE_STRTOK_R.
41440         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
41441
41442 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
41443
41444         exclude: minor fix
41445         * lib/exclude.c: Include wctype.h
41446
41447 2009-09-06  Akim Demaille  <demaille@gostai.com>
41448
41449         bootstrap: improve error message
41450         * build-aux/bootstrap (find_tool): Upon failure, report the list
41451         of candidates.
41452         Honor the initial value of the envvar.
41453
41454 2009-09-05  Eric Blake  <ebb9@byu.net>
41455
41456         symlinkat: new module
41457         * modules/symlinkat: New file.
41458         * lib/symlinkat.c: Likewise.
41459         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
41460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41461         * modules/unistd (Makefile.am): Use them.
41462         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
41463         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
41464         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
41465         * MODULES.html.sh (File system functions): Mention module.
41466         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41467         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41468         * modules/symlinkat-tests: New test.
41469         * tests/test-symlinkat.c: Likewise.
41470
41471         test-openat-safer: add more checks
41472         * tests/test-openat-safer.c (main): Check more code paths.
41473
41474 2009-09-05  Jim Meyering  <meyering@redhat.com>
41475
41476         syntax-check: detect unnecessary inclusion of openat.h
41477         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
41478
41479 2009-09-05  Bruno Haible  <bruno@clisp.org>
41480
41481         Support towlower, towupper.
41482         * doc/posix-functions/towlower.texi: Mention module wctype.
41483         * doc/posix-functions/towupper.texi: Likewise.
41484         * lib/wctype.in.h (towlower, towupper): New functions.
41485         * tests/test-wctype.c: Include stdio.h, stdlib.h.
41486         (ASSERT): New macro.
41487         (e): New variable.
41488         (main): Test also towlower, towupper. Test WEOF argument.
41489         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41490
41491 2009-09-05  Bruno Haible  <bruno@clisp.org>
41492
41493         Fix conversion behaviour when the input is invalid.
41494         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
41495         mark occurring in first pass of indirect conversion.
41496         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
41497         input.
41498         Found by clang's static analyzer.
41499
41500 2009-09-05  Bruno Haible  <bruno@clisp.org>
41501
41502         * tests/test-striconveh.c (main): Test indirect conversion on platforms
41503         where direct conversion is possible.
41504
41505 2009-09-04  Eric Blake  <ebb9@byu.net>
41506
41507         openat: fail with ENOENT on empty name
41508         * lib/openat-proc.c (openat_proc_name): Special-case the empty
41509         buffer.
41510
41511         link-follow: fix logic bug in prior patch
41512         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
41513         reversed sense of yes and no in prior patch.  Avoid confusing
41514         compilation failure with desired semantics.
41515
41516         link-follow: accomodate mingw and cross-compilation
41517         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
41518         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
41519         cross-compilation results to -1, to make linkat easier to
41520         implement when cross-compiling.  Trivially support mingw.
41521         * modules/link-follow (configure.ac): Call new name.
41522         * NEWS: Mention this.
41523
41524 2009-09-03  Eric Blake  <ebb9@byu.net>
41525
41526         faccessat: compile replacement
41527         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
41528         needed.
41529
41530         fts: fix compilation error
41531         * lib/fts.c (includes): Re-add "openat.h", for
41532         openat_needs_fchdir.
41533
41534         faccessat: new module
41535         * modules/faccessat: New file.
41536         * lib/faccessat.c: Likewise.
41537         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41539         * modules/unistd (Makefile.am): Use it.
41540         * lib/unistd.in.h (faccessat): Declare it.
41541         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
41542         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
41543         * MODULES.html.sh (File system functions): Mention it.
41544         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
41545         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41546
41547         euidaccess: prefer POSIX over non-standard implementation
41548         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
41549         * lib/euidaccess.c (euidaccess): Use it if available.
41550
41551         openat: make template easier to use
41552         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
41553         AT_FUNC_F2 to be undefined.
41554         (VALIDATE_FLAG): New macro; use it to reject bad flags.
41555         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
41556         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
41557         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
41558         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
41559         Likewise.
41560         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
41561         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
41562         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
41563         Likewise.
41564
41565         openat: declare in POSIX headers
41566         * NEWS: Mention this.
41567         * modules/openat (configure.ac): Declare witnesses.
41568         (Depends-on): Add fcntl-h, sys_stat, unistd.
41569         (Include): Mention correct headers.
41570         * modules/fcntl-h (Depends-on): Add link-warning.
41571         (Files): Add openat.m4.
41572         (Makefile.am): Substitute witnesses.
41573         * modules/sys_stat (Files, Makefile.am): Likewise.
41574         * modules/unistd (Files, Makefile.am): Likewise.
41575         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
41576         (gl_OPENAT_DEFAULTS): New macro.
41577         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
41578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
41579         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
41580         (SYS_STAT_H): Remove unused variable.
41581         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
41582         * lib/fcntl--.h (includes): Remove unneeded header.
41583         * lib/openat-safer.c (includes): Likewise.
41584         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
41585         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
41586         appropriate headers.
41587         (__OPENAT_PREFIX): Delete.
41588         * lib/fcntl.in.h (openat): Provide declaration.
41589         (AT_FDCWD): Fix Solaris bug.
41590         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
41591         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
41592         * lib/fchmodat.c (includes):  Adjust to find declaration.
41593         * lib/fchownat.c (includes): Likewise.
41594         * lib/mkdirat.c (includes): Likewise.
41595         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
41596         still visible.
41597
41598 2009-09-02  Eric Blake  <ebb9@byu.net>
41599
41600         errno: use consistently
41601         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
41602         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
41603         * lib/canonicalize.c (ELOOP): Likewise.
41604         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
41605         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
41606         * lib/lchown.c (EOPNOTSUPP): Likewise.
41607         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
41608         * lib/savewd.c (ESTALE): Likewise.
41609         * lib/settime.c (ENOSYS): Likewise.
41610         * lib/utimens.c (ENOSYS): Likewise.
41611         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
41612         * lib/chdir-safer.c (ELOOP): Likewise.
41613         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
41614         * modules/c-stack (Depends-on): Add errno.
41615         * modules/canonicalize (Depends-on): Likewise.
41616         * modules/chdir-safer (Depends-on): Likewise.
41617         * modules/fdopendir (Depends-on): Likewise.
41618         * modules/inet_ntop (Depends-on): Likewise.
41619         * modules/inet_pton (Depends-on): Likewise.
41620         * modules/lchown (Depends-on): Likewise.
41621         * modules/openat (Depends-on): Likewise.
41622         * modules/savewd (Depends-on): Likewise.
41623         * modules/settime (Depends-on): Likewise.
41624         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
41625
41626         fts: avoid leaking fds
41627         * modules/fts (Depends-on): Add cloexec.
41628         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
41629         flag.
41630
41631         fts: make directory fds more robust
41632         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
41633         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
41634
41635         backupfile, chdir-long, fts, savedir: make safer
41636         * lib/backupfile.c (includes): Use "dirent--.h", since
41637         numbered_backup can write to stderr during readdir.
41638         * lib/savedir.c (includes): Likewise.
41639         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
41640         emulation can write to stderr on failure.
41641         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
41642         * lib/getcwd.c: Document why opendir_safer is unused.
41643         * lib/glob.c: Likewise.
41644         * lib/scandir.c: Likewise.
41645         * lib/openat-proc.c: Likewise, for open_safer.
41646         * modules/backupfile (Depends-on): Add dirent-safer.
41647         * modules/savedir (Depends-on): Likewise.
41648         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
41649         * modules/chdir-long (Depends-on): Add openat-safer.
41650
41651         openat-safer: new module
41652         * modules/openat-safer: New file.
41653         * lib/openat-safer.c: Likewise.
41654         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
41655         * lib/fcntl-safer.h (openat_safer): Declare.
41656         * lib/fcntl--.h (openat): Override.
41657         * MODULES.html.sh (File descriptor based I/O): Mention it.
41658         * lib/openat.h: Add double-inclusion guards.
41659         * lib/openat.c (includes): Only include "fcntl-safer.h", not
41660         "fcntl--.h", so we can implement openat.
41661         * modules/openat-safer-tests: New test.
41662         * tests/test-openat-safer.c: New file.
41663
41664         dirent-safer: new module
41665         * modules/dirent-safer: New file.
41666         * lib/dirent--.h: Likewise.
41667         * lib/dirent-safer.h: Likewise.
41668         * lib/opendir-safer.c: Likewise.
41669         * m4/dirent-safer.m4: Likewise.
41670         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
41671         * modules/dirent-safer-tests: New test.
41672         * tests/test-dirent-safer.c: New file.
41673         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
41674
41675         fdopendir: optimize on mingw
41676         * lib/unistd.in.h (_gl_directory_name): New prototype.
41677         * lib/fchdir.c (_gl_directory_name): Implement it.
41678         (fchdir): Use it to simplify implementation.
41679         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
41680         fchdir, when available, to avoid calling [f]chdir().
41681
41682         fdopendir: split into its own module
41683         * lib/openat.c (fdopendir): Move...
41684         * lib/fdopendir.c: ...into new file.
41685         * modules/fdopendir: New module.
41686         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
41687         * modules/openat (Depends-on): Add fdopendir.
41688         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
41689         fdopendir here.
41690         * modules/savedir (Depends-on): Only need fdopendir, not full
41691         openat.
41692         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
41693         * lib/openat.h (fdopendir): Drop prototype.
41694         * lib/dirent.in.h (fdopendir): Provide prototype.
41695         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
41696         * modules/dirent (Makefile.am): Substitute them.
41697         * MODULES.html.sh (File system functions): Mention it.
41698         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
41699         * modules/fdopendir-tests: New file.
41700         * tests/test-fdopendir.c: Likewise.
41701
41702         fchdir: use more consistent macro convention
41703         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
41704         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
41705         REPLACE_FCHDIR, rather than relying on config.h macros.
41706         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
41707         inside a single make-time REPLACE_FCHDIR block, rather than using
41708         the config.h FCHDIR_REPLACEMENT.
41709         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
41710         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
41711         Manage fstat replacement.
41712         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
41713         REPLACE_FCHDIR.
41714         * modules/sys_stat (Files): Add m4/unistd_h.m4.
41715         (Makefile.am): Substitute REPLACE_FCHDIR.
41716         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
41717         FCHDIR_REPLACEMENT.
41718         * lib/dup-safer.c (dup_safer): Likewise.
41719         * lib/dup2.c (rpl_dup2): Likewise.
41720         * lib/dup3.c (rpl_dup3): Likewise.
41721         * lib/open.c (rpl_open): Likewise.
41722
41723         fchdir: simplify error handling, and support dup3
41724         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
41725         stdbool, malloc-posix, realloc-posix.
41726         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
41727         (ensure_dirs_slot): Return false on allocation failure.
41728         (rpl_dup2): Delete.
41729         (_gl_register_dup): New function.
41730         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
41731         (_gl_register_fd): Close fd on allocation failure.
41732         * lib/fcntl.in.h (_gl_register_fd): Update signature.
41733         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
41734         prototype.
41735         (rpl_dup2_fchdir): Delete prototype.
41736         * lib/open.c (open): Update caller.
41737         * lib/dup2.c (dup2): Track fchdir metadata.
41738         * lib/dup3.c (dup3): Likewise.
41739         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
41740         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
41741
41742 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41743
41744         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
41745         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
41746         don't pass arguments to AC_OUTPUT.
41747
41748 2009-09-02  Bruno Haible  <bruno@clisp.org>
41749
41750         * modules/mkdtemp (License): Relicense under LGPLv2+.
41751         Reported by Paolo Bonzini.
41752
41753 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41754
41755         Replace uses of obsolete autoconf macros in Jim's modules.
41756         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
41757         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
41758         can evoke a warning from autoconf when run with -Wobsolete
41759         enabled.  They were declared obsolete for good reasons (see
41760         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
41761         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
41762         should not continue using the deprecated macros.
41763         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
41764         obsolete Autoconf macros with modern counterparts.
41765         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41766         * m4/dos.m4 (gl_AC_DOS): Likewise.
41767         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
41768         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
41769         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
41770         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
41771         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
41772         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
41773         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
41774         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
41775         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
41776         Likewise.
41777         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
41778         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
41779         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
41780         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
41781         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41782         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
41783
41784 2009-09-01  Eric Blake  <ebb9@byu.net>
41785
41786         fchdir: fix off-by-one bug in previous patch
41787         * lib/fchdir.c (rpl_fstat): Use correct bounds.
41788         (_gl_unregister_fd): Delete useless if.
41789
41790 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
41791
41792         maint.mk: sort the list of syntax-check rules
41793         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
41794         easier to get a sense of progress when the rules are run sequentially
41795         and take a long time.
41796
41797 2009-09-01  Simon Josefsson  <simon@josefsson.org>
41798
41799         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
41800         * modules/netinet_in: Likewise.
41801         * modules/sys_file: Likewise.
41802         * modules/sys_ioctl: Likewise.
41803         * modules/sys_select: Likewise.
41804         * modules/sys_socket: Likewise.
41805         * modules/sys_stat: Likewise.
41806         * modules/sys_time: Likewise.
41807         * modules/sys_times: Likewise.
41808         * modules/sys_utsname: Likewise.
41809         * modules/sys_wait: Likewise.
41810
41811 2009-09-01  Jim Meyering  <meyering@redhat.com>
41812
41813         fts: help ensure that return values are not ignored
41814         * lib/fts_.h (__GNUC_PREREQ): Define.
41815         (__attribute_warn_unused_result__): Define.
41816         (fts_children, fts_close, fts_open, fts_read): Declare with
41817         __attribute_warn_unused_result__.
41818
41819         fts: fts_close now fails also when closing a dir file descriptor fails
41820         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
41821         and propagate to caller, along with errno.
41822
41823         announce-gen: correct formatting in --help output
41824         * build-aux/announce-gen (usage): Move the one-line description in
41825         --help output "up", to where it belongs, just after Usage:.
41826
41827 2009-08-31  Eric Blake  <ebb9@byu.net>
41828
41829         fchdir: port to mingw
41830         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
41831         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
41832         opened, then use a substitute.
41833         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
41834         replacement.
41835         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
41836         (_gl_register_fd): No need to check stat if open already filters
41837         all directories.
41838         (fchdir): Fix error condition to match POSIX.
41839         * modules/fchdir (Depends-on): Add sys_stat.
41840         * doc/posix-functions/open.texi (open): Document the limitation.
41841         * modules/fchdir-tests: New file.
41842         * tests/test-fchdir.c: Likewise.
41843
41844         canonicalize: allow cross-testing from cygwin to mingw
41845         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
41846         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
41847         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
41848         Likewise.
41849         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
41850         target does not support symlinks.
41851         * tests/test-canonicalize-lgpl.sh: Likewise.
41852
41853         chown: avoid compilation warning on mingw
41854         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
41855         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
41856         mingw.
41857         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41858         * modules/chown (Depends-on): Add errno.
41859
41860 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41861
41862         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
41863         command.
41864
41865 2009-08-31  Jim Meyering  <meyering@redhat.com>
41866
41867         canonicalize: remove useless initialization
41868         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
41869         initialization of local, "end".
41870
41871 2009-08-30  Bruno Haible  <bruno@clisp.org>
41872
41873         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
41874         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
41875         ENOSYS.
41876
41877 2009-08-30  Bruno Haible  <bruno@clisp.org>
41878
41879         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
41880         /usr/xpg4/bin/tr when it exists.
41881         * tests/test-pipe-filter-gi1.sh: Likewise.
41882
41883 2009-08-30  Bruno Haible  <bruno@clisp.org>
41884
41885         Work around deficient /usr/bin/id program on Solaris.
41886         * tests/test-file-has-acl.sh (ID): New variable.
41887         * tests/test-set-mode-acl.sh (ID): Likewise.
41888         * tests/test-copy-acl.sh (ID): Likewise.
41889         * tests/test-copy-file.sh (ID): Likewise.
41890
41891 2009-08-30  Bruno Haible  <bruno@clisp.org>
41892
41893         New module 'xstriconveh'.
41894         * lib/xstriconveh.h: New file.
41895         * lib/xstriconveh.c: New file.
41896         * modules/xstriconveh: New file.
41897
41898 2009-08-30  Bruno Haible  <bruno@clisp.org>
41899
41900         Make it easier to use mem_cd_iconveh.
41901         * lib/striconveh.h (iconveh_t): New type.
41902         (iconveh_open, iconveh_close): New declarations.
41903         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
41904         with a single 'const iconveh_t *' argument.
41905         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
41906         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
41907         with a single 'const iconveh_t *' argument.
41908         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
41909         * tests/test-striconveh.c (main): Update.
41910         * NEWS: Mention the change.
41911
41912 2009-08-30  Bruno Haible  <bruno@clisp.org>
41913
41914         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
41915         problem.
41916
41917 2009-08-30  Bruno Haible  <bruno@clisp.org>
41918
41919         Work around iconv_open problem on Solaris.
41920         * lib/iconv_open-solaris.gperf: New file.
41921         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
41922         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
41923         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
41924         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
41925         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
41926         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
41927
41928 2009-08-29  Jim Meyering  <meyering@redhat.com>
41929
41930         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
41931         * top/maint.mk (cvs-check): Remove target; it was just an alias
41932         to the better-named vc-diff-check.
41933         (maintainer-distcheck): Remove rule.  It was used only from
41934         the (alpha/beta/major) target, and all of its commands but one
41935         were coreutils-specific.
41936         (vc-dist): Remove rule.
41937         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
41938         Run vc-diff-check, not vc-dist.
41939         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
41940
41941 2009-08-27  Bruno Haible  <bruno@clisp.org>
41942
41943         * tests/test-bitrotate.c (main): Remove test that uses a shift count
41944         of 0.
41945
41946 2009-08-27  Bruno Haible  <bruno@clisp.org>
41947
41948         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
41949         compilers.
41950         * doc/func.texi: Document the SunPRO C bug.
41951
41952 2009-08-27  Bruno Haible  <bruno@clisp.org>
41953
41954         Fix link error on Solaris.
41955         * tests/test-parse-duration.c (xstrdup): Remove function.
41956
41957 2009-08-26  Pádraig Brady  <P@draigbrady.com>
41958
41959         ignore-value: handle pointer types, too
41960         * lib/ignore-value.h (__attribute__): Remove definition.
41961         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
41962         of a more concise and more-often effective "(void) i" statement.
41963         (ignore_ptr): New function to suppress warnings from functions that
41964         return pointers, and to make it explicit that one function doesn't
41965         handle all cases.
41966
41967 2009-08-25  Bruno Haible  <bruno@clisp.org>
41968
41969         dup2: work around a Linux bug.
41970         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
41971         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
41972         * doc/posix-functions/dup2.texi: Mention the Linux bug.
41973         Reported by Simon Josefsson.
41974
41975 2009-08-25  Jim Meyering  <meyering@redhat.com>
41976
41977         libguestfs uses gnulib
41978         * users.txt: Add libguestfs.
41979
41980 2009-08-24  Eric Blake  <ebb9@byu.net>
41981
41982         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
41983         * lib/pipe2.c (includes): Add binary-io.h.
41984         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
41985
41986 2009-08-24  Bruno Haible  <bruno@clisp.org>
41987
41988         Tolerate declared but missing accept4 syscall.
41989         * lib/accept4.c (accept4): Invoke original accept4 function first, if
41990         available.
41991         * lib/sys_socket.in.h (accept4): If the function is already present,
41992         override it.
41993         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
41994         * modules/accept4 (Makefile.am): Compile accept4.c always.
41995         Reported by Paolo Bonzini and Eric Blake.
41996
41997 2009-08-23  Bruno Haible  <bruno@clisp.org>
41998
41999         New module 'accept4'.
42000         * lib/sys_socket.in.h (accept4): New declaration.
42001         * lib/accept4.c: New file.
42002         * m4/accept4.m4: New file.
42003         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42004         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42005         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42006         HAVE_ACCEPT4.
42007         * modules/accept4: New file.
42008         * doc/glibc-functions/accept4.texi: Mention the new module.
42009
42010 2009-08-24  Jim Meyering  <meyering@redhat.com>
42011
42012         progname: also set global program_invocation_name, when possible
42013         Before this change, a libtool-enabled program that calls glibc's
42014         error function would report the program name as
42015         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42016         * modules/progname (configure.ac): Check for a declaration of
42017         program_invocation_name.
42018         * lib/progname.c:  Include <errno.h>.
42019         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42020         Set program_invocation_name.
42021
42022 2009-08-23  Bruno Haible  <bruno@clisp.org>
42023
42024         * lib/dup3.c: Include <string.h>.
42025
42026 2009-08-23  Bruno Haible  <bruno@clisp.org>
42027
42028         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42029         * lib/pipe2.c (pipe2): Likewise.
42030         Suggested by Eric Blake.
42031
42032 2009-08-23  Bruno Haible  <bruno@clisp.org>
42033
42034         Tolerate declared but missing dup3 syscall.
42035         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42036         * lib/unistd.in.h (dup3): If the function is already present,
42037         override it.
42038         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42039         * modules/dup3 (Makefile.am): Compile dup3.c always.
42040         Reported by Paolo Bonzini.
42041
42042 2009-08-23  Bruno Haible  <bruno@clisp.org>
42043
42044         Tolerate declared but missing pipe2 syscall.
42045         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42046         available.
42047         * lib/unistd.in.h (pipe2): If the function is already present,
42048         override it.
42049         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42050         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42051         Reported by Paolo Bonzini.
42052
42053 2009-08-23  Bruno Haible  <bruno@clisp.org>
42054
42055         * lib/pipe2.c (pipe2): Move #ifs inside function.
42056
42057 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42058
42059         quotearg: document limitations of quote_these_too
42060         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42061         those limitations are created.
42062         * lib/quotearg.h (set_char_quoting): Document that digits and
42063         letters that are special after backslash are not permitted.
42064         (quotearg_char): Cross-reference set_char_quoting documentation.
42065
42066 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42067
42068         quotearg: implement custom_quoting_style
42069         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42070         right_quote fields.
42071         (set_custom_quoting): New public function.
42072         (quotearg_buffer_restyled): Add left_quote and right_quote
42073         arguments, handle them very much like locale quoting, and update
42074         all uses.
42075         (quotearg_n_custom): New public function.
42076         (quotearg_n_custom_mem): New public function.
42077         (quotearg_custom): New public function.
42078         (quotearg_custom_mem): New public function.
42079         * lib/quotearg.h: Prototype and document new public functions.
42080         (enum quoting_style): For escape_quoting_style and
42081         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42082         ignored even though they're otherwise like c_quoting_style.
42083         Add custom_quoting_style member and document with comparison to
42084         clocale_quoting_style.
42085         * tests/test-quotearg.c (custom_quotes): New array.
42086         (custom_results): New array.
42087         (main): Extend to test custom quoting.
42088
42089 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42090
42091         quotearg: fix right quote escaping when it's in quote_these_too
42092         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42093         quote, be sure to prepend only one backslash.
42094         * tests/test-quotearg.c (use_quote_double_quotes): New function.
42095         (main): Test it.
42096
42097 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42098
42099         quotearg-tests: test escaping of embedded locale quotes
42100         * tests/test-quotearg.c (struct result_strings): Add member for
42101         new input.
42102         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
42103         (inputs): Add new input.
42104         (results_g): Add expected results.
42105         (flag_results): Likewise.
42106         (locale_results): Likewise.
42107         (compare_strings): Check those.
42108
42109 2009-08-23  Bruno Haible  <bruno@clisp.org>
42110
42111         Tests for module 'dup3'.
42112         * modules/dup3-tests: New file.
42113         * tests/test-dup3.c: New file.
42114
42115         New module 'dup3'.
42116         * lib/unistd.in.h (dup3): New declaration.
42117         * lib/dup3.c: New file.
42118         * m4/dup3.m4: New file.
42119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
42120         HAVE_DUP3.
42121         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
42122         * modules/dup3: New file.
42123         * doc/glibc-functions/dup3.texi: Mention the new module.
42124
42125 2009-08-23  Bruno Haible  <bruno@clisp.org>
42126
42127         Tweak the dup2 test.
42128         * tests/test-dup2.c (main): Create the test file empty. Verify that an
42129         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
42130         the test file is still empty. Fix argument order of lseek.
42131
42132 2009-08-23  Bruno Haible  <bruno@clisp.org>
42133
42134         Avoid test link errors when the modules getopt-gnu, gettext are used.
42135         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
42136         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42137
42138 2009-08-23  Bruno Haible  <bruno@clisp.org>
42139
42140         Fix getdtablesize() on mingw.
42141         * lib/getdtablesize.c (getdtablesize): Implement differently.
42142         * lib/unistd.in.h (getdtablesize): Improve comment.
42143
42144 2009-08-23  Bruno Haible  <bruno@clisp.org>
42145
42146         New module 'mkostemp'.
42147         Based on Ulrich Drepper's 2007-08-10 change in glibc.
42148         * lib/stdlib.in.h (mksotemp): New declaration.
42149         * lib/mkostemp.c: New file, from glibc with modifications.
42150         * lib/tempname.h (GT_FILE): Remove outdated comment.
42151         (gen_tempname): Add flags argument.
42152         * lib/tempname.c (__GT_BIGFILE): Remove macro.
42153         (__GT_FILE): Map to 1.
42154         (small_open, large_open): Remove macros.
42155         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
42156         * lib/mkstemp.c (mkstemp): Update.
42157         * lib/mkdtemp.c (mkdtemp): Likewise.
42158         * m4/mkostemp.m4: New file.
42159         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
42160         HAVE_MKOSTEMP.
42161         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
42162         HAVE_MKOSTEMP.
42163         * modules/mkostemp: New file, based on modules/mkstemp.
42164         * doc/glibc-functions/mkostemp.texi: Mention the new module.
42165         * NEWS: Mention the change.
42166
42167 2009-08-23  Bruno Haible  <bruno@clisp.org>
42168
42169         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
42170         Reported by Eric Blake.
42171
42172 2009-08-23  Bruno Haible  <bruno@clisp.org>
42173
42174         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
42175         Reported by Eric Blake.
42176
42177 2009-08-23  Bruno Haible  <bruno@clisp.org>
42178
42179         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
42180         * modules/pipe2 (Depends-on): Likewise.
42181
42182 2009-08-23  Eric Blake  <ebb9@byu.net>
42183
42184         fcntl-h: add O_TTY_INIT support
42185         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
42186         * tests/test-fcntl-h.c (o): Test it.
42187         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42188
42189         fcntl-h: rename from fcntl, in preparation for fcntl(2)
42190         * modules/fcntl: Move <fcntl.h> header replacement...
42191         * modules/fcntl-h: ...to new name, so as not to collide with
42192         like-named function.
42193         * tests/test-fcntl.c: Rename...
42194         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
42195         * modules/fcntl-tests: Rename...
42196         * modules/fcntl-h-tests: ...to this.  Update test file name.
42197         * modules/chdir-long (Depends-on): Update clients.
42198         * modules/chdir-safer (Depends-on): Likewise.
42199         * modules/fcntl-safer (Depends-on): Likewise.
42200         * modules/fts (Depends-on): Likewise.
42201         * modules/mkancesdirs (Depends-on): Likewise.
42202         * modules/mkdir-p (Depends-on): Likewise.
42203         * modules/open (Depends-on): Likewise.
42204         * modules/savewd (Depends-on): Likewise.
42205         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
42206         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42207
42208 2009-08-22  Bruno Haible  <bruno@clisp.org>
42209
42210         * modules/binary-io (License): Relicense under LGPL.
42211         * modules/pipe2 (License): Likewise.
42212
42213 2009-08-22  Bruno Haible  <bruno@clisp.org>
42214
42215         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
42216         return value.
42217         * lib/pipe-filter-gi.c (filter_init): Likewise.
42218         Reported by Eric Blake.
42219
42220 2009-08-22  Bruno Haible  <bruno@clisp.org>
42221
42222         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
42223         * modules/pipe (Depends-on): Add pipe2.
42224
42225 2009-08-22  Bruno Haible  <bruno@clisp.org>
42226
42227         Tests for module 'pipe2'.
42228         * modules/pipe2-tests: New file.
42229         * tests/test-pipe2.c: New file.
42230
42231         New module 'pipe2'.
42232         * lib/unistd.in.h (pipe2): New declaration.
42233         * lib/pipe2.c: New file.
42234         * m4/pipe2.m4: New file.
42235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
42236         HAVE_PIPE2.
42237         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
42238         * modules/pipe2: New file.
42239         * doc/glibc-functions/pipe2.texi: Mention the new module.
42240
42241 2009-08-22  Bruno Haible  <bruno@clisp.org>
42242
42243         Reference some new glibc functions.
42244         * doc/glibc-functions/accept4.texi: New file.
42245         * doc/glibc-functions/dup3.texi: New file.
42246         * doc/glibc-functions/mkostemp.texi: New file.
42247         * doc/glibc-functions/pipe2.texi: New file.
42248         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
42249         (Glibc sys/socket.h): Refer to accept4.
42250         (Glibc unistd.h): Refer to dup3, pipe2.
42251         Reported by Eric Blake.
42252
42253 2009-08-22  Jim Meyering  <meyering@redhat.com>
42254             Bruno Haible  <bruno@clisp.org>
42255
42256         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
42257         This makes it so packages using automake-1.11's silent-rules option
42258         can print e.g., a single "GEN    configmake.h" line, rather than
42259         the 30+ statements that perform the job.  If you want to see the
42260         actual commands, you can still run "make V=1".
42261         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
42262         so that make output is abbreviated when those variables are defined
42263         appropriately.
42264         * modules/argz: Likewise.
42265         * modules/arpa_inet: Likewise.
42266         * modules/byteswap: Likewise.
42267         * modules/configmake: Likewise.
42268         * modules/dirent: Likewise.
42269         * modules/errno: Likewise.
42270         * modules/fcntl: Likewise.
42271         * modules/float: Likewise.
42272         * modules/fnmatch: Likewise.
42273         * modules/getopt-posix: Likewise.
42274         * modules/glob: Likewise.
42275         * modules/iconv_open: Likewise.
42276         * modules/inttypes: Likewise.
42277         * modules/localcharset: Likewise.
42278         * modules/locale: Likewise.
42279         * modules/math: Likewise.
42280         * modules/netdb: Likewise.
42281         * modules/netinet_in: Likewise.
42282         * modules/poll: Likewise.
42283         * modules/posix_spawnp-tests: Likewise.
42284         * modules/sched: Likewise.
42285         * modules/search: Likewise.
42286         * modules/selinux-h: Likewise.
42287         * modules/signal: Likewise.
42288         * modules/spawn: Likewise.
42289         * modules/stdarg: Likewise.
42290         * modules/stdbool: Likewise.
42291         * modules/stddef: Likewise.
42292         * modules/stdint: Likewise.
42293         * modules/stdio: Likewise.
42294         * modules/stdlib: Likewise.
42295         * modules/string: Likewise.
42296         * modules/strings: Likewise.
42297         * modules/sys_file: Likewise.
42298         * modules/sys_ioctl: Likewise.
42299         * modules/sys_select: Likewise.
42300         * modules/sys_socket: Likewise.
42301         * modules/sys_stat: Likewise.
42302         * modules/sys_time: Likewise.
42303         * modules/sys_times: Likewise.
42304         * modules/sys_utsname: Likewise.
42305         * modules/sys_wait: Likewise.
42306         * modules/sysexits: Likewise.
42307         * modules/time: Likewise.
42308         * modules/unistd: Likewise.
42309         * modules/wchar: Likewise.
42310         * modules/wctype: Likewise.
42311
42312 2009-08-22  Jim Meyering  <meyering@redhat.com>
42313
42314         announce-gen: detect write failure
42315         * build-aux/announce-gen: Add Coda at end.
42316         Remove equivalent-but-more-verbose block at top.
42317
42318 2009-08-19  Akim Demaille  <demaille@gostai.com>
42319
42320         bootstrap: --help to stdout.
42321         * bootstrap (usage): Don't send --help to stderr.
42322         Use a here doc instead of a long string.
42323
42324 2009-08-21  Eric Blake  <ebb9@byu.net>
42325
42326         test-popen-safer: split from test-popen
42327         * tests/test-popen.c (main): Move...
42328         * tests/test-popen.h: ...into new file.
42329         * tests/test-popen-safer2.c: New file.
42330         * modules/popen-tests (Files): Add test-popen.h.
42331         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
42332         Suggested by Bruno Haible.
42333
42334         test-fcntl-safer: split from test-open
42335         * tests/test-open.c (main): Move...
42336         * tests/test-open.h: ...into new file.
42337         * tests/test-fcntl-safer.c: New file.
42338         * modules/open-tests (Files): Add test-open.h.
42339         * modules/fcntl-safer-tests: New file.
42340         Suggested by Bruno Haible.
42341
42342         test-fopen-safer: split from test-fopen
42343         * tests/test-fopen.c (main): Move...
42344         * tests/test-fopen.h: ...into new file.
42345         * tests/test-fopen-safer.c: New file.
42346         * modules/fopen-tests (Files): Add test-fopen.h.
42347         * modules/fopen-safer-tests: New file.
42348         Suggested by Bruno Haible.
42349
42350 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42351
42352         popen-safer: test O_CLOEXEC at run-time.
42353         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
42354
42355 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42356
42357         fcntl: move more flags to the header
42358         * lib/cloexec.c: Do not define FD_CLOEXEC here.
42359         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
42360         * lib/fcntl.in.h: Do both things here.
42361
42362 2009-08-21  Jim Meyering  <meyering@redhat.com>
42363
42364         consistently remove $@-t before redirecting to it
42365         * modules/argz: Remove $@-t and $@ before redirecting to the former.
42366         * modules/alloca-opt: Likewise.
42367         * modules/byteswap: Likewise.
42368         * modules/fnmatch: Likewise.
42369         * modules/getopt-posix: Likewise.
42370         * modules/glob: Likewise.
42371         * modules/poll: Likewise.
42372         * modules/posix_spawnp-tests: Likewise.
42373         * modules/sys_socket: Likewise.
42374         * modules/sysexits: Likewise.
42375
42376 2009-08-21  Eric Blake  <ebb9@byu.net>
42377
42378         popen: simplify access to original popen
42379         * lib/popen.c (rpl_popen): No need to worry about popen being a
42380         macro.
42381         Reported by Bruno Haible.
42382
42383 2009-08-20  Eric Blake  <ebb9@byu.net>
42384
42385         build: avoid some compiler warnings
42386         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
42387         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
42388         type.
42389         (new_exclude_segment, excluded_file_pattern_p)
42390         (excluded_file_name_p): Reduce scope.
42391         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
42392         old-style declaration.
42393
42394 2009-08-20  Simon Josefsson  <simon@josefsson.org>
42395
42396         * tests/test-exclude1.sh: Handle Windows EOL.
42397         * tests/test-exclude2.sh: Likewise.
42398         * tests/test-exclude3.sh: Likewise.
42399         * tests/test-exclude4.sh: Likewise.
42400         * tests/test-exclude5.sh: Likewise.
42401         * tests/test-exclude6.sh: Likewise.
42402         * tests/test-exclude7.sh: Likewise.
42403
42404 2009-08-19  Akim Demaille  <demaille@gostai.com>
42405
42406         bootstrap: find sha1sum when named gsha1sum.
42407         * bootstrap (find_tool): New.
42408         ($SHA1SUM): New.
42409         Use it.
42410
42411 2009-08-20  Jim Meyering  <meyering@redhat.com>
42412
42413         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
42414         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
42415         expression that converts "." in a file name to "\." in the resulting
42416         regexp.  Start with a dummy statement, so that prior shell variable
42417         definitions are expanded portably.  Reported by Simon Josefsson.
42418
42419 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
42420
42421         Fix polling for writeability of a screen buffer.
42422         * lib/poll.c: Distinguish input and screen buffers for the
42423         Win32 implementation.
42424         * lib/select.c: Likewise.
42425
42426 2009-08-19  Eric Blake  <ebb9@byu.net>
42427
42428         popen-safer: prevent popen from clobbering std descriptors
42429         * modules/popen-safer: New file.
42430         * lib/popen-safer.c: Likewise.
42431         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
42432         * lib/stdio--.h (popen): Provide override.
42433         * lib/stdio-safer.h (popen_safer): Provide declaration.
42434         * tests/test-popen.c (includes): Partially test this.
42435         * modules/popen-safer-tests: New file, for more tests.
42436         * tests/test-popen-safer.c: Likewise.
42437         * MODULES.html.sh (file stream based Input/Output): Mention it.
42438
42439         tests: test some of the *-safer modules
42440         * modules/fopen-safer (Depends-on): Add fopen.
42441         * modules/fcntl-safer (Depends-on): Add fcntl.
42442         * modules/stdlib-safer (Depends-on): Add stdlib.
42443         (configure.ac): Set indicator.
42444         * modules/unistd-safer (configure.ac): Likewise.
42445         * modules/tmpfile-safer (configure.ac): Likewise.
42446         (Depends-on): Add tmpfile.
42447         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
42448         active.
42449         * tests/test-fopen.c (includes): Test safer versions when they are
42450         in use.
42451         * tests/test-open.c (includes): Likewise.
42452
42453         popen: fix cygwin 1.5 bug when stdin closed
42454         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
42455         * modules/popen: New file.
42456         * modules/popen-tests: Likewise.
42457         * tests/test-popen.c: Likewise.
42458         * m4/popen.m4: Likewise.
42459         * lib/popen.c: Likewise.
42460         * lib/stdio.in.h (popen): New declaration.
42461         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
42462         * modules/stdio (Makefile.am): Likewise.
42463         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
42464
42465 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
42466
42467         maint.mk: give full control over update-copyright exclusions
42468         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
42469         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
42470         (update-copyright): Don't force inclusion of top-level
42471         ChangeLog.  Don't force exclusion of all COPYING files, but make
42472         them the default exclusion instead.
42473
42474 2009-08-16  Bruno Haible  <bruno@clisp.org>
42475
42476         Fix test failures on Solaris 10.
42477         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
42478         tests when Solaris iconv() is used.
42479         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
42480         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
42481         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
42482         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
42483         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
42484
42485 2009-08-16  Bruno Haible  <bruno@clisp.org>
42486
42487         Fix test failures on Solaris 10.
42488         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
42489         'tr' program and pass it as first argument.
42490         * tests/test-pipe-filter-gi1.sh: Likewise.
42491         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
42492         program as first argument.
42493         * tests/test-pipe-filter-gi1.c (main): Likewise.
42494
42495 2009-08-16  Eric Blake  <ebb9@byu.net>
42496
42497         fpurge: fix previous commits
42498         * modules/fpurge (Makefile.am): Make replacement conditional,
42499         partially reverting 2007-04-29 change; missed in previous
42500         attempt.
42501         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
42502         is missing.
42503
42504 2009-08-16  Bruno Haible  <bruno@clisp.org>
42505
42506         Clarify fpurge's effect on the file position.
42507         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
42508         * tests/test-fpurge.c (main): Make a second pass for checking the file
42509         position.
42510
42511 2009-08-16  Bruno Haible  <bruno@clisp.org>
42512
42513         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
42514         declaration of fpurge is missing.
42515         * tests/test-fpurge.c (main): Check that the file has not more contents
42516         than expected. Close the file before removing it.
42517
42518 2009-08-15  Eric Blake  <ebb9@byu.net>
42519
42520         fpurge: don't wrap working cygwin implementation
42521         * lib/fpurge.c (fpurge): Fix comment typo.
42522         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
42523         1.7 to avoid replacement.
42524         * tests/test-fpurge.c (main): Enhance test.
42525
42526 2009-08-15  Eric Blake  <ebb9@byu.net>
42527         and Jim Meyering  <meyering@redhat.com>
42528
42529         test-update-copyright: skip if perl is insufficient
42530         * tests/test-update-copyright.sh: Failure to run maintainer tool
42531         should not cause testsuite failure on cygwin 1.5.
42532
42533 2009-08-14  Eric Blake  <ebb9@byu.net>
42534
42535         doc: mention more functions added in cygwin 1.7.0
42536         * doc/posix-headers/limits.texi (limits.h): Update for recent
42537         cygwin additions.
42538         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
42539         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
42540         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
42541         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
42542         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
42543
42544 2009-08-14  Eric Blake  <ebb9@byu.net>
42545
42546         maint.mk: simplify update-copyright rule
42547         * top/maint.mk (update-copyright-local): Delete, and document how
42548         to do it in cfg.mk instead.
42549         (update-copyright-exclude-regexp): Delete, and document how to do
42550         it in .x-update-copyright instead.
42551         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
42552         exclude ChangeLog.
42553
42554 2009-08-14  Bruno Haible  <bruno@clisp.org>
42555
42556         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
42557
42558 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42559
42560         maint.mk: support update-copyright-env
42561         * top/maint.mk (update-copyright-env): Define place-holder.
42562         (update-copyright): Expand $(update-copyright-env) before
42563         invoking update-copyright.
42564
42565 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42566
42567         update-copyright: implement forced reformatting
42568         * build-aux/update-copyright: Implement and document
42569         UPDATE_COPYRIGHT_FORCE.
42570         * tests/test-update-copyright.sh: Test it.
42571
42572 2009-08-14  Eric Blake  <ebb9@byu.net>
42573         and Bruno Haible  <bruno@clisp.org>
42574
42575         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
42576         * tests/test-locale.c: Revert previous patch related to NULL.
42577         * tests/test-stdio.c: Likewise.
42578         * tests/test-stdlib.c: Likewise.
42579         * tests/test-string.c: Likewise.
42580         * tests/test-unistd.c: Likewise.
42581         * modules/time-tests (Depends-on): Add verify.
42582         * modules/wchar-tests (Depends-on): Likewise.
42583         * tests/test-time.c: Test for NULL compliance.
42584         * tests/test-wchar.c: Likewise.
42585         * modules/locale (Depends-on): Add stddef.
42586         * modules/stdio (Depends-on): Likewise.
42587         * modules/stdlib (Depends-on): Likewise.
42588         * modules/string (Depends-on): Likewise.
42589         * modules/time (Depends-on): Likewise.
42590         * modules/unistd (Depends-on): Likewise.
42591         * modules/wchar (Depends-on): Likewise.
42592         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
42593         * lib/stdlib.in.h (includes): Likewise.
42594         * lib/string.in.h (includes): Likewise.
42595         * lib/time.in.h (includes): Likewise.
42596         * lib/unistd.in.h (includes): Likewise.
42597         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
42598         replaced.
42599         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42600         * m4/stddef_h.m4: New file.
42601         * modules/stddef: Likewise.
42602         * lib/stddef.in.h: Likewise.
42603         * modules/stddef-tests: Likewise.
42604         * tests/test-stddef.c: Likewise.
42605         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
42606         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
42607         * doc/posix-headers/locale.texi (locale.h): Likewise.
42608         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
42609         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
42610         * doc/posix-headers/string.texi (string.h): Likewise.
42611         * doc/posix-headers/time.texi (time.h): Likewise.
42612         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
42613         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
42614
42615 2009-08-14  Eric Blake  <ebb9@byu.net>
42616
42617         doc: improve git diff of texinfo files
42618         * .gitattributes: Add rule for *.texi files, with hint on how to
42619         use it.
42620         Copied from m4, and based on a report by Bruno Haible.
42621
42622 2009-08-14  Bruno Haible  <bruno@clisp.org>
42623
42624         Disable multithread support by default on Cygwin 1.5.x for real.
42625         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
42626
42627 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42628
42629         update-copyright: much ado about intervals
42630         * build-aux/update-copyright: Implement and document
42631         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
42632         of copyright year intervals.
42633         Also, document UPDATE_COPYRIGHT_YEAR.
42634         * tests/test-update-copyright.sh: Test it.
42635
42636         update-copyright: convert 2-digit to 4-digit years
42637         * build-aux/update-copyright: Implement and document.
42638         * tests/test-update-copyright.sh: Update.
42639
42640 2009-08-14  Jim Meyering  <meyering@redhat.com>
42641
42642         test-exclude: avoid coreutils "make check" failure
42643         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
42644         just as in test-argmatch.c.
42645
42646 2009-08-13  Eric Blake  <ebb9@byu.net>
42647
42648         test-dup2: fix bad assumption
42649         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
42650         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
42651
42652         test-version-etc: fix CRLF portability issue
42653         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
42654         recognize \r.
42655         * tests/test-argp-version-etc-1.sh: Likewise.
42656
42657         getopt: update client modules
42658         * modules/argp (Depends-on): Use getopt-gnu.
42659         * modules/git-merge-changelog (Depends-on): Likewise.
42660         * modules/long-options (Depends-on): Likewise.
42661         * modules/xstrtol (Depends-on): Likewise.
42662
42663 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42664
42665         * tests/test-version-etc.sh: Don't fail on different
42666         project/version.  Don't fail on CRLF differences.  Rewrite to use
42667         multiple -e instead of multiple sed forks, suggested by Eric Blake
42668         <ebb9@byu.net>.
42669         * tests/test-argp-version-etc-1.sh: Likewise.
42670
42671 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42672
42673         * tests/test-version-etc.sh: Don't fail on different
42674         project/version.
42675
42676 2009-08-12  Bruno Haible  <bruno@clisp.org>
42677
42678         Tests for modules 'getopt-posix', 'getopt-gnu'.
42679         * modules/getopt-posix-tests: New file.
42680         * tests/test-getopt.c: New file.
42681         * tests/test-getopt.h: New file.
42682         * tests/test-getopt_long.h: New file.
42683
42684         New modules 'getopt-posix', 'getopt-gnu'.
42685         * modules/getopt-gnu: New file, renamed from modules/getopt.
42686         * modules/getopt-posix: New file.
42687         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
42688         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
42689         (gl_GETOPT): Remove macro.
42690         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
42691         Disable the test against BSD systems that declare optreset. Test
42692         against mingw bug. Test against lack of support of optional arguments
42693         on many platforms.
42694         * doc/glibc-headers/getopt.texi: Update module name and list of
42695         relevant platforms.
42696         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
42697         'getopt-gnu' and more portability problems.
42698         * NEWS: Mention the changes.
42699
42700 2009-08-12  Bruno Haible  <bruno@clisp.org>
42701
42702         Ensure that optarg etc. get declared by <unistd.h>.
42703         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
42704         AC_USE_SYSTEM_EXTENSIONS.
42705         * modules/getopt (Depends-on): Add 'extensions'.
42706
42707 2009-08-12  Bruno Haible  <bruno@clisp.org>
42708
42709         Avoid test link errors.
42710         * modules/pipe-filter-ii-tests (Makefile.am): Define
42711         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
42712         * modules/pipe-filter-gi-tests (Makefile.am): Define
42713         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
42714         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42715
42716 2009-08-12  Bruno Haible  <bruno@clisp.org>
42717
42718         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
42719         gl_GETOPT_SUBSTITUTE before.
42720         (gl_GETOPT): Use it.
42721         * m4/argp.m4 (gl_ARGP): Update.
42722         Reported by Sergey Poznyakoff.
42723
42724         * m4/getopt.m4: Reorder macros.
42725         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
42726         (gl_GETOPT_SUBSTITUTE): Remove macro.
42727
42728 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42729
42730         Minor improvement in gitlog-to-changelog
42731
42732         * build-aux/gitlog-to-changelog: New option `--format' makes
42733         output format string configurable.
42734
42735 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42736
42737         Optimize exclude: use hash tables for non-wildcard patterns.
42738
42739         * lib/exclude.c: Include hash.h and mbuiter.h
42740         (struct exclude_pattern, exclude_segment): New data types.
42741         (struct exclude): Rewrite.
42742         (fnmatch_pattern_has_wildcards): New function.
42743         (new_exclude_segment, free_exclude_segment): New functions.
42744         (excluded_file_pattern_p, excluded_file_name_p): New functions.
42745         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
42746         * lib/exclude.h (is_fnmatch_pattern): New prototype.
42747         * modules/exclude: Depend on hash and mbuiter.
42748
42749         * modules/exclude-tests: New file.
42750         * tests/test-exclude.c: New file.
42751         * tests/test-exclude1.sh: New file.
42752         * tests/test-exclude2.sh: New file.
42753         * tests/test-exclude3.sh: New file.
42754         * tests/test-exclude4.sh: New file.
42755         * tests/test-exclude5.sh: New file.
42756         * tests/test-exclude6.sh: New file.
42757         * tests/test-exclude7.sh: New file.
42758
42759 2009-08-12  Bruno Haible  <bruno@clisp.org>
42760
42761         Ensure that getopt() gets declared by <unistd.h>.
42762         * lib/unistd.in.h: Conditionally include getopt.h.
42763         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
42764         Set GNULIB_UNISTD_H_GETOPT.
42765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42766         GNULIB_UNISTD_H_GETOPT.
42767         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
42768
42769 2009-08-12  Bruno Haible  <bruno@clisp.org>
42770
42771         Clarify logic.
42772         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
42773         gl_replace_getopt instead of GETOPT_H.
42774
42775 2009-08-12  Bruno Haible  <bruno@clisp.org>
42776
42777         * m4/getopt.m4: Add comments.
42778
42779 2009-08-12  Bruno Haible  <bruno@clisp.org>
42780
42781         Disable multithread support by default on Cygwin 1.5.x.
42782         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
42783         set gl_use_threads=no if not specified otherwise.
42784
42785 2009-08-11  Bruno Haible  <bruno@clisp.org>
42786
42787         Avoid compilation error on NetBSD 5.0.
42788         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
42789         * tests/test-stdio.c: Likewise.
42790         * tests/test-stdlib.c: Likewise.
42791         * tests/test-string.c: Likewise.
42792         * tests/test-unistd.c: Likewise.
42793         Reported by Greg Troxel <gdt@ir.bbn.com>
42794         at <https://savannah.gnu.org/support/?106973>.
42795
42796 2009-08-11  Bruno Haible  <bruno@clisp.org>
42797
42798         * modules/dup2-tests (Depends-on): Remove close.
42799
42800         Undo 2009-07-19 commit.
42801         * modules/acl-tests (Depends-on): Remove close.
42802         * modules/binary-io-tests (Depends-on): Likewise.
42803         * modules/closein-tests (Depends-on): Likewise.
42804         * modules/flock-tests (Depends-on): Likewise.
42805         * modules/fsync-tests (Depends-on): Likewise.
42806         * modules/lseek-tests (Depends-on): Likewise.
42807         * modules/pipe-tests (Depends-on): Likewise.
42808         * modules/posix_spawn-tests (Depends-on): Likewise.
42809         * modules/posix_spawnp-tests (Depends-on): Likewise.
42810         * modules/stat-time-tests (Depends-on): Likewise.
42811         * modules/yesno-tests (Depends-on): Likewise.
42812
42813 2009-08-10  Bruno Haible  <bruno@clisp.org>
42814
42815         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
42816
42817 2009-08-10  Bruno Haible  <bruno@clisp.org>
42818
42819         Fix a gcc warning.
42820         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
42821
42822 2009-08-10  Bruno Haible  <bruno@clisp.org>
42823
42824         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
42825         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
42826         not only the first time.
42827         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
42828         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
42829         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
42830         is 1, not only the the first time.
42831
42832 2009-08-10  Bruno Haible  <bruno@clisp.org>
42833
42834         Make it possible to use module 'gethostname' without module 'close'.
42835         * lib/unistd.in.h (close): Evoke a link error only if
42836         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42837         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42838         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42839         * modules/unistd (Makefile.am): Substitute
42840         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42841         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
42842         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42843         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
42844         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42845         * modules/sys_ioctl (Makefile.am): Substitute
42846         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42847         * modules/socket (configure.ac): On native Windows, set
42848         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
42849         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42850         Reported by Sam Steingold <sds@gnu.org>.
42851
42852 2009-08-10  Bruno Haible  <bruno@clisp.org>
42853
42854         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
42855         * modules/ioctl (configure.ac): Likewise.
42856
42857 2009-08-10  Bruno Haible  <bruno@clisp.org>
42858
42859         Avoid collision between gnulib wrapper and libintl wrapper.
42860         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
42861         already defined in intl/printf.c.
42862         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
42863         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
42864
42865 2009-08-09  Bruno Haible  <bruno@clisp.org>
42866
42867         Make <sys/select.h> really self-contained, also on Solaris 10.
42868         * lib/sys_select.in.h: Include <string.h>.
42869         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
42870         Solaris 10 problem.
42871         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
42872         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
42873         Reported by Jim Meyering.
42874
42875 2009-08-09  Bruno Haible  <bruno@clisp.org>
42876
42877         Avoid warnings from 'aclocal' that are due to a use of macro name
42878         AM_XGETTEXT_OPTION that is not defined in automake.
42879         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
42880         automake.
42881         * modules/error (configure.ac): Likewise.
42882         * modules/propername (configure.ac): Likewise.
42883         * modules/vasprintf (configure.ac): Likewise.
42884         * modules/verror (configure.ac): Likewise.
42885         * modules/xprintf (configure.ac): Likewise.
42886         * modules/xvasprintf (configure.ac): Likewise.
42887
42888 2009-08-08  Bruno Haible  <bruno@clisp.org>
42889
42890         Avoid compilation error in C++ mode.
42891         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
42892         Reported by Sam Steingold <sds@gnu.org>.
42893
42894 2009-08-08  Bruno Haible  <bruno@clisp.org>
42895
42896         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
42897         for the various Unix platforms.
42898         * doc/posix-headers/limits.texi: Update platforms list regarding
42899         HOST_NAME_MAX.
42900         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42901
42902 2009-08-07  Jim Meyering  <meyering@redhat.com>
42903
42904         selinux-at: fix typo in a comment
42905         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
42906         Spotted by Paolo Bonzini.
42907
42908         selinux-at: remove redundant m4 code, add documentation
42909         * modules/selinux-at (configure.ac): Remove redundant code.
42910         LIB_SELINUX is already set via the dependent module, selinux-h.
42911         (Include): Add quotes around selinux-at.h.
42912         * lib/selinux-at.h: Add documentation.
42913         Reported by Bruno Haible in
42914         http://marc.info/?l=gnulib-bug&m=124958988300749
42915
42916 2009-08-07  Bruno Haible  <bruno@clisp.org>
42917
42918         Avoid link error on MacOS X 10.3 and 10.4.
42919         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
42920         on non-ELF systems.
42921         * lib/argp-pv.c (argp_program_version): Likewise.
42922         Reported by Simon Josefsson.
42923
42924 2009-08-07  Simon Josefsson  <simon@josefsson.org>
42925
42926         * tests/test-version-etc.sh: Use $EXEEXT.
42927
42928 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
42929
42930         update-copyright: update documentation to point to maint.mk
42931         * build-aux/update-copyright: Here.
42932
42933 2009-08-06  Jim Meyering  <meyering@redhat.com>
42934
42935         maint.mk: support update-copyright-local
42936         * top/maint.mk (update-copyright-local): Define place-holder.
42937         (update-copyright): Depend on $(update-copyright-local).
42938
42939 2009-08-06  Jim Meyering  <meyering@redhat.com>
42940
42941         selinux-at: new module
42942         Initially written for coreutils, this module will soon be
42943         used by findutils, too.
42944         * MODULES.html.sh [Misc]: Add selinux-at.
42945         * lib/selinux-at.h: New file, from coreutils.
42946         * lib/selinux-at.c: Likewise.
42947         * modules/selinux-at: Likewise.
42948         (License): Change from LGPL to GPL, since it depends
42949         on the GPL'd openat module.
42950
42951         doc: update README
42952         * README: Remove references to cogito.
42953         Remove cvs-repo-updating instructions from 2007.
42954         Don't imply that CVS is better if you have limited disk space.
42955
42956 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42957
42958         update-copyright: support C-style comments
42959         * build-aux/update-copyright: Implement and document.
42960         * tests/test-update-copyright.sh: Test.
42961
42962 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42963
42964         update-copyright: support omitted "(C)"
42965         * build-aux/update-copyright: Implement and document.  Also,
42966         allow variable whitespace before "(C)".
42967         * tests/test-update-copyright.sh: Test.
42968
42969 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42970
42971         update-copyright: don't trip on non-FSF copyright statements
42972         * build-aux/update-copyright: Fix so that the first correctly
42973         formatted FSF copyright statement is recognized no matter what
42974         appears before it.  Update documentation.
42975         * tests/test-update-copyright.sh: Test that.
42976
42977 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42978
42979         update-copyright: clean up code a little
42980         * build-aux/update-copyright: Append "_re" to the name of any
42981         variable holding a regular expression.
42982         Replace "old" and "new" with "stmt" in variable names.
42983         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
42984         handled correctly.
42985         Format code more consistently.
42986
42987 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42988
42989         update-copyright-tests: improve portability
42990         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
42991         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
42992
42993 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
42994
42995         update-copyright: support @copyright{} and &copy;
42996         * build-aux/update-copyright: Implement and document.
42997         * tests/test-update-copyright.sh: Test.
42998
42999 2009-08-04  Jim Meyering  <meyering@redhat.com>
43000
43001         update-copyright-tests: correctly test EOL=\r\n handling
43002         * tests/test-update-copyright.sh: Put \r at the end of some lines
43003         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43004
43005         maint.mk: make update-copyright exclusion list more configurable
43006         * top/maint.mk (update-copyright): Default to excluding COPYING,
43007         but allow an override, in case someone does want to update that file.
43008
43009         maint.mk: don't update copyright date in COPYING
43010         * top/maint.mk (update-copyright): Exclude COPYING.
43011
43012         maint.mk: add a copyright-updating rule
43013         * top/maint.mk (update-copyright): New rule.
43014         Derived from coreutils/Makefile.am.
43015
43016         update-copyright: rename some variables
43017         * build-aux/update-copyright: Rename a few variables for clarity.
43018         Tweak syntax.  List Joel E. Denny as coauthor.
43019
43020 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43021
43022         update-copyright: fix bug for 2-digit last year and add tests
43023         * build-aux/update-copyright: Fix bug.
43024         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43025         specified.
43026         * modules/update-copyright-tests: New
43027         * tests/test-update-copyright.sh: New.
43028
43029 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43030
43031         update-copyright: handle leading tabs in line prefix
43032         * build-aux/update-copyright: Count leading tabs as 8 spaces
43033         when computing margin.  This helps with the formatting of
43034         ChangeLogs, for example.
43035         Fix documentation a little.
43036
43037 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43038
43039         update-copyright: support EOL=\r\n
43040         * build-aux/update-copyright: Implement that.
43041
43042 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43043
43044         update-copyright: automatically format copyright statements
43045         * build-aux/update-copyright: Implement that.
43046         Also, be a little more predictable and safer by always failing
43047         when the full copyright format is not perfectly recognized as an
43048         unbroken whole.  Discussed at
43049         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43050         Rewrite documentation.
43051
43052 2009-08-03  Bruno Haible  <bruno@clisp.org>
43053
43054         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43055
43056 2009-08-02  Bruno Haible  <bruno@clisp.org>
43057
43058         Tests for module 'uname'.
43059         * modules/uname-tests: New file.
43060         * tests/test-uname.c: New file.
43061
43062         New module 'uname'.
43063         * lib/uname.c: New file.
43064         * m4/uname.m4: New file.
43065         * modules/uname: New file.
43066         * doc/posix-functions/uname.texi: Mention the new module.
43067
43068 2009-08-02  Bruno Haible  <bruno@clisp.org>
43069
43070         Tests for module 'sys_utsname'.
43071         * modules/sys_utsname-tests: New file.
43072         * tests/test-sys_utsname.c: New file.
43073
43074         New module 'sys_utsname'.
43075         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43076         * m4/sys_utsname_h.m4: New file.
43077         * modules/sys_utsname: New file.
43078         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43079
43080 2009-08-02  Bruno Haible  <bruno@clisp.org>
43081
43082         Implicitly initialize the sockets library.
43083         * lib/gethostname.c: Include sockets.h.
43084         (rpl_gethostname): Invoke gl_sockets_startup.
43085         * lib/socket.c: Include sockets.h.
43086         (rpl_socket): Invoke gl_sockets_startup.
43087         * modules/gethostname (Depends-on): Add sockets.
43088         * modules/socket (Depends-on): Likewise.
43089         * tests/test-poll.c: Don't include sockets.h.
43090         (main): Don't invoke gl_sockets_startup.
43091         * tests/test-select.c: Don't include sockets.h.
43092         (main): Don't invoke gl_sockets_startup.
43093
43094 2009-08-02  Bruno Haible  <bruno@clisp.org>
43095
43096         Allow multiple calls to gl_sockets_startup.
43097         * lib/sockets.c (initialized_sockets_version): New variable.
43098         (gl_sockets_startup): Do nothing if already called for this or a higher
43099         version.
43100         (gl_sockets_cleanup): Reset initialized_sockets_version.
43101
43102 2009-08-03  Simon Josefsson  <simon@josefsson.org>
43103
43104         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
43105         different project/version.
43106
43107 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
43108             Bruno Haible  <bruno@clisp.org>
43109
43110         Tests for module 'pipe-filter-gi'.
43111         * modules/pipe-filter-gi-tests: New file.
43112         * tests/test-pipe-filter-gi1.sh: New file.
43113         * tests/test-pipe-filter-gi1.c: New file.
43114         * tests/test-pipe-filter-gi2.sh: New file.
43115         * tests/test-pipe-filter-gi2-main.c: New file.
43116         * tests/test-pipe-filter-gi2-child.c: New file.
43117
43118         New module 'pipe-filter-gi'.
43119         * lib/pipe-filter-gi.c: New file.
43120         * modules/pipe-filter-gi: New file.
43121
43122 2009-08-02  Bruno Haible  <bruno@clisp.org>
43123             Paolo Bonzini  <bonzini@gnu.org>
43124
43125         Tests for module 'pipe-filter-ii'.
43126         * modules/pipe-filter-ii-tests: New file.
43127         * tests/test-pipe-filter-ii1.sh: New file.
43128         * tests/test-pipe-filter-ii1.c: New file.
43129         * tests/test-pipe-filter-ii2.sh: New file.
43130         * tests/test-pipe-filter-ii2-main.c: New file.
43131         * tests/test-pipe-filter-ii2-child.c: New file.
43132
43133         New module 'pipe-filter-ii'.
43134         * lib/pipe-filter.h: New file.
43135         * lib/pipe-filter-ii.c: New file.
43136         * lib/pipe-filter-aux.h: New file.
43137         * modules/pipe-filter-ii: New file.
43138
43139 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43140
43141         * lib/gc-libgcrypt.c: Change copyright to FSF.
43142         * lib/gc-gnulib.c: Likewise.
43143
43144 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
43145
43146         * lib/gethostname.c: Include limits.h.
43147
43148 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43149             Bruno Haible  <bruno@clisp.org>
43150
43151         Ensure HOST_NAME_MAX as part of the gethostname module.
43152         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
43153         define also HOST_NAME_MAX.
43154         * tests/test-gethostname.c: Include <limits.h>.
43155         (main): Check also HOST_NAME_MAX.
43156         * doc/posix-headers/limits.texi: Document the mingw problem.
43157
43158 2009-08-02  Bruno Haible  <bruno@clisp.org>
43159
43160         * lib/gethostname.c (gethostname): Fix handling of large len argument.
43161         Add comments.
43162
43163 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43164
43165         * lib/gethostname.c: Add Windows wrapper.
43166         * m4/gethostname.m4: Look for gethostname in -lws2_32.
43167         * modules/gethostname: Depend on sys_socket & errno, for also
43168         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
43169         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
43170
43171 2009-07-31  Jim Meyering  <meyering@redhat.com>
43172
43173         getloadavg: fix symbol name in comment
43174         * lib/getloadavg.c: Correct a typo I introduced when adding
43175         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
43176         Matt Kraai spotted the problem.
43177
43178 2009-07-29  Matt Kraai  <mkraai@beckman.com>
43179
43180         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
43181         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
43182         code also if ! defined N_NAME_POINTER.
43183         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
43184         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
43185         but the n_name member is a 12-byte array.
43186
43187 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
43188
43189         update-copyright: generalize comment handling
43190         * build-aux/update-copyright: Handle copyright statements
43191         within more comment styles.
43192         Document usage.
43193         Report any file with an external copyright holder or parse failure.
43194
43195 2009-07-29  Jim Meyering  <meyering@redhat.com>
43196
43197         mktime: correct setting of REPLACE_MKTIME
43198         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
43199
43200         update-copyright: new module
43201         * modules/update-copyright: New file.
43202         * build-aux/update-copyright: New file.
43203         * MODULES.html.sh (maint+release support): Add update-copyright.
43204
43205 2009-07-27  Bruno Haible  <bruno@clisp.org>
43206
43207         Fix compilation error when <ctime> is used and mktime is replaced.
43208         * lib/time.in.h (mktime): New declaration.
43209         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
43210         REPLACE_MKTIME instead of defining mktime in config.h.
43211         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
43212         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
43213         Reported by Ross McFarland <rwmcfa1@neces.com>.
43214
43215 2009-07-27  Bruno Haible  <bruno@clisp.org>
43216
43217         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
43218         Reported by Matt Kraai <mkraai@beckman.com>.
43219
43220 2009-07-25  Jim Meyering  <meyering@redhat.com>
43221
43222         maint.mk: avoid warnings about missing files
43223         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
43224         diagnostic when .prev-version does not exist.
43225         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
43226         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
43227         nonexistent cfg.mk.
43228         Suggestions from Simon Josefsson.
43229
43230 2009-07-25  Bruno Haible  <bruno@clisp.org>
43231
43232         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
43233         defined as macros. Needed on QNX 6.4.1.
43234         Reported by Matt Kraai <mkraai@beckman.com>.
43235
43236 2009-07-23  Jim Meyering  <meyering@redhat.com>
43237
43238         maint.mk: invoke "make dist" with a working value of XZ_OPT
43239         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
43240
43241 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
43242
43243         Make fseeko.c compile on QNX.
43244         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
43245
43246 2009-07-22  Peter Simons  <simons@cryp.to>
43247
43248         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
43249         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
43250         * lib/md4.h: Likewise.
43251         * lib/md5.h: Likewise.
43252         * lib/sha1.h: Likewise.
43253         * lib/sha256.h: Likewise.
43254         * lib/sha512.h: Likewise.
43255
43256         tests-sha1: don't assign literal string to 'char *' variable
43257         * tests/test-sha1.c (main): Declare locals with "const" to match
43258         attributes of the right hand side.
43259
43260 2009-07-21  Eric Blake  <ebb9@byu.net>
43261
43262         dup2: fix more mingw problems
43263         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
43264         fd to itself.
43265         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43266         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
43267         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
43268         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
43269         care of mingw bugs.
43270
43271 2009-07-21  Jim Meyering  <meyering@redhat.com>
43272
43273         vc-list-files: avoid failure when /bin/sh is dash
43274         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
43275         On some Debian based systems, /bin/sh is a symlink to dash, and running
43276         this command would omit the "/" following each 'tests' prefix:
43277           dash -x build-aux/vc-list-files -C . tests
43278         That is because bash and dash work differently:
43279           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
43280           bash ok
43281           dash odd
43282
43283 2009-07-21  Eric Blake  <ebb9@byu.net>
43284
43285         dup2-tests: test previous patch
43286         * modules/dup2-tests: New file.
43287         * tests/test-dup2.c: Likewise.
43288         * tests/test-open.c (main): Avoid unspecified behavior.
43289         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
43290         test.
43291
43292         dup2: work around mingw and cygwin 1.5 bug
43293         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
43294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43295         * modules/unistd (Makefile.am): Substitute it.
43296         * lib/unistd.in.h (dup2): Declare the replacement.
43297         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
43298         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
43299         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
43300         * modules/execute (Depends-on): Add dup2.
43301         * modules/fseterr (Depends-on): Likewise.
43302         * modules/pipe (Depends-on): Likewise.
43303         * modules/posix_spawn-internal (Depends-on): Likewise.
43304
43305 2009-07-21  Bruno Haible  <bruno@clisp.org>
43306
43307         * modules/.gitattributes: New file.
43308
43309 2009-07-20  Bruno Haible  <bruno@clisp.org>
43310
43311         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
43312         (main): Use it.
43313
43314 2009-07-20  Eric Blake  <ebb9@byu.net>
43315
43316         test-pipe: make a bit more robust.
43317         * tests/test-pipe.c (myerr): Allow error messages regardless of
43318         what we do to stderr.
43319         (test_pipe): Rearrange to avoid deadlock.
43320         (child_main): Try a larger read, to ensure we avoided deadlock.
43321         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
43322         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
43323         if misused.
43324
43325 2009-07-19  Jim Meyering  <meyering@redhat.com>
43326
43327         fts: avoid false-positive cycle-detection
43328         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
43329         for each new command line argument.
43330
43331 2009-07-19  Bruno Haible  <bruno@clisp.org>
43332
43333         Fix build error on mingw with the modules sys_select and unistd.
43334         * modules/acl-tests (Depends-on): Add close.
43335         * modules/binary-io-tests (Depends-on): Likewise.
43336         * modules/closein-tests (Depends-on): Likewise.
43337         * modules/flock-tests (Depends-on): Likewise.
43338         * modules/fsync-tests (Depends-on): Likewise.
43339         * modules/lseek-tests (Depends-on): Likewise.
43340         * modules/pipe-tests (Depends-on): Likewise.
43341         * modules/posix_spawn-tests (Depends-on): Likewise.
43342         * modules/posix_spawnp-tests (Depends-on): Likewise.
43343         * modules/stat-time-tests (Depends-on): Likewise.
43344         * modules/yesno-tests (Depends-on): Likewise.
43345
43346 2009-07-19  Bruno Haible  <bruno@clisp.org>
43347
43348         Unify conditionals.
43349         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
43350         macros, not at the compiler macros.
43351         * lib/pipe.c: Likewise.
43352         * lib/execute.c: Likewise.
43353         * lib/spawni.c: Likewise.
43354
43355 2009-07-19  Bruno Haible  <bruno@clisp.org>
43356
43357         Fix handling of closed stdin/stdout/stderr on mingw.
43358         * lib/w32spawn.h: Include unistd.h.
43359         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
43360         file descriptor with O_NOINHERIT flag.
43361         (fd_safer_noinherit): New function, based on fd-safer.c.
43362         (dup_safer_noinherit): New function, based on dup-safer.c.
43363         (undup_safer_noinherit): New function.
43364         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
43365         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
43366         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
43367         instead of fd_safer.
43368         * tests/test-pipe.c: Include <windows.h>.
43369         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
43370         result.
43371
43372         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
43373         from main.
43374         (test_pipe): Pass an extra argument for disambiguation.
43375         (main): Invoke parent_main or child_main.
43376
43377         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
43378         consistently.
43379
43380 2009-07-18  Eric Blake  <ebb9@byu.net>
43381
43382         test-pipe: fix mingw build
43383         * tests/test-pipe.c (main): Avoid fcntl on mingw.
43384
43385 2009-07-18  Bruno Haible  <bruno@clisp.org>
43386
43387         * modules/pipe-tests (Makefile.am): Fix typo.
43388
43389 2009-07-18  Eric Blake  <ebb9@byu.net>
43390
43391         error: fix mingw build
43392         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
43393         Reported by Bruno Haible.
43394
43395         error: avoid undefined use of stdout
43396         * lib/error.c (error, error_at_line): Check that fd 1 is open
43397         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
43398         is handling faults and the close_stdout module wants to report the
43399         detection of closed stdout as an error.
43400
43401 2009-07-17  Eric Blake  <ebb9@byu.net>
43402
43403         pipe: be robust in face of closed fds
43404         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
43405         should cause child to misbehave.
43406         * modules/pipe-tests: New module.
43407         * tests/test-pipe.c: New file.
43408         * tests/test-pipe.sh: New file.
43409         Reported by Akim Demaille.
43410
43411 2009-07-14  Bruno Haible  <bruno@clisp.org>
43412
43413         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
43414         Reported by anonymous kc.
43415
43416 2009-07-07  Jim Meyering  <meyering@redhat.com>
43417
43418         maint.mk: don't look for translatable strings in *.m4 or *.mk
43419         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
43420         when searching for translatable strings.
43421
43422 2009-07-05  Jim Meyering  <meyering@redhat.com>
43423
43424         remove superfluous parentheses in STREQ definition
43425         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
43426         * lib/getugroups.c (STREQ): Likewise.
43427         * lib/fnmatch.c (STREQ): Likewise.
43428         Spotted by Bruno Haible.
43429
43430 2009-07-04  Jim Meyering  <meyering@redhat.com>
43431
43432         argv-iter: new module
43433         * MODULES.html.sh: Add argv-iter.
43434         * lib/argv-iter.c, lib/argv-iter.h: New files.
43435         * modules/argv-iter: New file.
43436         * modules/argv-iter-tests: New file.
43437         * tests/test-argv-iter.c: Test it.
43438
43439 2009-07-04  Bruno Haible  <bruno@clisp.org>
43440
43441         Fix assertion.
43442         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
43443         contains more exact copies of a given entry than file2, leave the extra
43444         copies unpaired rather than aborting.
43445         Reported by Eric Blake.
43446
43447 2009-07-02  Bruno Haible  <bruno@clisp.org>
43448
43449         Speedup git-merge-changelog for git cherry-pick.
43450         * lib/git-merge-changelog.c (struct entries_mapping): New type.
43451         (entries_mapping_get): New function, extracted from compute_mapping.
43452         (entries_mapping_reverse_get): New function.
43453         (compute_mapping): Add a 'full' argument. Return the result in a
43454         'struct entries_mapping'.
43455         (main): Update. Access the mappings through entries_mapping_get.
43456         Reported by Eric Blake.
43457
43458 2009-07-02  Bruno Haible  <bruno@clisp.org>
43459
43460         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
43461         best_i.
43462
43463 2009-07-02  Bruno Haible  <bruno@clisp.org>
43464
43465         Speed up approximate search for matching ChangeLog entries.
43466         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
43467         argument. Call fstrcmp_bounded instead of fstrcmp.
43468         (compute_mapping, try_split_merged_entry, main): Update callers.
43469
43470 2009-07-02  Bruno Haible  <bruno@clisp.org>
43471
43472         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
43473
43474 2009-06-30  Bruno Haible  <bruno@clisp.org>
43475
43476         Reduce the number of uc_is_cased calls.
43477         * lib/unicase.h (casing_suffix_context_t): Add
43478         'first_char_except_ignorable' field.
43479         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
43480         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
43481         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
43482         Update initializer.
43483         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
43484         case-ignorable characters.
43485         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
43486         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
43487         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
43488         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
43489         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
43490
43491 2009-06-30  Bruno Haible  <bruno@clisp.org>
43492
43493         Tests for module 'unicase/ignorable'.
43494         * modules/unicase/ignorable-tests: New file.
43495         * tests/unicase/test-ignorable.c: New file, generated by
43496         gen-uni-tables.
43497
43498         Tests for module 'unicase/cased'.
43499         * modules/unicase/cased-tests: New file.
43500         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
43501         * tests/unicase/test-predicate-part1.h: New file, derived from
43502         tests/unictype/test-predicate-part1.h.
43503         * tests/unicase/test-predicate-part2.h: New file, same as
43504         tests/unictype/test-predicate-part2.h.
43505
43506         Fix evaluation of "Before C" condition of FINAL_SIGMA.
43507         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
43508         (output_casing_properties): New function.
43509         (main): Call it.
43510         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
43511         * lib/unicase/cased.c: Include unictype/bitmap.h.
43512         (uc_is_cased): Define through a bitmap lookup.
43513         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
43514         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
43515         (uc_is_case_ignorable): Define through a bitmap lookup.
43516         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
43517         lib/unictype/bitmap.h.
43518         (Depends-on): Add inline. Clean up.
43519         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
43520         lib/unictype/bitmap.h.
43521         (Depends-on): Add inline. Clean up.
43522         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
43523         recognition.
43524         * tests/unicase/test-u16-tolower.c (main): Likewise.
43525         * tests/unicase/test-u32-tolower.c (main): Likewise.
43526
43527 2009-06-30  Bruno Haible  <bruno@clisp.org>
43528
43529         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
43530         * lib/unicase/u16-casemap.c: Likewise.
43531         * lib/unicase/u32-casemap.c: Likewise.
43532
43533 2009-06-29  Bruno Haible  <bruno@clisp.org>
43534
43535         Define u32_casefold as a wrapper around u32_ct_casefold.
43536         * lib/unicase/u32-casefold.c: Update.
43537         * modules/unicase/u32-casefold (Depends-on): Add
43538         unicase/u32-ct-casefold, unicase/empty-prefix-context,
43539         unicase/empty-suffix-context. Clean up.
43540
43541         Define u16_casefold as a wrapper around u16_ct_casefold.
43542         * lib/unicase/u16-casefold.c: Update.
43543         * modules/unicase/u16-casefold (Depends-on): Add
43544         unicase/u16-ct-casefold, unicase/empty-prefix-context,
43545         unicase/empty-suffix-context. Clean up.
43546
43547         Define u8_casefold as a wrapper around u8_ct_casefold.
43548         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
43549         * lib/unicase/u8-casefold.c: Update.
43550         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
43551         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43552
43553         Define u32_totitle as a wrapper around u32_ct_totitle.
43554         * lib/unicase/u32-totitle.c: Update.
43555         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
43556         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43557
43558         Define u16_totitle as a wrapper around u16_ct_totitle.
43559         * lib/unicase/u16-totitle.c: Update.
43560         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
43561         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43562
43563         Define u8_totitle as a wrapper around u8_ct_totitle.
43564         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
43565         functions.
43566         (FUNC): Delegate to U_CT_TOTITLE.
43567         * lib/unicase/u8-totitle.c: Update.
43568         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
43569         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43570
43571         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
43572         invocation.
43573         * modules/unicase/u32-tolower (Depends-on): Add
43574         unicase/empty-prefix-context, unicase/empty-suffix-context.
43575
43576         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
43577         invocation.
43578         * modules/unicase/u16-tolower (Depends-on): Add
43579         unicase/empty-prefix-context, unicase/empty-suffix-context.
43580
43581         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
43582         * modules/unicase/u8-tolower (Depends-on): Add
43583         unicase/empty-prefix-context, unicase/empty-suffix-context.
43584
43585         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
43586         invocation.
43587         * modules/unicase/u32-toupper (Depends-on): Add
43588         unicase/empty-prefix-context, unicase/empty-suffix-context.
43589
43590         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
43591         invocation.
43592         * modules/unicase/u16-toupper (Depends-on): Add
43593         unicase/empty-prefix-context, unicase/empty-suffix-context.
43594
43595         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
43596         * modules/unicase/u8-toupper (Depends-on): Add
43597         unicase/empty-prefix-context, unicase/empty-suffix-context.
43598
43599         New module 'unicase/u32-ct-casefold'.
43600         * lib/unicase/u32-ct-casefold.c: New file.
43601         * modules/unicase/u32-ct-casefold: New file.
43602
43603         New module 'unicase/u16-ct-casefold'.
43604         * lib/unicase/u16-ct-casefold.c: New file.
43605         * modules/unicase/u16-ct-casefold: New file.
43606
43607         New module 'unicase/u8-ct-casefold'.
43608         * lib/unicase/u8-ct-casefold.c: New file.
43609         * lib/unicase/u-ct-casefold.h: New file, derived from
43610         lib/unicase/u-casefold.h.
43611         * modules/unicase/u8-ct-casefold: New file.
43612
43613         New module 'unicase/u32-ct-totitle'.
43614         * lib/unicase/u32-ct-totitle.c: New file.
43615         * modules/unicase/u32-ct-totitle: New file.
43616
43617         New module 'unicase/u16-ct-totitle'.
43618         * lib/unicase/u16-ct-totitle.c: New file.
43619         * modules/unicase/u16-ct-totitle: New file.
43620
43621         New module 'unicase/u8-ct-totitle'.
43622         * lib/unicase/u8-ct-totitle.c: New file.
43623         * lib/unicase/u-ct-totitle.h: New file, derived from
43624         lib/unicase/u-totitle.h.
43625         * modules/unicase/u8-ct-totitle: New file.
43626
43627         New module 'unicase/u32-ct-tolower'.
43628         * lib/unicase/u32-ct-tolower.c: New file.
43629         * modules/unicase/u32-ct-tolower: New file.
43630
43631         New module 'unicase/u16-ct-tolower'.
43632         * lib/unicase/u16-ct-tolower.c: New file.
43633         * modules/unicase/u16-ct-tolower: New file.
43634
43635         New module 'unicase/u8-ct-tolower'.
43636         * lib/unicase/u8-ct-tolower.c: New file.
43637         * modules/unicase/u8-ct-tolower: New file.
43638
43639         New module 'unicase/u32-ct-toupper'.
43640         * lib/unicase/u32-ct-toupper.c: New file.
43641         * modules/unicase/u32-ct-toupper: New file.
43642
43643         New module 'unicase/u16-ct-toupper'.
43644         * lib/unicase/u16-ct-toupper.c: New file.
43645         * modules/unicase/u16-ct-toupper: New file.
43646
43647         New module 'unicase/u8-ct-toupper'.
43648         * lib/unicase/u8-ct-toupper.c: New file.
43649         * modules/unicase/u8-ct-toupper: New file.
43650
43651         Add context arguments to u*_casemap functions.
43652         * lib/unicase/unicasemap.h: Include unicase.h.
43653         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
43654         suffix_context arguments.
43655         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
43656         functions.
43657         (FUNC): Add prefix_context and suffix_context arguments. Use
43658         uc_is_cased and uc_is_case_ignorable.
43659         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
43660         * lib/unicase/u16-casemap.c: Likewise.
43661         * lib/unicase/u32-casemap.c: Likewise.
43662         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
43663         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43664         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
43665         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43666         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
43667         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43668
43669         New module 'unicase/u32-suffix-context'.
43670         * lib/unicase/u32-suffix-context.c: New file.
43671         * modules/unicase/u32-suffix-context: New file.
43672
43673         New module 'unicase/u16-suffix-context'.
43674         * lib/unicase/u16-suffix-context.c: New file.
43675         * modules/unicase/u16-suffix-context: New file.
43676
43677         New module 'unicase/u8-suffix-context'.
43678         * lib/unicase/u8-suffix-context.c: New file.
43679         * lib/unicase/u-suffix-context.h: New file.
43680         * modules/unicase/u8-suffix-context: New file.
43681
43682         New module 'unicase/empty-suffix-context'.
43683         * lib/unicase/empty-suffix-context.c: New file.
43684         * modules/unicase/empty-suffix-context: New file.
43685
43686         New module 'unicase/u32-prefix-context'.
43687         * lib/unicase/u32-prefix-context.c: New file.
43688         * modules/unicase/u32-prefix-context: New file.
43689
43690         New module 'unicase/u16-prefix-context'.
43691         * lib/unicase/u16-prefix-context.c: New file.
43692         * modules/unicase/u16-prefix-context: New file.
43693
43694         New module 'unicase/u8-prefix-context'.
43695         * lib/unicase/u8-prefix-context.c: New file.
43696         * lib/unicase/u-prefix-context.h: New file.
43697         * lib/unicase/context.h: New file.
43698         * modules/unicase/u8-prefix-context: New file.
43699
43700         New module 'unicase/empty-prefix-context'.
43701         * lib/unicase/empty-prefix-context.c: New file.
43702         * modules/unicase/empty-prefix-context: New file.
43703
43704         New module 'unicase/ignorable'.
43705         * lib/unicase/ignorable.c: New file.
43706         * modules/unicase/ignorable: New file.
43707
43708         New module 'unicase/cased'.
43709         * lib/unicase/caseprop.h: New file.
43710         * lib/unicase/cased.c: New file.
43711         * modules/unicase/cased: New file.
43712
43713         New functions for case mapping of substrings.
43714         * lib/unicase.h (casing_prefix_context_t): New type.
43715         (unicase_empty_prefix_context): New variable.
43716         (u8_casing_prefix_context, u16_casing_prefix_context,
43717         u32_casing_prefix_context, u8_casing_prefixes_context,
43718         u16_casing_prefixes_context, u32_casing_prefixes_context): New
43719         declarations.
43720         (casing_suffix_context_t): New type.
43721         (unicase_empty_suffix_context): New variable.
43722         (u8_casing_suffix_context, u16_casing_suffix_context,
43723         u32_casing_suffix_context, u8_casing_suffixes_context,
43724         u16_casing_suffixes_context, u32_casing_suffixes_context,
43725         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
43726         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
43727         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
43728         declarations.
43729
43730 2009-06-28  Jim Meyering  <meyering@redhat.com>
43731
43732         boostrap: indent only with spaces
43733         * build-aux/bootstrap: Indent only with spaces, never TABs.
43734
43735         bootstrap: split long lines
43736         * build-aux/bootstrap: Keep line length < 80.
43737
43738         bootstrap: sync from coreutils
43739         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
43740         just as autoreconf does.  Verify a list of prerequisite
43741         package-name,version-number pairs if defined in bootstrap.conf.
43742         Refer to README-prereq, if prerequisites are not satisfied.
43743
43744 2009-06-27  Eric Blake  <ebb9@byu.net>
43745
43746         tests: add test for bogus NULL definition
43747         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
43748         * tests/test-stdlib.c: Likewise.
43749         * tests/test-string.c: Likewise.
43750         * tests/test-locale.c: Likewise.
43751         * tests/test-unistd.c: Likewise.
43752         * modules/stdio-tests (Depends-on): Add verify.
43753         * modules/stdlib-tests (Depends-on): Likewise.
43754         * modules/string-tests (Depends-on): Likewise.
43755         * modules/locale-tests (Depends-on): Likewise.
43756         * modules/unistd-tests (Depends-on): Likewise.
43757
43758 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
43759
43760         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
43761         self-explaining comment.
43762         * m4/selinux-selinux-h: Update serial.
43763         (gl_LIBSELINUX): New macro, adding a warning for missing development
43764         packages to code extracted from...
43765         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
43766         Add warning for missing development packages here, too.
43767
43768 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
43769
43770         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
43771
43772 2009-06-25  Eric Blake  <ebb9@byu.net>
43773
43774         version-etc: fix regression
43775         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
43776         gcc.
43777         (version_etc): Use it, to catch bugs with trailing NULL.
43778         * lib/version-etc.c (version_etc_arn): Delete unused argument.
43779         (version_etc_va): Fix logic bug.
43780         * modules/version-etc-tests: Add test.
43781         * tests/test-version-etc.c: New file.
43782         * tests/test-version-etc.sh: Likewise.
43783
43784 2009-06-25  Sam Steingold  <sds@gnu.org>
43785
43786         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
43787         mbtowc declaration.
43788
43789 2009-06-25  Eric Blake  <ebb9@byu.net>
43790
43791         fpurge: migrate into <stdio.h>
43792         * lib/fpurge.h: Delete...
43793         * lib/stdio.in.h (fpurge): ...and declare here, instead.
43794         * lib/fpurge.c (fpurge): Change declaring header.
43795         * modules/fpurge (Files): Drop deleted file.
43796         (Depends-on): Add stdio.
43797         (configure.ac): Set witness.
43798         * modules/stdio (Makefile.am): Support fpurge macros.
43799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43800         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
43801         * lib/fflush.c: Update client.
43802         * tests/test-fpurge.c: Likewise.
43803         * NEWS: Mention the change.
43804
43805 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43806
43807         * lib/argp-version-etc.c (program_authors): Add const
43808         qualifier.
43809         * lib/version-etc.c: Fix typos in the comments.
43810         * modules/argp-version-etc: Depends on version-etc.
43811
43812 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43813
43814         argp-version-etc: new module.
43815
43816         * lib/argp-version-etc.c: New file.
43817         * lib/argp-version-etc.h: New file.
43818         * modules/argp-version-etc: New file.
43819         * modules/argp-version-etc-tests: New file.
43820         * tests/test-argp-version-etc.c: New test.
43821         * tests/test-argp-version-etc-1.sh: New test.
43822
43823 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43824
43825         Provide additional interfaces and documentation for version-etc
43826         module.
43827
43828         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
43829         interfaces.
43830         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
43831         prototypes.
43832
43833 2009-06-24  Bruno Haible  <bruno@clisp.org>
43834
43835         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
43836         HAVE_LIB${NAME} macro.
43837         Reported by Sam Steingold <sds@gnu.org>.
43838
43839 2009-06-23  Simon Josefsson  <simon@josefsson.org>
43840
43841         * modules/hash-tests (test_hash_LDADD): Link to libintl when
43842         needed.
43843
43844 2009-06-21  Bruno Haible  <bruno@clisp.org>
43845
43846         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
43847         work.
43848         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
43849         together with LIB${NAME}, LTLIB${NAME}.
43850         Reported by Sam Steingold <sds@gnu.org>.
43851
43852 2009-06-20  Jim Meyering  <meyering@redhat.com>
43853
43854         tests: make sc_require_test_exit_idiom more generic
43855         * top/maint.mk (Exit_witness_file): New overridable variable.
43856         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
43857         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
43858
43859 2009-06-19  Jim Meyering  <meyering@redhat.com>
43860
43861         hash: reverse order of src/dst parameters in an internal interface
43862         * lib/hash.c (transfer_entries): Reverse order of parameters to
43863         put DST before SRC.  Adjust callers.
43864
43865         tests: test-hash: avoid wholesale duplication
43866         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
43867         Instead, use a loop and add a single conditional.
43868
43869         tests: test-hash: allow seed selection via a command line argument
43870         * tests/test-hash.c (get_seed): New function.
43871         (main): Use it.
43872
43873 2009-06-19  Eric Blake  <ebb9@byu.net>
43874
43875         hash: avoid memory leak on allocation failure
43876         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
43877         failure.  Factor repeated algorithm...
43878         (transfer_entries): ...into new helper routine.
43879         (hash_delete): React to hash_rehash return value.
43880
43881         hash: reduce memory pressure in hash_rehash no-op case
43882         * lib/hash.c (next_prime): Avoid overflow.
43883         (hash_initialize): Factor bucket size computation...
43884         (compute_bucket_size): ...into new helper function.
43885         (hash_rehash): Use new function and open coding to reduce memory
43886         pressure, and avoid a memory leak in USE_OBSTACK code.
43887         Reported by Jim Meyering.
43888
43889 2009-06-18  Eric Blake  <ebb9@byu.net>
43890
43891         hash: make rotation more obvious
43892         * modules/hash (Depends-on): Add bitrotate and stdint.
43893         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
43894         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
43895         (SIZE_MAX): Rely on headers for definition.
43896         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
43897         (raw_hasher): Use rotr_sz.
43898         Suggested by Jim Meyering.
43899
43900         hash: fix memory leak in last patch
43901         * lib/hash.c (hash_rehash): Avoid memory leak.
43902
43903         hash: avoid no-op rehashing
43904         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
43905
43906         hash: provide default callback functions
43907         * lib/hash.c (raw_hasher, raw_comparator): New functions.
43908         (hash_initialize): Use them as defaults.
43909         * tests/test-hash.c (main): Test this.
43910
43911         hash: minor optimization
43912         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
43913         when possible.
43914         (hash_initialize): Document this promise.
43915         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
43916         * tests/test-hash.c (hash_compare_strings): Test this.
43917
43918 2009-06-18  Bruno Haible  <bruno@clisp.org>
43919
43920         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
43921         going to be replaced anyway.
43922
43923 2009-06-18  Bruno Haible  <bruno@clisp.org>
43924
43925         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
43926         in one place.
43927         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
43928         be replaced anyway.
43929
43930 2009-06-18  Eric Blake  <ebb9@byu.net>
43931
43932         hash: check for resize before insertion
43933         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
43934         threshold before insertion, so that a pathological hash_rehash
43935         that fills every bucket can still trigger another rehash.
43936
43937 2009-06-18  Jim Meyering  <meyering@redhat.com>
43938
43939         hash-tests: add a loop around the small tests
43940         * tests/test-hash.c (main): Repeat small tests with selected
43941         small initial table sizes.
43942
43943 2009-06-17  Eric Blake  <ebb9@byu.net>
43944
43945         hash: minor cleanups
43946         * lib/hash.h (hash_entry): Make opaque, by moving...
43947         * lib/hash.c (hash_entry): ...here.
43948         (hash_insert): Clarify restrictions on what can be inserted.
43949         (hash_get_next): Clarify when it is safe to remove an element
43950         during traversal.
43951         (check_tuning): Skip verification when tuning is known safe.
43952         (hash_initialize): Clarify restrictions on tuning.
43953
43954 2009-06-17  Jim Meyering  <jim@meyering.net>
43955         and Eric Blake  <ebb9@byu.net>
43956
43957         hash-tests: new module
43958         * modules/hash-tests: New file.
43959         * tests/test-hash.c: New file.
43960
43961 2009-06-17  Eric Blake  <ebb9@byu.net>
43962
43963         strstr-simple: document new module
43964         * MODULES.html.sh: Document new module.
43965
43966         strstr, strcasestr: replace on platforms with broken memchr
43967         * modules/strstr: Split into...
43968         * modules/strstr-simple: ...new module that does not care about
43969         performance, but does care about glibc bug.
43970         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
43971         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
43972         if platform memchr is broken, per Debian bug 521737.
43973         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
43974         memchr.
43975         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
43976         * doc/posix-functions/strstr.texi (strstr): Document the fix.
43977         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
43978         * modules/mountlist (Depends-on): Add strstr-simple.
43979         * modules/gen-uni-tables (Depends-on): Likewise.
43980         * modules/argz (Depends-on): Add strstr.
43981
43982 2009-06-17  Bruno Haible  <bruno@clisp.org>
43983
43984         * modules/posix_spawn-internal (Depends-on): Add errno.
43985
43986 2009-06-17  Bruno Haible  <bruno@clisp.org>
43987
43988         Define missing ESTALE on Interix 3.5.
43989         * lib/errno.in.h (ESTALE): Assign a value if missing.
43990         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
43991         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
43992         missing.
43993         * doc/posix-headers/errno.texi: Mention the Interix bug.
43994         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
43995
43996 2009-06-15  Eric Blake  <ebb9@byu.net>
43997
43998         memchr, memchr2: add valgrind exception
43999         * lib/memchr.valgrind: New file.
44000         * lib/memchr2.valgrind: New file.
44001         * modules/memchr (Files): Distribute valgrind file.
44002         * modules/memchr2 (Files): Likewise.
44003
44004         docs: memchr is no longer obsolete
44005         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44006         * lib/string.in.h (memchr): Simplify logic.
44007
44008 2009-06-14  Jim Meyering  <meyering@redhat.com>
44009
44010         link-follow: fix the "checking..." message to not mention trailing slash
44011         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44012         never considered trailing slashes.
44013
44014 2009-06-14  Bruno Haible  <bruno@clisp.org>
44015
44016         * m4/memchr.m4: Mention also the bug on IA-64.
44017         * doc/posix-functions/memchr.texi: Likewise.
44018
44019 2009-06-12  Eric Blake  <ebb9@byu.net>
44020
44021         memchr: detect broken x86_64 and alpha implementations
44022         * modules/memchr-tests (Depends-on): Move mmap detection...
44023         * modules/memchr (Depends-on): ...here.
44024         (configure.ac): Set indicator.
44025         * lib/string.in.h (memchr): Declare replacement.
44026         * modules/string (Makefile.am): Trigger replacement.
44027         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44028         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44029         bugs.
44030         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44031         * modules/getpagesize (License): Relax license.
44032
44033 2009-06-11  Bruno Haible  <bruno@clisp.org>
44034
44035         * lib/idpriv.h: Add more references.
44036
44037 2009-06-08  Bruno Haible  <bruno@clisp.org>
44038
44039         Tests for module 'idpriv-droptemp'.
44040         * modules/idpriv-droptemp-tests: New file.
44041         * tests/test-idpriv-droptemp.sh: New file.
44042         * tests/test-idpriv-droptemp.su.sh: New file.
44043         * tests/test-idpriv-droptemp.c: New file.
44044
44045         New module 'idpriv-droptemp'.
44046         * lib/idpriv-droptemp.c: New file.
44047         * modules/idpriv-droptemp: New file.
44048
44049 2009-06-08  Bruno Haible  <bruno@clisp.org>
44050
44051         Tests for module 'idpriv-drop'.
44052         * modules/idpriv-drop-tests: New file.
44053         * tests/test-idpriv-drop.sh: New file.
44054         * tests/test-idpriv-drop.su.sh: New file.
44055         * tests/test-idpriv-drop.c: New file.
44056
44057         New module 'idpriv-drop'.
44058         * lib/idpriv.h: New file.
44059         * lib-idpriv-drop.c: New file.
44060         * m4/idpriv.m4: New file.
44061         * modules/idpriv-drop: New file.
44062
44063 2009-06-08  Bruno Haible  <bruno@clisp.org>
44064
44065         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44066         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44067         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44068         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44069         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44070         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44071         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44072
44073 2009-06-08  Eric Blake  <ebb9@byu.net>
44074
44075         test-strstr: use memory fence, when possible
44076         * tests/test-strstr.c (main): Use memory fence, in order to be
44077         more likely to trigger Debian bug 521737.
44078         * modules/strstr-tests (Files): Pull in additional files.
44079
44080         memchr: no longer obsolete, for wider field testing
44081         * modules/memchr (Status, Notice): Delete, this module is no
44082         longer obsolete.
44083         * modules/vasnprintf (Depends-on): Add memchr.
44084
44085 2009-06-07  Jim Meyering  <meyering@redhat.com>
44086
44087         hash: declare some functions with the warn_unused_result attribute
44088         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44089
44090 2009-06-07  Bruno Haible  <bruno@clisp.org>
44091
44092         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44093         Reported by Eric Blake.
44094
44095 2009-06-06  Eric Blake  <ebb9@byu.net>
44096
44097         test-alignof: fix typo with long double
44098         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
44099         compiler error.
44100
44101 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
44102
44103         Escape non-texinfo { and }s.
44104         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
44105         markup error.
44106
44107 2009-06-04  Jim Meyering  <meyering@redhat.com>
44108
44109         gitlog-to-changelog: don't infloop on an empty commit log
44110         * build-aux/gitlog-to-changelog: Warn about an empty log message.
44111         Reported by Boris Petersen <transacid@centerim.org>.
44112
44113 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
44114
44115         version-etc: extend for packagers
44116         Add three new configure options, intended for packagers:
44117           --with-packager="packager name"
44118           --with-packager-version="packager-specific version"
44119           --with-packager-bug-reports="packager bug reporting"
44120         An example with coreutils:
44121           $ ./configure \
44122             --with-packager=Gentoo \
44123             --with-packager-bug-report=http://bugs.gentoo.org/ \
44124             --with-packager-version="patchset 1.6"
44125           $ ./src/ls --version | head -n2
44126           ls (GNU coreutils) 7.1-dirty
44127           Packaged by Gentoo (patchset 1.6)
44128         Note that the bug reporting info via --help doesn't show up because
44129         coreutils uses its own custom emit_bug_reporting_address() implementation
44130         in src/system.h.  If it didn't, it'd look like:
44131           $ ./src/ls --help | tail -n4
44132           Report bugs to <bug-coreutils@gnu.org>.
44133           Report Gentoo bugs to <http://bugs.gentoo.org/>.
44134           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
44135           General help using GNU software: <http://www.gnu.org/gethelp/>.
44136         * lib/version-etc.c: Print new information, if provided.
44137         * m4/version-etc.m4: New file.
44138         * modules/version-etc (Files): Add m4/version-etc.m4.
44139         (configure.ac): Add gl_VERSION_ETC.
44140
44141 2009-05-31  Bruno Haible  <bruno@clisp.org>
44142
44143         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
44144         and 'int64_t'.
44145         * modules/alignof-tests (Dependencies): Add stdint.
44146         Reported by Eric Blake.
44147
44148 2009-05-31  Bruno Haible  <bruno@clisp.org>
44149
44150         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
44151         restriction due to compiler bugs.
44152         Reported by Eric Blake.
44153
44154 2009-05-31  Simon Josefsson  <simon@josefsson.org>
44155             Bruno Haible  <bruno@clisp.org>
44156
44157         Fix test-alignof failure.
44158         * lib/alignof.h (alignof_slot): New macro.
44159         (alignof_type): New macro, with the same semantics as the previous
44160         'alignof'.
44161         (alignof): Alias to alignof_slot.
44162         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
44163         check that the results are usable as constant expressions.
44164
44165 2009-05-31  Bruno Haible  <bruno@clisp.org>
44166
44167         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
44168         * tests/test-memchr.c (main): Check that memchr does not read past the
44169         first occurrence of the byte.
44170         * tests/test-strstr.c (main): Update comment.
44171         Suggested by Eric Blake.
44172
44173 2009-05-30  Bruno Haible  <bruno@clisp.org>
44174
44175         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
44176         detail how to use dumpbin.
44177         Reported by David Byron <dbyron@dbyron.com>.
44178
44179 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44180
44181         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
44182
44183 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44184
44185         * m4/manywarnings.m4: Add GCC 4.4 warnings.
44186
44187 2009-05-28  Bruno Haible  <bruno@clisp.org>
44188
44189         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
44190         build-aux/ files.
44191
44192 2009-05-28  Simon Josefsson  <simon@josefsson.org>
44193
44194         * gnulib-tool (func_import): Transform license on build-aux/ files too.
44195
44196 2009-05-27  Simon Josefsson  <simon@josefsson.org>
44197
44198         * gnulib-tool (sed_transform_main_lib_file)
44199         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
44200         regexps.
44201
44202 2009-05-26  Simon Josefsson  <simon@josefsson.org>
44203
44204         * tests/test-strstr.c: Add another self-test.
44205         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
44206         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
44207
44208 2009-05-23  Bruno Haible  <bruno@clisp.org>
44209
44210         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
44211         change.
44212
44213 2009-05-21  Bruno Haible  <bruno@clisp.org>
44214
44215         Simplify use of mode_t varargs.
44216         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
44217         uses 'mode_t' or 'int'.
44218         * lib/openat.c (openat): Likewise.
44219         * lib/open-safer.c (open_safer): Likewise.
44220         * m4/mode_t.m4: New file.
44221         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
44222         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
44223         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
44224         * modules/open (Files): Add m4/mode_t.m4.
44225         * modules/openat (Files): Likewise.
44226         * modules/fcntl-safer (Files): Likewise.
44227         Suggested by Eric Blake.
44228
44229 2009-05-21  Pádraig Brady  <P@draigbrady.com>
44230
44231         * doc/glibc-functions/fallocate.texi: New file.
44232         * doc/gnulib.texi: Include it.
44233
44234 2009-05-21  Eric Blake  <ebb9@byu.net>
44235             Bruno Haible  <bruno@clisp.org>
44236
44237         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
44238         invocations.
44239         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44240
44241 2009-05-21  Eric Blake  <ebb9@byu.net>
44242             Bruno Haible  <bruno@clisp.org>
44243
44244         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
44245         include_next. Fix of 2008-11-20 commit.
44246         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
44247         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
44248         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
44249         NEXT_MATH_H.
44250         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
44251         instead of NEXT_MATH_H.
44252
44253 2009-05-21  Bruno Haible  <bruno@clisp.org>
44254
44255         Avoid redefinition warnings for SIZE_MAX.
44256         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
44257         Reported by Simon Josefsson.
44258
44259 2009-05-21  Bruno Haible  <bruno@clisp.org>
44260
44261         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
44262         AC_CACHE_VAL.
44263
44264 2009-05-20  Bruno Haible  <bruno@clisp.org>
44265
44266         Make zeroptr.h work on mingw.
44267         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
44268         mprotect.
44269         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
44270         * modules/memchr2-tests (configure.ac): Likewise.
44271         * modules/memcmp-tests (configure.ac): Likewise.
44272         * modules/memmem-tests (configure.ac): Likewise.
44273         * modules/memrchr-tests (configure.ac): Likewise.
44274         Reported by Simon Josefsson.
44275
44276 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44277
44278         * tests/test-glob.c: Include string.h for strcmp prototype.
44279
44280 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44281
44282         * modules/getdelim (Depends-on): Add explicit stdint, although it
44283         was implicitly already pulled in via realloc-posix.
44284         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
44285
44286 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44287
44288         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
44289         G. Christensen" <tgc@jupiterrise.com>.
44290         * m4/sys_socket_h.m4: Check for sa_family_t.
44291         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
44292         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
44293         * tests/test-sys_socket.c: Check that sa_family_t works.
44294
44295 2009-05-18  Eric Blake  <ebb9@byu.net>
44296
44297         maint.mk: allow gnulib_dir in VPATH build
44298         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
44299
44300 2009-05-15  Jim Meyering  <meyering@redhat.com>
44301
44302         maint.mk: Give gnulib_dir a default definition.
44303         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
44304         Thus, most packages no longer need to specify this variable in cfg.mk
44305
44306 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
44307
44308         rename.m4: fix typos that would make non-mingw cross-configure fail
44309         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
44310
44311 2009-05-13  Eric Blake  <ebb9@byu.net>
44312
44313         mmap-anon: avoid out-of-order autoconf expansion
44314         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
44315         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
44316         * modules/memchr-tests (Depends-on): Add extensions.
44317         * modules/memchr2-tests (Depends-on): Add extensions.
44318         * modules/memcmp-tests (Depends-on): Add extensions.
44319         * modules/memmem-tests (Depends-on): Add extensions.
44320         * modules/memrchr-tests (Depends-on): Add extensions.
44321
44322 2009-05-13  Bruno Haible  <bruno@clisp.org>
44323
44324         Make some tests ISO C 99 compliant.
44325         * tests/zerosize-ptr.h: New file.
44326         * tests/test-memchr.c: Include zerosize-ptr.h.
44327         (main): Use a zero-size object pointer instead of NULL.
44328         * tests/test-memchr2.c: Include zerosize-ptr.h.
44329         (main): Use a zero-size object pointer instead of NULL.
44330         * tests/test-memcmp.c: Include zerosize-ptr.h.
44331         (main): Use a zero-size object pointer instead of NULL.
44332         * tests/test-memmem.c: Include zerosize-ptr.h.
44333         (main): Use a zero-size object pointer instead of NULL.
44334         * tests/test-memrchr.c: Include zerosize-ptr.h.
44335         (main): Use a zero-size object pointer instead of NULL.
44336         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
44337         m4/mmap-anon.m4.
44338         (Depends-on): Add getpagesize.
44339         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44340         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
44341         m4/mmap-anon.m4.
44342         (Depends-on): Add getpagesize.
44343         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44344         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
44345         m4/mmap-anon.m4.
44346         (Depends-on): Add getpagesize.
44347         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44348         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
44349         m4/mmap-anon.m4.
44350         (Depends-on): Add getpagesize.
44351         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44352         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
44353         m4/mmap-anon.m4.
44354         (Depends-on): Add getpagesize.
44355         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44356
44357 2009-05-12  Bruno Haible  <bruno@clisp.org>
44358
44359         Tests for module 'alignof'.
44360         * modules/alignof-tests: New file.
44361         * tests/test-alignof.c: New file.
44362
44363 2009-05-12  Bruno Haible  <bruno@clisp.org>
44364
44365         Fix alignof macro.
44366         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
44367         vendor compilers that are always correct.
44368
44369 2009-05-12  Bruno Haible  <bruno@clisp.org>
44370
44371         Make the MAP_ANONYMOUS detection work on HP-UX 11.
44372         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
44373         not whether its fully works.
44374
44375 2009-05-12  Bruno Haible  <bruno@clisp.org>
44376
44377         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
44378
44379 2009-05-12  Jim Meyering  <meyering@redhat.com>
44380
44381         * top/maint.mk: Adjust backslash alignment.
44382
44383 2009-05-11  Simon Josefsson  <simon@josefsson.org>
44384
44385         * top/maint.mk: Make $(srcdir)/build-aux configurable.
44386
44387 2009-05-11  Eric Blake  <ebb9@byu.net>
44388
44389         argp: avoid undefined behavior
44390         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
44391         macros.
44392
44393 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44394
44395         * tests/test-vc-list-files-git.sh: Do git config of user.email and
44396         user.name to prevent git commit from complaining.
44397
44398 2009-05-10  Bruno Haible  <bruno@clisp.org>
44399
44400         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
44401         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
44402         it rewrites every file name only once.
44403         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
44404
44405 2009-05-08  Bruno Haible  <bruno@clisp.org>
44406
44407         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
44408         instead of 'max'.
44409
44410 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44411
44412         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
44413         sockaddr_storage test.
44414
44415 2009-05-07  Simon Josefsson  <simon@josefsson.org>
44416
44417         * modules/sys_socket (Makefile.am): Substitute
44418         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
44419         * m4/sys_socket_h.m4: Check for sockaddr_storage.
44420         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
44421         * tests/test-sys_socket.c: Check sockaddr_storage.
44422
44423 2009-05-08  Bruno Haible  <bruno@clisp.org>
44424
44425         New module 'alignof'.
44426         * lib/alignof.h: New file.
44427         * modules/alignof: New file.
44428
44429 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44430             Bruno Haible  <bruno@clisp.org>
44431
44432         Fix test-file-has-acl on FreeBSD.
44433         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
44434         mask is implicitly added.
44435         * tests/test-file-has-acl.c: Include <signal.h>.
44436         (main): Terminate the test after 5 seconds.
44437         * modules/acl-tests (configure.ac): Check for alarm function.
44438
44439 2009-05-04  Bruno Haible  <bruno@clisp.org>
44440
44441         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
44442         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
44443         * modules/errno (configure.ac): Drop AC_REQUIRE.
44444         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
44445         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
44446
44447 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44448
44449         * modules/glob-tests: New module.
44450         * tests/test-glob.c: Add.
44451
44452 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44453
44454         * modules/fnmatch-tests: New module.
44455         * tests/test-fnmatch.c: Add.
44456
44457 2009-05-04  Eric Blake  <ebb9@byu.net>
44458
44459         maint: make the new no-submodule-changes rule VPATH-safe
44460         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
44461
44462 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44463             Bruno Haible  <bruno@clisp.org>
44464
44465         acl: Fix infinite loop on FreeBSD.
44466         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
44467         of return value from acl_get_entry.
44468         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
44469         Likewise.
44470
44471 2009-05-03  Bruno Haible  <bruno@clisp.org>
44472
44473         * lib/acl-internal.h (acl_entries): Clarify return value.
44474         * lib/acl_entries.c (acl_entries): Likewise.
44475
44476 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44477
44478         Bug fix in acl module.
44479         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
44480
44481 2009-05-03  Bruno Haible  <bruno@clisp.org>
44482
44483         Create gperf-generated file in the source dir, not in the build dir.
44484         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
44485         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
44486         * modules/unicase/locale-language (unicase/locale-languages.h):
44487         Likewise.
44488         * modules/unicase/special-casing (unicase/special-casing-table.h):
44489         Likewise.
44490         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
44491         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
44492         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
44493         Reported by Ralf Wildenhues.
44494
44495 2009-05-03  Bruno Haible  <bruno@clisp.org>
44496
44497         * modules/fnmatch (Description, configure.ac): Taken from
44498         fnmatch-posix.
44499         * modules/fnmatch-posix: Turn into a symbolic reference to the
44500         'fnmatch' module, and deprecate.
44501         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
44502
44503 2009-05-03  Bruno Haible  <bruno@clisp.org>
44504
44505         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
44506         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
44507         Reported by Ralf Wildenhues.
44508
44509 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44510
44511         * m4/fnmatch.m4: Fix fnmatch re-define.
44512
44513 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44514
44515         priv-set: new module and tests; adapt write-any-file
44516         * lib/priv-set.c: New file.
44517         * lib/priv-set.h: New file.
44518         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
44519         * lib/write-any-file.c: Simplify by using priv-set module.
44520         * m4/priv-set.m4: New file.
44521         * modules/priv-set: New file.
44522         * modules/unlinkdir: Add dependency on priv-set module.
44523         * modules/write-any-file: Likewise.
44524
44525         Tests for module 'priv-set'.
44526         * modules/priv-set-tests: New file.
44527         * tests/test-priv-set.c: New file.
44528
44529 2009-05-03  Jim Meyering  <meyering@redhat.com>
44530             Bruno Haible  <bruno@clisp.org>
44531
44532         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
44533         use the converted UTF-8 variant of the name instead.
44534
44535 2009-05-03  Jim Meyering  <meyering@redhat.com>
44536
44537         tests: tighten some getdate tests
44538         * tests/test-getdate.c (main): Tighten tests: require equality,
44539         not just greater than.  Set TZ envvar to UTC0.
44540
44541 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
44542
44543         getdate: correctly interpret "next monday" when run on a Monday
44544         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
44545         that e.g., "next tues" (when run on a tuesday) results in a date
44546         that is one week in the future, and not today's date.
44547         I.e., add a week when the wday is the same as the current one.
44548         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
44549         and earlier by Martin Bernreuther and Jan Minář.
44550         * tests/test-getdate.c (main): Check that "next DAY" is always in
44551         the future and that "last DAY" is always in the past.
44552
44553 2009-05-02  Jim Meyering  <meyering@redhat.com>
44554
44555         build: ensure that a release build fails when a submodule is unclean
44556         * top/maint.mk (no-submodule-changes): New rule.
44557         (alpha beta major): Depend on it.
44558
44559 2009-05-02  Bruno Haible  <bruno@clisp.org>
44560
44561         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
44562         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
44563         shell variable gl_fnmatch_required to detect which variant is
44564         requested.
44565         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
44566         gl_FUNC_FNMATCH_POSIX.
44567         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
44568         exclude fnmatch-posix.
44569
44570 2009-05-02  Bruno Haible  <bruno@clisp.org>
44571
44572         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
44573         * modules/mbsrtowcs (License): Change to LGPLv2+.
44574         * modules/strnlen1 (License): Likewise.
44575         Reported by Simon Josefsson.
44576
44577 2009-05-02  Bruno Haible  <bruno@clisp.org>
44578
44579         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
44580         "cross".
44581         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
44582         gnulib-tool was called with option --source-base=lib.
44583
44584 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44585
44586         Use automake *-local hooks without commands, for extensibility.
44587         * modules/localcharset (Makefile.am): Rename install-exec-local
44588         rule to install-exec-localcharset, and make it a prerequisite of
44589         install-exec-local.  Likewise, rename the uninstall-local rule to
44590         uninstall-localcharset, and make it a prerequisite of the former.
44591
44592 2009-05-01  Bruno Haible  <bruno@clisp.org>
44593
44594         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
44595         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44596         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
44597         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
44598         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
44599         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44600         m4/locale-zh.m4, m4/codeset.m4.
44601
44602         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44603         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
44604         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44605         m4/locale-zh.m4.
44606
44607         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
44608         REPLACE_WCRTOMB if mbstate_t must be replaced.
44609         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
44610         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
44611
44612 2009-05-01  Bruno Haible  <bruno@clisp.org>
44613
44614         Avoid compiler warnings when redefining macros defined by <libintl.h>.
44615         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
44616         dngettext, dcngettext, textdomain, bindtextdomain,
44617         bind_textdomain_codeset): Undefine before redefining.
44618
44619 2009-04-30  Bruno Haible  <bruno@clisp.org>
44620
44621         Fix bug introduced on 2009-04-25.
44622         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
44623         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
44624         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
44625         is defined.
44626         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
44627         is defined.
44628         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
44629         is defined.
44630         Reported by Elbert_Pol <elbert.pol@gmail.com>.
44631
44632 2009-04-28  Bruno Haible  <bruno@clisp.org>
44633
44634         Comment tweaks.
44635         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
44636         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
44637         * lib/unicase.h (u*_casexfrm): Likewise.
44638         Reported by Paolo Bonzini.
44639
44640 2009-04-28  Bruno Haible  <bruno@clisp.org>
44641
44642         Fix a compilation error.
44643         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
44644         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44645         Reported by Jim Meyering.
44646
44647 2009-04-27  Bruno Haible  <bruno@clisp.org>
44648
44649         New module 'libunistring'.
44650         * modules/libunistring: New file.
44651         * m4/libunistring.m4: New file.
44652         * MODULES.html.sh (Unicode string functions): Add it.
44653
44654 2009-04-27  Eric Blake  <ebb9@byu.net>
44655
44656         maint.mk: allow package-specific header to provide <config.h>
44657         * top/maint.mk (sc_require_config_h): New variable.
44658         (sc_require_config_h, sc_require_config_h_first): Use it.
44659
44660 2009-04-27  Simon Josefsson  <simon@josefsson.org>
44661
44662         * top/maint.mk (sc_avoid_if_before_free): Except
44663         useless-if-before-free script.
44664
44665 2009-04-27  Eric Blake  <ebb9@byu.net>
44666
44667         maintainer-makefile: depend on all required helper scripts
44668         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
44669         useless-if-before-free.
44670         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
44671         version, rather than assuming gnulib checkout is available.
44672         Reported by Simen Josefsson.
44673
44674 2009-04-26  Bruno Haible  <bruno@clisp.org>
44675
44676         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
44677         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
44678         "../" or "..".
44679
44680 2009-04-26  Bruno Haible  <bruno@clisp.org>
44681
44682         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
44683         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
44684         AC_LIB_HAVE_LINKFLAGS.
44685
44686 2009-04-26  Bruno Haible  <bruno@clisp.org>
44687
44688         Simplify calling convention of u*_conv_from_encoding.
44689         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
44690         u32_conv_from_encoding): Expect a resultbuf argument and return the
44691         result directly as a pointer.
44692         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
44693         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
44694         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
44695         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
44696         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
44697         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44698         Update.
44699         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
44700         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
44701         * lib/vasnprintf.c (VASNPRINTF): Update.
44702         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
44703         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
44704         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
44705         * NEWS: Mention the change.
44706
44707 2009-04-26  Bruno Haible  <bruno@clisp.org>
44708
44709         Simplify calling convention of u*_conv_to_encoding.
44710         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
44711         u32_conv_to_encoding): Expect a resultbuf argument and return the
44712         result directly as a pointer.
44713         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44714         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
44715         freeing scaled_offsets if mem_iconveha failed.
44716         * lib/unicase/u-casexfrm.h (FUNC): Update.
44717         * lib/uninorm/u-normxfrm.h (FUNC): Update.
44718         * lib/vasnprintf.c (VASNPRINTF): Update.
44719         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
44720         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
44721         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
44722         * NEWS: Mention the change.
44723
44724 2009-04-26  Bruno Haible  <bruno@clisp.org>
44725
44726         Avoid test failures on AIX and OSF/1.
44727         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
44728         malloc(0).
44729         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44730         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44731         Likewise.
44732         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
44733         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
44734         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
44735         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
44736         * doc/posix-functions/malloc.texi: Document the portability problem
44737         related to malloc(0).
44738
44739 2009-04-26  Bruno Haible  <bruno@clisp.org>
44740
44741         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
44742         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
44743         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
44744
44745 2009-04-25  Bruno Haible  <bruno@clisp.org>
44746
44747         Avoid link error when creating a namespace clean library.
44748         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
44749         as macro with arguments if already defined as an alias.
44750         * lib/signbitf.c (gl_signbitf): Don't undefine.
44751         * lib/signbitd.c (gl_signbitd): Don't undefine.
44752         * lib/signbitl.c (gl_signbitl): Don't undefine.
44753
44754 2009-04-25  Jim Meyering  <meyering@redhat.com>
44755
44756         vc-list-files: fix another quoting bug
44757         * build-aux/vc-list-files: Avoid sed backslash expansion
44758         of pathological directory names.
44759
44760 2009-04-25  Eric Blake  <ebb9@byu.net>
44761
44762         vc-list-files: fix shell quoting error
44763         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
44764         timestamp.
44765
44766 2009-04-25  Jim Meyering  <meyering@redhat.com>
44767
44768         vc-list-files: restore lost functionality with subdir argument
44769         * build-aux/vc-list-files: When given a non-"." sub-directory
44770         argument, substitute the $dir/ prefix back onto each resulting name.
44771         Otherwise, coreutils' root_tests check would fail.
44772
44773 2009-04-24  Eric Blake  <ebb9@byu.net>
44774
44775         vc-list-files: ignore git symlinks
44776         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
44777         than ls-files, to ignore git symlinks.
44778
44779         maint.mk: import improvements from m4
44780         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
44781         (move_if_change): Delete unused macro.
44782         (news-date-check, vc-diff-check): Support VPATH builds.
44783         (announcement): Likewise.  Split --bootstrap-tools list...
44784         (boostrap-tools): ...into separate list, which can be overridden
44785         in cfg.mk.
44786         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
44787         requiring dependency on useless-if-before-free module.
44788         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
44789         Support VPATH builds.
44790
44791 2009-04-24  Jim Meyering  <meyering@redhat.com>
44792
44793         maint.mk: remove coreutils-specific rules and variables
44794         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
44795         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
44796         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
44797
44798         maint.mk: remove obsolete rule
44799         * top/maint.mk (rel-check): Remove rule.
44800         (WGET, WGETFLAGS): Remove now-unused variables.
44801
44802 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44803
44804         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
44805         consistency.
44806
44807         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
44808         '$(PATH_SEPARATOR)' instead of ':'.
44809
44810 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44811
44812         * lib/getopt1.c (main): Use 'const' for static array.
44813
44814 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44815
44816         * top/maint.mk: Sync with coreutils.
44817         * NEWS: Explain incompatibilities.
44818
44819 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44820             Bruno Haible  <bruno@clisp.org>
44821
44822         Fix cross-compilation results.
44823         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
44824         statement, as third argument of AC_TRY_RUN.
44825         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44826         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
44827         Likewise.
44828         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44829         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44830         Likewise.
44831         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44832         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
44833         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
44834
44835 2009-04-20  Bruno Haible  <bruno@clisp.org>
44836
44837         Avoid test failure on mingw.
44838         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
44839
44840 2009-04-20  Bruno Haible  <bruno@clisp.org>
44841
44842         Avoid compilation error on mingw.
44843         * modules/localename-tests (Depends-on): Add locale.
44844
44845 2009-04-19  Bruno Haible  <bruno@clisp.org>
44846
44847         Support for building a shared library on Windows platforms.
44848         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
44849         (main): Test the presence of UNINORM_NFC here.
44850         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
44851         (main): Test the presence of UNINORM_NFD here.
44852         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
44853         (main): Test the presence of UNINORM_NFKC here.
44854         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
44855         (main): Test the presence of UNINORM_NFKD here.
44856
44857 2009-04-19  Bruno Haible  <bruno@clisp.org>
44858
44859         Avoid a compiler warning.
44860         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
44861         Change type of variable 'sequence'.
44862
44863 2009-04-19  Bruno Haible  <bruno@clisp.org>
44864
44865         * modules/configmake (Makefile.am): When the contents of configmake.h
44866         does not change, arrange to preserve its modification time.
44867
44868 2009-04-17  Simon Josefsson  <simon@josefsson.org>
44869
44870         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
44871         gettext domain.
44872
44873 2009-04-16  Jim Meyering  <meyering@redhat.com>
44874
44875         useless-if-before-free: improve conversion code
44876         * build-aux/useless-if-before-free: Adjust code-in-comment to match
44877         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
44878
44879 2009-04-14  Bruno Haible  <bruno@clisp.org>
44880
44881         * modules/fcntl (Depends-on): Add extensions.
44882         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
44883
44884 2009-04-12  Ben Pfaff  <blp@gnu.org>
44885
44886         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
44887         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
44888
44889 2009-03-20  Ben Pfaff  <blp@gnu.org>
44890
44891         Make rename replace existing destinations on Windows.
44892         * m4/rename.m4: Add test for Mingw.
44893         * lib/rename.c: Add rename replacement that uses MoveFileEx with
44894         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
44895         * doc/posix-functions/rename.texi: Document.
44896
44897 2009-04-10  Bruno Haible  <bruno@clisp.org>
44898
44899         New include file "iconveh.h".
44900         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
44901         * lib/striconveh.h: Include it.
44902         (enum iconv_ilseq_handler): Remove definition.
44903         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
44904         striconveh.h.
44905         * lib/striconveha.c: Include striconveh.h.
44906         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
44907         * modules/striconveh (Files): Add lib/iconveh.h.
44908         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
44909         lib/striconveh.h.
44910
44911 2009-04-10  Bruno Haible  <bruno@clisp.org>
44912
44913         * lib/uniconv.h: Update comment.
44914
44915 2009-04-10  Bruno Haible  <bruno@clisp.org>
44916
44917         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
44918         always.
44919         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44920         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44921         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44922         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
44923         "unistring-notinline.h", so that the function gets defined always.
44924         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44925         * lib/unistr/u8-uctomb.c: Likewise.
44926         * lib/unistr/u16-mbtouc.c: Likewise.
44927         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44928         * lib/unistr/u16-uctomb.c: Likewise.
44929         * lib/unistr/u32-mbtouc.c: Likewise.
44930         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44931         * lib/unistr/u32-uctomb.c: Likewise.
44932
44933 2009-04-10  Bruno Haible  <bruno@clisp.org>
44934
44935         Mark 'utime' obsolete.
44936         * modules/utime (Status, Notice): New sections.
44937         Suggested by Jim Meyering.
44938
44939         Fix cross-compile guess for utime test.
44940         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
44941         autoconf.
44942         * doc/posix-functions/utime.texi: Give more precisions.
44943         Reported by Jan <ipif@ymail.com>.
44944
44945 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
44946
44947         filevercmp: correct today's change
44948         * lib/filevercmp.c: Also handle coreutils' test inputs.
44949         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
44950
44951         Fix regression in 'filevercmp' module. Thanks Sven Joachim
44952         for reporting it.
44953         * lib/filevercmp.c: Special handle for "", "." and "..".
44954         * tests/test-filevercmp.c: Enlarge the set suite.
44955
44956 2009-04-07  Jim Meyering  <meyering@redhat.com>
44957
44958         useless-if-before-free: show how to remove braced useless free, too
44959         * build-aux/useless-if-before-free: still only in a comment, though.
44960
44961 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
44962
44963         maint.mk: import changes to syntax-check macros from coreutils
44964         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
44965         Use them in the relevant macros.
44966
44967 2009-04-06  Bruno Haible  <bruno@clisp.org>
44968
44969         Fix unportable use of bit-fields.
44970         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
44971         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
44972         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
44973
44974 2009-04-06  Bruno Haible  <bruno@clisp.org>
44975
44976         Avoid test failures on AIX and OSF/1.
44977         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
44978         that malloc(0) = NULL.
44979         * tests/unicase/test-u8-tolower.c (check): Likewise.
44980         * tests/unicase/test-u8-totitle.c (check): Likewise.
44981         * tests/unicase/test-u8-toupper.c (check): Likewise.
44982         * tests/unicase/test-u16-casefold.c (check): Likewise.
44983         * tests/unicase/test-u16-tolower.c (check): Likewise.
44984         * tests/unicase/test-u16-totitle.c (check): Likewise.
44985         * tests/unicase/test-u16-toupper.c (check): Likewise.
44986         * tests/unicase/test-u32-casefold.c (check): Likewise.
44987         * tests/unicase/test-u32-tolower.c (check): Likewise.
44988         * tests/unicase/test-u32-totitle.c (check): Likewise.
44989         * tests/unicase/test-u32-toupper.c (check): Likewise.
44990         * tests/uninorm/test-u8-nfc.c (check): Likewise.
44991         * tests/uninorm/test-u8-nfd.c (check): Likewise.
44992         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
44993         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
44994         * tests/uninorm/test-u16-nfc.c (check): Likewise.
44995         * tests/uninorm/test-u16-nfd.c (check): Likewise.
44996         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
44997         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
44998         * tests/uninorm/test-u32-nfc.c (check): Likewise.
44999         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45000         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45001         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45002
45003 2009-04-05  Bruno Haible  <bruno@clisp.org>
45004
45005         Work around an autoconf limitation.
45006         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45007         comment line if it would be longer than 3 KB.
45008
45009 2009-04-05  Bruno Haible  <bruno@clisp.org>
45010
45011         Avoid test failure with libiconv-1.13.
45012         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45013         of the expected test results.
45014
45015 2009-04-05  Bruno Haible  <bruno@clisp.org>
45016
45017         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45018         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45019         that it should be installed.
45020
45021 2009-04-05  Bruno Haible  <bruno@clisp.org>
45022
45023         * gnulib-tool: New option --copy-file.
45024         (func_usage): Document it.
45025         (func_dest_tmpfilename): Moved out of func_import.
45026         (func_add_file, func_update_file): New functions, extracted from
45027         func_import.
45028         (func_import): Update.
45029
45030 2009-04-05  Karl Berry  <karl@gnu.org>
45031
45032         * README: prominently mention gnulib-tool.
45033         Rearrange sections so getting the code is near the top.
45034
45035 2009-04-05  Bruno Haible  <bruno@clisp.org>
45036
45037         * lib/unicase.h: Mention u*_cmp2.
45038         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45039         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45040         * lib/unicase/ulc-casecmp.c: Likewise.
45041         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45042         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45043         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45044         unistr/u8-cmp.
45045         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45046         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45047         unistr/u16-cmp.
45048         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45049         unistr/u32-cmp.
45050
45051         * lib/uninorm.h: Mention u*_cmp2.
45052         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45053         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45054         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45055         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45056         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45057         unistr/u8-cmp.
45058         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45059         unistr/u16-cmp.
45060         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45061         unistr/u32-cmp.
45062
45063         New module 'unistr/u32-cmp2'.
45064         * lib/unistr/u32-cmp2.c: New file.
45065         * modules/unistr/u32-cmp2: New file.
45066
45067         New module 'unistr/u16-cmp2'.
45068         * lib/unistr/u16-cmp2.c: New file.
45069         * modules/unistr/u16-cmp2: New file.
45070
45071         New module 'unistr/u8-cmp2'.
45072         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45073         * lib/unistr/u8-cmp2.c: New file.
45074         * lib/unistr/u-cmp2.h: New file.
45075         * modules/unistr/u8-cmp2: New file.
45076
45077 2009-04-05  Bruno Haible  <bruno@clisp.org>
45078
45079         * lib/unictype.h (uc_property_is_valid): New macro.
45080         * tests/unictype/test-pr_byname.c (main): Use it.
45081
45082         * lib/unistr.h: Doc fixes.
45083         * lib/uniconv.h: Doc fixes.
45084         * lib/unictype.h: Doc fixes.
45085
45086 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45087
45088         Port coreutils 7.2 to Solaris 8.
45089
45090         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45091         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45092         for Solaris 8.  This is a bit of a hack, as it means it's the
45093         caller's responsibility to add -lnsl if needed, but most likely it
45094         won't be needed since only getaddrinfo uses this and getaddrinfo
45095         isn't needed on Solaris 8.
45096
45097         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
45098         problem to Solaris 8 encountered with coreutils 7.2, which
45099         resulted in a message "fnmatch.c:292: warning: passing argument 4
45100         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
45101         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
45102
45103 2009-04-03  Simon Josefsson  <simon@josefsson.org>
45104
45105         * m4/ld-version-script.m4: Add FIXME comment.
45106
45107 2009-04-02  Simon Josefsson  <simon@josefsson.org>
45108
45109         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
45110         SOVERSION variable.
45111
45112 2009-04-02  Bruno Haible  <bruno@clisp.org>
45113
45114         * Makefile (info, html, dvi, pdf): Combine the rules.
45115         Suggested by Jim Meyering.
45116
45117 2009-04-01  Bruno Haible  <bruno@clisp.org>
45118
45119         * Makefile (info, html, dvi, pdf): New targets.
45120         Reported by Reuben Thomas <rrt@sc3d.org>.
45121
45122 2009-04-01  Bruno Haible  <bruno@clisp.org>
45123
45124         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
45125         can be put into PATH.
45126         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
45127
45128 2009-04-01  Bruno Haible  <bruno@clisp.org>
45129
45130         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
45131
45132 2009-04-01  Bruno Haible  <bruno@clisp.org>
45133
45134         Rename module 'visibility'.
45135         * modules/lib-symbol-visibility: Renamed from modules/visibility.
45136         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
45137         * doc/gnulib.texi: Update.
45138         * MODULES.html.sh (Misc): Update.
45139         * NEWS: Mention the change.
45140
45141 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45142
45143         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
45144         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
45145         Eric Blake <ebb9@byu.net> for review.
45146         * MODULES.html.sh: Add lib-msvc-compat.
45147         * doc/gnulib.texi: Link to new section.
45148         * m4/ld-output-def.m4: New file.
45149         * doc/ld-output-def.texi: New file.
45150
45151 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45152
45153         Rename ld-version-script to lib-symbol-versions.  Suggested by
45154         Bruno Haible <bruno@clisp.org>.
45155         * modules/ld-version-script: Renamed to lib-symbol-versions.
45156         * doc/ld-version-script.texi: Fix module name.
45157         * MODULES.html.sh: Add lib-symbol-versions.
45158
45159 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45160
45161         * modules/u64-tests: New file.
45162         * tests/test-u64.c: New file.
45163
45164 2009-03-04  Simon Josefsson  <simon@josefsson.org>
45165
45166         * MODULES.html.sh: Mention u64.
45167         * modules/u64: New module.
45168         * modules/crypto/sha512: Depend on u64 module instead of providing
45169         u64.h.
45170
45171 2009-03-27  Eric Blake  <ebb9@byu.net>
45172
45173         test-strerror: make debugging EAI_SYSTEM easier
45174         * modules/getaddrinfo-tests (Depends-on): Add strerror.
45175         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
45176         failure was EAI_SYSTEM.
45177
45178 2009-03-25  Bruno Haible  <bruno@clisp.org>
45179
45180         Fix a problem with --enable-relocatable on Solaris 7.
45181         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
45182         since 2008-02-24.
45183
45184 2009-03-25  Eric Blake  <ebb9@byu.net>
45185
45186         test-sockets: avoid gcc warning
45187         * tests/test-sockets.c (main): Silence compiler warning.
45188
45189 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45190
45191         New modules nproc, pthread, contributed by Glen Lenker.
45192
45193         * MODULES.html.sh: Add pthread, nproc.
45194         * lib/nproc.c: New file.
45195         * lib/nproc.h: New file.
45196         * lib/pthread.in.h: New file.
45197         * m4/pthread.m4: New file.
45198         * modules/nproc: New file.
45199         * modules/pthread: New file.
45200
45201 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45202
45203         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
45204         New variable.
45205
45206 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
45207
45208         filevercmp: handle simple~ and numbered.~3~ backup suffixes
45209         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
45210         * tests/test-filevercmp.c: Add tests for backup suffixes.
45211
45212 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45213
45214         * modules/stdlib (Depends-on): Add stdint, needed when defining
45215         struct random_data on, for example, HP-UX 10.20.  Reported by
45216         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45217
45218 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45219
45220         * lib/readline.c (readline): Call fflush on stdout after printing
45221         prompt.
45222
45223 2009-03-20  Bruno Haible  <bruno@clisp.org>
45224
45225         Remove dependency from 'close' module to -lws2_32 on native Windows.
45226         * lib/close-hook.h: New file.
45227         * lib/close-hook.c: New file.
45228         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
45229         w32sock.h.
45230         (_gl_close_fd_maybe_socket): Remove function.
45231         (rpl_close): Invoke execute_all_close_hooks instead of
45232         _gl_close_fd_maybe_socket.
45233         * lib/sockets.c: Include close-hook.h, w32sock.h.
45234         (close_fd_maybe_socket): New function, essentially from lib/close.c.
45235         (close_sockets_hook): New variable.
45236         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
45237         (gl_sockets_cleanup): Unregister it.
45238         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
45239         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
45240         * modules/close-hook: New file.
45241         * modules/close (Files): Remove lib/w32sock.h.
45242         (Depends-on): Add close-hook.
45243         (Link): Remove section.
45244         * modules/sockets (Files): Add lib/w32sock.h.
45245         (Depends-on): Add close-hook.
45246         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
45247         invocation.
45248         * NEWS: Mention that LIB_CLOSE is gone.
45249
45250 2009-03-23  Eric Blake  <ebb9@byu.net>
45251
45252         signal-tests: test previous patch
45253         * tests/test-signal.c: New file.
45254         * modules/signal-tests: Likewise.
45255
45256         signal.h: always support 'volatile sig_atomic_t'
45257         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
45258         (gl_SIGNAL_H_DEFAULTS): Add a default.
45259         * modules/signal (Makefile.am): Substitute if needed.
45260         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
45261         users can blindly add volatile.
45262         * doc/posix-headers/signal.texi (signal.h): Document it.
45263         Reported by Matthew Woehlke.
45264
45265 2009-03-23  Jim Meyering  <meyering@redhat.com>
45266
45267         pathmax: PATH_MAX: use pathconf only when available
45268         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
45269         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
45270         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
45271         This avoids a link failure in a PSP cross-compilation environment
45272         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
45273
45274         * lib/vasnprintf.c (divide): Fix typo in comment.
45275
45276 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45277
45278         * gnulib-tool (func_filter_filelist): Fix comment.
45279
45280 2009-03-20  Bruno Haible  <bruno@clisp.org>
45281
45282         Make sockets.h self-contained.
45283         * lib/sockets.c: Include sockets.h first.
45284         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
45285
45286 2009-03-19  Eric Blake  <ebb9@byu.net>
45287
45288         doc: mention more functions added in cygwin 1.7.0
45289         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
45290         addition.
45291         * doc/posix-functions/log2f.texi: Likewise.
45292
45293 2009-03-19  Jim Meyering  <meyering@redhat.com>
45294
45295         fsusage: avoid syntax error due to statement-before-declaration
45296         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
45297         after all declarations.  Reported by Matthew Woehlke in
45298         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
45299
45300 2009-03-18  Eric Blake  <ebb9@byu.net>
45301
45302         build-aux/compile: sync from automake
45303         * build-aux/compile: New file, from automake.
45304         * config/srclist.txt: Mention build-aux/compile.
45305
45306 2009-03-17  Bruno Haible  <bruno@clisp.org>
45307
45308         * lib/git-merge-changelog.c: Fix typo in comment.
45309         Reported by Reuben Thomas <rrt@sc3d.org>.
45310
45311 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
45312
45313         * m4/regex.m4: update and improve help for
45314         --without-included-regex.
45315
45316 2009-03-17  Simon Josefsson  <simon@josefsson.org>
45317
45318         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
45319         failure on missing include files.
45320
45321 2009-03-17  Eric Blake  <ebb9@byu.net>
45322
45323         doc: mention more functions added in cygwin 1.7.0
45324         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
45325         addition.
45326         * doc/posix-functions/fwscanf.texi: Likewise.
45327         * doc/posix-functions/swprintf.texi: Likewise.
45328         * doc/posix-functions/swscanf.texi: Likewise.
45329         * doc/posix-functions/vfwprintf.texi: Likewise.
45330         * doc/posix-functions/vfwscanf.texi: Likewise.
45331         * doc/posix-functions/vswprintf.texi: Likewise.
45332         * doc/posix-functions/vswscanf.texi: Likewise.
45333         * doc/posix-functions/vwprintf.texi: Likewise.
45334         * doc/posix-functions/vwscanf.texi: Likewise.
45335         * doc/posix-functions/wcscasecmp.texi: Likewise.
45336         * doc/posix-functions/wcsdup.texi: Likewise.
45337         * doc/posix-functions/wcsftime.texi: Likewise.
45338         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45339         * doc/posix-functions/wprintf.texi: Likewise.
45340         * doc/posix-functions/wscanf.texi: Likewise.
45341         * doc/glibc-functions/gethostbyname2.texi: Likewise.
45342
45343 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45344
45345         maint.mk: really add $(AM_MAKEFLAGS)
45346         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
45347         was inadvertently omitted in the last commit.
45348         Spotted by Bruno Haible.
45349
45350         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
45351         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
45352         $(AM_MAKEFLAGS)' rather than plain `make'.
45353
45354         gnulib-tool: execute $MAKE not make
45355         * gnulib-tool: Default $MAKE to 'make'.
45356         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
45357         than make.  Initialize $MAKE in the do-autobuild script.
45358
45359         gnulib-tool: use $MAKE not make in generated files
45360         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
45361         make, in generated files.  Initialize $MAKE in the do-autobuild
45362         script.
45363
45364         * top/GNUmakefile (_have-git-version-gen): Fix typo.
45365
45366         GNUmakefile: disable parallelism only for multiple, recursive targets
45367         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
45368         additions in the Makefile.
45369         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
45370         by Automake.
45371         (.NOTPARALLEL): Only disable parallel builds if multiple targets
45372         are listed on the command line and at least one of them is
45373         listed in $(ALL_RECURSIVE_TARGETS).
45374
45375 2009-03-14  Bruno Haible  <bruno@clisp.org>
45376
45377         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
45378         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
45379         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
45380         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
45381         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
45382         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
45383         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
45384         unistr/u8-uctomb.
45385         * modules/unistr/u8-strchr (Depends-on): Likewise.
45386         * modules/unistr/u8-strrchr (Depends-on): Likewise.
45387         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
45388         unistr/u16-uctomb.
45389         * modules/unistr/u16-strchr (Depends-on): Likewise.
45390         * modules/unistr/u16-strrchr (Depends-on): Likewise.
45391
45392 2009-03-12  Bruno Haible  <bruno@clisp.org>
45393
45394         Work around select() bug on Interix 3.5.
45395         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
45396         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
45397         * m4/select.m4: New file.
45398         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
45399         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
45400         * modules/select (Files): Add m4/select.m4.
45401         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
45402         * modules/nanosleep (Depends-on): Add select.
45403         * modules/poll (Depends-on): Likewise.
45404         * doc/posix-functions/select.texi: Mention the Interix bug.
45405         Reported by Markus Duft <mduft@gentoo.org>.
45406
45407         * lib/select.c: Renamed from lib/winsock-select.c.
45408         * modules/select (Files): Add lib/select.c, remove
45409         lib/winsock-select.c.
45410         (configure.ac): Update.
45411
45412 2009-03-12  Jim Meyering  <meyering@redhat.com>
45413
45414         avoid gcc warnings about unused macro definitions
45415         * lib/readtokens.c (STREQ): Remove unused definition.
45416         * lib/xmalloc.c (SIZE_MAX): Likewise.
45417         * lib/openat-die.c (N_): Likewise.
45418         * lib/mountlist.c (SIZE_MAX): Remove definition.
45419         Instead, include <stdint.h>.
45420         * lib/readutmp.c: Likewise.
45421         * modules/readutmp (Depends-on): Add stdint.
45422         * modules/mountlist (Depends-on): Add stdint.
45423         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
45424
45425 2009-03-10  Bruno Haible  <bruno@clisp.org>
45426
45427         Tests for module 'mbmemcasecoll'.
45428         * modules/mbmemcasecoll-tests: New file.
45429         * tests/test-mbmemcasecoll1.sh: New file.
45430         * tests/test-mbmemcasecoll2.sh: New file.
45431         * tests/test-mbmemcasecoll3.sh: New file.
45432         * tests/test-mbmemcasecoll.c: New file.
45433
45434         New module 'mbmemcasecoll'.
45435         * lib/mbmemcasecoll.h: New file.
45436         * lib/mbmemcasecoll.c: New file.
45437         * modules/mbmemcasecoll: New file.
45438
45439         * tests/test-mbmemcasecmp.h: New file, extracted from
45440         tests/test-mbmemcasecmp.c.
45441         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
45442         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
45443         (main): Update.
45444         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
45445
45446 2009-03-09  Bruno Haible  <bruno@clisp.org>
45447
45448         Tests for module 'mbmemcasecmp'.
45449         * modules/mbmemcasecmp-tests: New file.
45450         * tests/test-mbmemcasecmp1.sh: New file.
45451         * tests/test-mbmemcasecmp2.sh: New file.
45452         * tests/test-mbmemcasecmp3.sh: New file.
45453         * tests/test-mbmemcasecmp.c: New file.
45454
45455         New module 'mbmemcasecmp'.
45456         * lib/mbmemcasecmp.h: New file.
45457         * lib/mbmemcasecmp.c: New file.
45458         * modules/mbmemcasecmp: New file.
45459
45460 2009-03-09  Bruno Haible  <bruno@clisp.org>
45461
45462         Tests for module 'unicase/ulc-casecoll'.
45463         * modules/unicase/ulc-casecoll-tests: New file.
45464         * tests/unicase/test-ulc-casecoll1.sh: New file.
45465         * tests/unicase/test-ulc-casecoll2.sh: New file.
45466         * tests/unicase/test-ulc-casecoll.c: New file.
45467
45468         New module 'unicase/ulc-casecoll'.
45469         * lib/unicase.h (ulc_casecoll): New declaration.
45470         * lib/unicase/ulc-casecoll.c: New file.
45471         * modules/unicase/ulc-casecoll: New file.
45472
45473         New module 'unicase/ulc-casexfrm'.
45474         * lib/unicase.h (ulc_casexfrm): New declaration.
45475         * lib/unicase/ulc-casexfrm.c: New file.
45476         * modules/unicase/ulc-casexfrm: New file.
45477
45478 2009-03-09  Bruno Haible  <bruno@clisp.org>
45479
45480         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
45481         invocations.
45482
45483         * m4/mbscasecmp.m4: Remove file.
45484         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
45485         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
45486
45487         * m4/mbscasestr.m4: Remove file.
45488         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
45489         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
45490
45491         * m4/mbschr.m4: Remove file.
45492         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
45493         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
45494
45495         * m4/mbscspn.m4: Remove file.
45496         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
45497         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
45498
45499         * m4/mbslen.m4: Remove file.
45500         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
45501         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
45502
45503         * m4/mbsncasecmp.m4: Remove file.
45504         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
45505         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
45506
45507         * m4/mbsnlen.m4: Remove file.
45508         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
45509         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
45510
45511         * m4/mbspbrk.m4: Remove file.
45512         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
45513         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
45514
45515         * m4/mbspcasecmp.m4: Remove file.
45516         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
45517         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
45518
45519         * m4/mbsrchr.m4: Remove file.
45520         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
45521         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
45522
45523         * m4/mbssep.m4: Remove file.
45524         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
45525         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
45526
45527         * m4/mbsspn.m4: Remove file.
45528         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
45529         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
45530
45531         * m4/mbsstr.m4: Remove file.
45532         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
45533         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
45534
45535         * m4/mbstok_r.m4: Remove file.
45536         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
45537         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
45538
45539         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
45540
45541         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
45542         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
45543
45544         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
45545
45546 2009-03-08  Bruno Haible  <bruno@clisp.org>
45547
45548         Tests for module 'unicase/ulc-casecmp'.
45549         * modules/unicase/ulc-casecmp-tests: New file.
45550         * tests/unicase/test-ulc-casecmp1.sh: New file.
45551         * tests/unicase/test-ulc-casecmp2.sh: New file.
45552         * tests/unicase/test-ulc-casecmp.c: New file.
45553
45554         New module 'unicase/ulc-casecmp'.
45555         * lib/unicase.h (ulc_casecmp): New declaration.
45556         * lib/unicase/ulc-casecmp.c: New file.
45557         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
45558         'const SRC_UNIT *'.
45559         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
45560         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
45561         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
45562         * modules/unicase/ulc-casecmp: New file.
45563
45564         Tests for module 'unicase/u32-is-cased'.
45565         * modules/unicase/u32-is-cased-tests: New file.
45566         * tests/unicase/test-u32-is-cased.c: New file.
45567
45568         Tests for module 'unicase/u16-is-cased'.
45569         * modules/unicase/u16-is-cased-tests: New file.
45570         * tests/unicase/test-u16-is-cased.c: New file.
45571
45572         Tests for module 'unicase/u8-is-cased'.
45573         * modules/unicase/u8-is-cased-tests: New file.
45574         * tests/unicase/test-u8-is-cased.c: New file.
45575         * tests/unicase/test-is-cased.h: New file.
45576
45577         New module 'unicase/u32-is-cased'.
45578         * lib/unicase/u32-is-cased.c: New file.
45579         * modules/unicase/u32-is-cased: New file.
45580
45581         New module 'unicase/u16-is-cased'.
45582         * lib/unicase/u16-is-cased.c: New file.
45583         * modules/unicase/u16-is-cased: New file.
45584
45585         New module 'unicase/u8-is-cased'.
45586         * lib/unicase/u8-is-cased.c: New file.
45587         * lib/unicase/u-is-cased.h: New file.
45588         * modules/unicase/u8-is-cased: New file.
45589
45590         Tests for module 'unicase/u32-is-casefolded'.
45591         * modules/unicase/u32-is-casefolded-tests: New file.
45592         * tests/unicase/test-u32-is-casefolded.c: New file.
45593
45594         Tests for module 'unicase/u16-is-casefolded'.
45595         * modules/unicase/u16-is-casefolded-tests: New file.
45596         * tests/unicase/test-u16-is-casefolded.c: New file.
45597
45598         Tests for module 'unicase/u8-is-casefolded'.
45599         * modules/unicase/u8-is-casefolded-tests: New file.
45600         * tests/unicase/test-u8-is-casefolded.c: New file.
45601         * tests/unicase/test-is-casefolded.h: New file.
45602
45603         New module 'unicase/u32-is-casefolded'.
45604         * lib/unicase/u32-is-casefolded.c: New file.
45605         * modules/unicase/u32-is-casefolded: New file.
45606
45607         New module 'unicase/u16-is-casefolded'.
45608         * lib/unicase/u16-is-casefolded.c: New file.
45609         * modules/unicase/u16-is-casefolded: New file.
45610
45611         New module 'unicase/u8-is-casefolded'.
45612         * lib/unicase/u8-is-casefolded.c: New file.
45613         * modules/unicase/u8-is-casefolded: New file.
45614
45615         Tests for module 'unicase/u32-is-titlecase'.
45616         * modules/unicase/u32-is-titlecase-tests: New file.
45617         * tests/unicase/test-u32-is-titlecase.c: New file.
45618
45619         Tests for module 'unicase/u16-is-titlecase'.
45620         * modules/unicase/u16-is-titlecase-tests: New file.
45621         * tests/unicase/test-u16-is-titlecase.c: New file.
45622
45623         Tests for module 'unicase/u8-is-titlecase'.
45624         * modules/unicase/u8-is-titlecase-tests: New file.
45625         * tests/unicase/test-u8-is-titlecase.c: New file.
45626         * tests/unicase/test-is-titlecase.h: New file.
45627
45628         New module 'unicase/u32-is-titlecase'.
45629         * lib/unicase/u32-is-titlecase.c: New file.
45630         * modules/unicase/u32-is-titlecase: New file.
45631
45632         New module 'unicase/u16-is-titlecase'.
45633         * lib/unicase/u16-is-titlecase.c: New file.
45634         * modules/unicase/u16-is-titlecase: New file.
45635
45636         New module 'unicase/u8-is-titlecase'.
45637         * lib/unicase/u8-is-titlecase.c: New file.
45638         * modules/unicase/u8-is-titlecase: New file.
45639
45640         Tests for module 'unicase/u32-is-lowercase'.
45641         * modules/unicase/u32-is-lowercase-tests: New file.
45642         * tests/unicase/test-u32-is-lowercase.c: New file.
45643
45644         Tests for module 'unicase/u16-is-lowercase'.
45645         * modules/unicase/u16-is-lowercase-tests: New file.
45646         * tests/unicase/test-u16-is-lowercase.c: New file.
45647
45648         Tests for module 'unicase/u8-is-lowercase'.
45649         * modules/unicase/u8-is-lowercase-tests: New file.
45650         * tests/unicase/test-u8-is-lowercase.c: New file.
45651         * tests/unicase/test-is-lowercase.h: New file.
45652
45653         New module 'unicase/u32-is-lowercase'.
45654         * lib/unicase/u32-is-lowercase.c: New file.
45655         * modules/unicase/u32-is-lowercase: New file.
45656
45657         New module 'unicase/u16-is-lowercase'.
45658         * lib/unicase/u16-is-lowercase.c: New file.
45659         * modules/unicase/u16-is-lowercase: New file.
45660
45661         New module 'unicase/u8-is-lowercase'.
45662         * lib/unicase/u8-is-lowercase.c: New file.
45663         * modules/unicase/u8-is-lowercase: New file.
45664
45665         Tests for module 'unicase/u32-is-uppercase'.
45666         * modules/unicase/u32-is-uppercase-tests: New file.
45667         * tests/unicase/test-u32-is-uppercase.c: New file.
45668
45669         Tests for module 'unicase/u16-is-uppercase'.
45670         * modules/unicase/u16-is-uppercase-tests: New file.
45671         * tests/unicase/test-u16-is-uppercase.c: New file.
45672
45673         Tests for module 'unicase/u8-is-uppercase'.
45674         * modules/unicase/u8-is-uppercase-tests: New file.
45675         * tests/unicase/test-u8-is-uppercase.c: New file.
45676         * tests/unicase/test-is-uppercase.h: New file.
45677
45678         New module 'unicase/u32-is-uppercase'.
45679         * lib/unicase/u32-is-uppercase.c: New file.
45680         * modules/unicase/u32-is-uppercase: New file.
45681
45682         New module 'unicase/u16-is-uppercase'.
45683         * lib/unicase/u16-is-uppercase.c: New file.
45684         * modules/unicase/u16-is-uppercase: New file.
45685
45686         New module 'unicase/u8-is-uppercase'.
45687         * lib/unicase/u8-is-uppercase.c: New file.
45688         * modules/unicase/u8-is-uppercase: New file.
45689
45690         New module 'unicase/u32-is-invariant'.
45691         * lib/unicase/u32-is-invariant.c: New file.
45692         * modules/unicase/u32-is-invariant: New file.
45693
45694         New module 'unicase/u16-is-invariant'.
45695         * lib/unicase/u16-is-invariant.c: New file.
45696         * modules/unicase/u16-is-invariant: New file.
45697
45698         New module 'unicase/u8-is-invariant'.
45699         * lib/unicase/u8-is-invariant.c: New file.
45700         * lib/unicase/invariant.h: New file.
45701         * lib/unicase/u-is-invariant.h: New file.
45702         * modules/unicase/u8-is-invariant: New file.
45703
45704         Tests for module 'unicase/u32-casecoll'.
45705         * modules/unicase/u32-casecoll-tests: New file.
45706         * tests/unicase/test-u32-casecoll.c: New file.
45707
45708         Tests for module 'unicase/u16-casecoll'.
45709         * modules/unicase/u16-casecoll-tests: New file.
45710         * tests/unicase/test-u16-casecoll.c: New file.
45711
45712         Tests for module 'unicase/u8-casecoll'.
45713         * modules/unicase/u8-casecoll-tests: New file.
45714         * tests/unicase/test-u8-casecoll.c: New file.
45715
45716         New module 'unicase/u32-casecoll'.
45717         * lib/unicase/u32-casecoll.c: New file.
45718         * modules/unicase/u32-casecoll: New file.
45719
45720         New module 'unicase/u16-casecoll'.
45721         * lib/unicase/u16-casecoll.c: New file.
45722         * modules/unicase/u16-casecoll: New file.
45723
45724         New module 'unicase/u8-casecoll'.
45725         * lib/unicase/u8-casecoll.c: New file.
45726         * lib/unicase/u-casecoll.h: New file.
45727         * modules/unicase/u8-casecoll: New file.
45728
45729         New module 'unicase/u32-casexfrm'.
45730         * lib/unicase/u32-casexfrm.c: New file.
45731         * modules/unicase/u32-casexfrm: New file.
45732
45733         New module 'unicase/u16-casexfrm'.
45734         * lib/unicase/u16-casexfrm.c: New file.
45735         * modules/unicase/u16-casexfrm: New file.
45736
45737         New module 'unicase/u8-casexfrm'.
45738         * lib/unicase/u8-casexfrm.c: New file.
45739         * lib/unicase/u-casexfrm.h: New file.
45740         * modules/unicase/u8-casexfrm: New file.
45741
45742         Tests for module 'unicase/u32-casecmp'.
45743         * modules/unicase/u32-casecmp-tests: New file.
45744         * tests/unicase/test-u32-casecmp.c: New file.
45745
45746         Tests for module 'unicase/u16-casecmp'.
45747         * modules/unicase/u16-casecmp-tests: New file.
45748         * tests/unicase/test-u16-casecmp.c: New file.
45749
45750         Tests for module 'unicase/u8-casecmp'.
45751         * modules/unicase/u8-casecmp-tests: New file.
45752         * tests/unicase/test-u8-casecmp.c: New file.
45753         * tests/unicase/test-casecmp.h: New file.
45754
45755         New module 'unicase/u32-casecmp'.
45756         * lib/unicase/u32-casecmp.c: New file.
45757         * modules/unicase/u32-casecmp: New file.
45758
45759         New module 'unicase/u16-casecmp'.
45760         * lib/unicase/u16-casecmp.c: New file.
45761         * modules/unicase/u16-casecmp: New file.
45762
45763         New module 'unicase/u8-casecmp'.
45764         * lib/unicase/u8-casecmp.c: New file.
45765         * lib/unicase/u-casecmp.h: New file.
45766         * modules/unicase/u8-casecmp: New file.
45767
45768         Tests for module 'unicase/u32-casefold'.
45769         * modules/unicase/u32-casefold-tests: New file.
45770         * tests/unicase/test-u32-casefold.c: New file.
45771
45772         Tests for module 'unicase/u16-casefold'.
45773         * modules/unicase/u16-casefold-tests: New file.
45774         * tests/unicase/test-u16-casefold.c: New file.
45775
45776         Tests for module 'unicase/u8-casefold'.
45777         * modules/unicase/u8-casefold-tests: New file.
45778         * tests/unicase/test-u8-casefold.c: New file.
45779
45780         New module 'unicase/u32-casefold'.
45781         * lib/unicase/u32-casefold.c: New file.
45782         * modules/unicase/u32-casefold: New file.
45783
45784         New module 'unicase/u16-casefold'.
45785         * lib/unicase/u16-casefold.c: New file.
45786         * modules/unicase/u16-casefold: New file.
45787
45788         New module 'unicase/u8-casefold'.
45789         * lib/unicase/u8-casefold.c: New file.
45790         * lib/unicase/u-casefold.h: New file.
45791         * modules/unicase/u8-casefold: New file.
45792
45793         New module 'unicase/tocasefold'.
45794         * lib/unicase/casefold.h: New file.
45795         * lib/unicase/tocasefold.c: New file.
45796         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
45797         * modules/unicase/tocasefold: New file.
45798
45799         Tests for module 'unicase/u32-totitle'.
45800         * modules/unicase/u32-totitle-tests: New file.
45801         * tests/unicase/test-u32-totitle.c: New file.
45802
45803         Tests for module 'unicase/u16-totitle'.
45804         * modules/unicase/u16-totitle-tests: New file.
45805         * tests/unicase/test-u16-totitle.c: New file.
45806
45807         Tests for module 'unicase/u8-totitle'.
45808         * modules/unicase/u8-totitle-tests: New file.
45809         * tests/unicase/test-u8-totitle.c: New file.
45810
45811         New module 'unicase/u32-totitle'.
45812         * lib/unicase/u32-totitle.c: New file.
45813         * modules/unicase/u32-totitle: New file.
45814
45815         New module 'unicase/u16-totitle'.
45816         * lib/unicase/u16-totitle.c: New file.
45817         * modules/unicase/u16-totitle: New file.
45818
45819         New module 'unicase/u8-totitle'.
45820         * lib/unicase/u8-totitle.c: New file.
45821         * lib/unicase/u-totitle.h: New file.
45822         * modules/unicase/u8-totitle: New file.
45823
45824         Tests for module 'unicase/u32-tolower'.
45825         * modules/unicase/u32-tolower-tests: New file.
45826         * tests/unicase/test-u32-tolower.c: New file.
45827
45828         Tests for module 'unicase/u16-tolower'.
45829         * modules/unicase/u16-tolower-tests: New file.
45830         * tests/unicase/test-u16-tolower.c: New file.
45831
45832         Tests for module 'unicase/u8-tolower'.
45833         * modules/unicase/u8-tolower-tests: New file.
45834         * tests/unicase/test-u8-tolower.c: New file.
45835
45836         New module 'unicase/u32-tolower'.
45837         * lib/unicase/u32-tolower.c: New file.
45838         * modules/unicase/u32-tolower: New file.
45839
45840         New module 'unicase/u16-tolower'.
45841         * lib/unicase/u16-tolower.c: New file.
45842         * modules/unicase/u16-tolower: New file.
45843
45844         New module 'unicase/u8-tolower'.
45845         * lib/unicase/u8-tolower.c: New file.
45846         * modules/unicase/u8-tolower: New file.
45847
45848         Tests for module 'unicase/u32-toupper'.
45849         * modules/unicase/u32-toupper-tests: New file.
45850         * tests/unicase/test-u32-toupper.c: New file.
45851
45852         Tests for module 'unicase/u16-toupper'.
45853         * modules/unicase/u16-toupper-tests: New file.
45854         * tests/unicase/test-u16-toupper.c: New file.
45855
45856         Tests for module 'unicase/u8-toupper'.
45857         * modules/unicase/u8-toupper-tests: New file.
45858         * tests/unicase/test-u8-toupper.c: New file.
45859
45860         New module 'unicase/u32-toupper'.
45861         * lib/unicase/u32-toupper.c: New file.
45862         * modules/unicase/u32-toupper: New file.
45863
45864         New module 'unicase/u16-toupper'.
45865         * lib/unicase/u16-toupper.c: New file.
45866         * modules/unicase/u16-toupper: New file.
45867
45868         New module 'unicase/u8-toupper'.
45869         * lib/unicase/u8-toupper.c: New file.
45870         * modules/unicase/u8-toupper: New file.
45871
45872         New module 'unicase/u32-casemap'.
45873         * lib/unicase/u32-casemap.c: New file.
45874         * modules/unicase/u32-casemap: New file.
45875
45876         New module 'unicase/u16-casemap'.
45877         * lib/unicase/u16-casemap.c: New file.
45878         * modules/unicase/u16-casemap: New file.
45879
45880         New module 'unicase/u8-casemap'.
45881         * lib/unicase/unicasemap.h: New file.
45882         * lib/unicase/u8-casemap.c: New file.
45883         * lib/unicase/u-casemap.h: New file.
45884         * modules/unicase/u8-casemap: New file.
45885
45886         New module 'unicase/special-casing'.
45887         * lib/unicase/special-casing.h: New file.
45888         * lib/unicase/special-casing.c: New file.
45889         * lib/unicase/special-casing-table.gperf: New file, generated by
45890         gen-uni-tables.c.
45891         * modules/unicase/special-casing: New file.
45892
45893         Tests for module 'unicase/locale-language'.
45894         * modules/unicase/locale-language-tests: New file.
45895         * tests/unicase/test-locale-language.sh: New file.
45896         * tests/unicase/test-locale-language.c: New file.
45897
45898         New module 'unicase/locale-language'.
45899         * lib/unicase/locale-language.c: New file.
45900         * lib/unicase/locale-languages.gperf: New file.
45901         * modules/unicase/locale-language: New file.
45902
45903         Generate more tables for case conversion and case folding.
45904         * lib/gen-uni-tables.c (SCC_*): New enum items.
45905         (struct special_casing_rule): New type.
45906         (casing_rules, num_casing_rules, allocated_casing_rules): New
45907         variables.
45908         (add_casing_rule, fill_casing_rules): New functions.
45909         (struct casefold_rule): New type.
45910         (casefolding_rules, num_casefolding_rules,
45911         allocated_casefolding_rules): New variables.
45912         (fill_casefolding_rules): New function.
45913         (unicode_casefold): New variable.
45914         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
45915         sort_casing_rules, output_casing_rules): New functions.
45916         (main): Accept to more arguments: SpecialCasing.txt and
45917         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
45918         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
45919         Output mapping for casefolding.
45920
45921         * lib/unicase.h: Include stdbool.h, uninorm.h.
45922         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
45923         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
45924         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
45925         arguments.
45926         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
45927         resultp arguments.
45928         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
45929         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
45930         resultp arguments.
45931         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
45932         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
45933         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
45934         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
45935         declarations.
45936         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
45937
45938 2009-03-08  Bruno Haible  <bruno@clisp.org>
45939
45940         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
45941         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
45942         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
45943         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
45944
45945 2009-03-07  Bruno Haible  <bruno@clisp.org>
45946
45947         Adjust u*_normcmp, u*_normcoll API.
45948         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
45949         u16_normcoll, u32_normcoll): Change failure conventions.
45950         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
45951         errno and return -1.
45952         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
45953
45954 2009-03-07  Bruno Haible  <bruno@clisp.org>
45955
45956         Tests for module 'uninorm/u32-normcoll'.
45957         * modules/uninorm/u32-normcoll-tests: New file.
45958         * tests/uninorm/test-u32-normcoll.c: New file.
45959
45960         Tests for module 'uninorm/u16-normcoll'.
45961         * modules/uninorm/u16-normcoll-tests: New file.
45962         * tests/uninorm/test-u16-normcoll.c: New file.
45963
45964         Tests for module 'uninorm/u8-normcoll'.
45965         * modules/uninorm/u8-normcoll-tests: New file.
45966         * tests/uninorm/test-u8-normcoll.c: New file.
45967
45968 2009-03-07  Bruno Haible  <bruno@clisp.org>
45969
45970         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
45971         tests/uninorm/test-u32-normcmp.c.
45972         * tests/uninorm/test-u32-normcmp.c: Include it.
45973         (test_nonascii): New function, extracted from main. Add some more
45974         tests.
45975         (main): Invoke test_ascii and test_nonascii.
45976         * modules/uninorm/u32-normcmp-tests (Files): Add
45977         tests/uninorm/test-u32-normcmp.h.
45978         (Depends-on): Remove uninorm/u32-normcmp.
45979
45980         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
45981         tests/uninorm/test-u16-normcmp.c.
45982         * tests/uninorm/test-u16-normcmp.c: Include it.
45983         (test_nonascii): New function, extracted from main. Add some more
45984         tests.
45985         (main): Invoke test_ascii and test_nonascii.
45986         * modules/uninorm/u16-normcmp-tests (Files): Add
45987         tests/uninorm/test-u16-normcmp.h.
45988         (Depends-on): Remove uninorm/u16-normcmp.
45989
45990         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
45991         tests/uninorm/test-u8-normcmp.c.
45992         * tests/uninorm/test-u8-normcmp.c: Include it.
45993         (test_nonascii): New function, extracted from main. Add some more
45994         tests.
45995         (main): Invoke test_ascii and test_nonascii.
45996         * modules/uninorm/u8-normcmp-tests (Files): Add
45997         tests/uninorm/test-u8-normcmp.h.
45998         (Depends-on): Remove uninorm/u8-normcmp.
45999
46000 2009-03-07  Bruno Haible  <bruno@clisp.org>
46001
46002         New module 'uninorm/u32-normcoll'.
46003         * lib/uninorm/u32-normcoll.c: New file.
46004         * modules/uninorm/u32-normcoll: New file.
46005
46006         New module 'uninorm/u16-normcoll'.
46007         * lib/uninorm/u16-normcoll.c: New file.
46008         * modules/uninorm/u16-normcoll: New file.
46009
46010         New module 'uninorm/u8-normcoll'.
46011         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46012         declarations.
46013         * lib/uninorm/u8-normcoll.c: New file.
46014         * lib/uninorm/u-normcoll.h: New file.
46015         * modules/uninorm/u8-normcoll: New file.
46016
46017         New module 'uninorm/u32-normxfrm'.
46018         * lib/uninorm/u32-normxfrm.c: New file.
46019         * modules/uninorm/u32-normxfrm: New file.
46020
46021         New module 'uninorm/u16-normxfrm'.
46022         * lib/uninorm/u16-normxfrm.c: New file.
46023         * modules/uninorm/u16-normxfrm: New file.
46024
46025         New module 'uninorm/u8-normxfrm'.
46026         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46027         declarations.
46028         * lib/uninorm/u8-normxfrm.c: New file.
46029         * lib/uninorm/u-normxfrm.h: New file.
46030         * modules/uninorm/u8-normxfrm: New file.
46031
46032 2009-03-07  Bruno Haible  <bruno@clisp.org>
46033
46034         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46035         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46036         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46037
46038 2009-03-07  Bruno Haible  <bruno@clisp.org>
46039
46040         New module 'memxfrm'.
46041         * lib/memxfrm.h: New file.
46042         * lib/memxfrm.c: New file.
46043         * modules/memxfrm: New file.
46044
46045 2009-03-07  Bruno Haible  <bruno@clisp.org>
46046
46047         New module 'memcmp2'.
46048         * lib/memcmp2.h: New file.
46049         * lib/memcmp2.c: New file.
46050         * modules/memcmp2: New file.
46051
46052 2009-03-07  Bruno Haible  <bruno@clisp.org>
46053
46054         Tests for module 'uninorm/decomposing-form'.
46055         * modules/uninorm/decomposing-form-tests: New file.
46056         * tests/uninorm/test-decomposing-form.c: New file.
46057
46058         New module 'uninorm/decomposing-form'.
46059         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46060         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46061         Add 'decomposing_variant' field.
46062         * lib/uninorm/decomposing-form.c: New file.
46063         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46064         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46065         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46066         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46067         * modules/uninorm/decomposing-form: New file.
46068         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46069         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46070
46071 2009-03-07  Bruno Haible  <bruno@clisp.org>
46072
46073         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46074         strings.
46075
46076 2009-03-06  Bruno Haible  <bruno@clisp.org>
46077
46078         Tests for module 'uninorm/u32-normcmp'.
46079         * tests/uninorm/test-u32-normcmp.c: New file.
46080         * modules/uninorm/u32-normcmp-tests: New file.
46081
46082         Tests for module 'uninorm/u16-normcmp'.
46083         * tests/uninorm/test-u16-normcmp.c: New file.
46084         * modules/uninorm/u16-normcmp-tests: New file.
46085
46086         Tests for module 'uninorm/u8-normcmp'.
46087         * tests/uninorm/test-u8-normcmp.c: New file.
46088         * modules/uninorm/u8-normcmp-tests: New file.
46089
46090         New module 'uninorm/u32-normcmp'.
46091         * lib/uninorm/u32-normcmp.c: New file.
46092         * modules/uninorm/u32-normcmp: New file.
46093
46094         New module 'uninorm/u16-normcmp'.
46095         * lib/uninorm/u16-normcmp.c: New file.
46096         * modules/uninorm/u16-normcmp: New file.
46097
46098         New module 'uninorm/u8-normcmp'.
46099         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
46100         declarations.
46101         * lib/uninorm/u8-normcmp.c: New file.
46102         * lib/uninorm/u-normcmp.h: New file.
46103         * modules/uninorm/u8-normcmp: New file.
46104
46105 2009-03-06  Bruno Haible  <bruno@clisp.org>
46106
46107         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
46108         Reported by Eric Blake.
46109
46110 2009-03-06  Eric Blake  <ebb9@byu.net>
46111             Bruno Haible  <bruno@clisp.org>
46112
46113         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
46114         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
46115         condition.
46116         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46117         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
46118         condition.
46119         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46120
46121 2009-03-06  Eric Blake  <ebb9@byu.net>
46122
46123         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
46124         to avoid compiler warnings.
46125         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
46126
46127 2009-03-05  Bruno Haible  <bruno@clisp.org>
46128
46129         * tests/test-ftell.c (main): Disable test beyond end of file on
46130         FreeMiNT.
46131         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46132
46133 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
46134
46135         * lib/filevercmp.c: Move hidden files up in ordering.
46136         * tests/test-filevercmp.c: Add tests for hidden files.
46137
46138 2009-03-04  Bruno Haible  <bruno@clisp.org>
46139
46140         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
46141         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
46142         AM_CFLAGS.
46143         Reported by Simon Josefsson.
46144
46145 2009-03-03  Bruno Haible  <bruno@clisp.org>
46146
46147         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
46148         Reported by Simon Josefsson.
46149
46150         * doc/ld-version-script.texi: Update node reference.
46151
46152 2009-03-03  Bruno Haible  <bruno@clisp.org>
46153
46154         * modules/visibility (License): Change to 'unlimited'.
46155         Suggested by Simon Josefsson.
46156
46157 2009-03-03  Jim Meyering  <meyering@redhat.com>
46158
46159         unlinkdir: cannot_unlink_dir may modify process state
46160         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
46161         it's neither thread-safe nor appropriate for use in a library.
46162
46163 2009-03-03  Eric Blake  <ebb9@byu.net>
46164
46165         test-closein: silence test under Darwin
46166         * tests/test-closein.sh: Ignore stderr from cat, since we don't
46167         care if it dies from EPIPE or EBADF.
46168
46169 2009-03-03  Bruno Haible  <bruno@clisp.org>
46170
46171         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
46172         earlier.
46173         * doc/visibility.texi: Fix @node and @section.
46174
46175 2009-03-03  Simon Josefsson  <simon@josefsson.org>
46176
46177         * doc/gnulib.texi: Link to sections for ld version script and
46178         visibility.
46179         * doc/visibility.texi: Add @node and @section.
46180         * modules/ld-version-script: New module.
46181         * m4/ld-version-script.m4: New file.
46182         * doc/ld-version-script.texi: New file.
46183
46184 2009-03-02  David Lutterkort  <lutter@redhat.com>
46185
46186         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
46187         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46188
46189 2009-03-02  Bruno Haible  <bruno@clisp.org>
46190
46191         * doc/visibility.texi: Mention libtool's -export-symbols option.
46192
46193 2009-03-02  Jim Meyering  <meyering@redhat.com>
46194
46195         announce-gen: new option: --no-print-checksums
46196         * build-aux/announce-gen (usage): Describe it.
46197         (print_checksums): Print a newline here, not in the [*] footnote.
46198         (main): Honor it.
46199
46200 2009-03-01  Bruno Haible  <bruno@clisp.org>
46201
46202         Use socklen_t in the native Windows replacements prototypes.
46203         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
46204         instead of 'int'.
46205         * lib/getsockopt.c (rpl_getsockopt): Likewise.
46206         * lib/setsockopt.c (rpl_setsockopt): Likewise.
46207         * modules/getsockopt (Depends-on): Add socklen.
46208         * modules/setsockopt (Depends-on): Add socklen.
46209
46210 2009-03-01  Bruno Haible  <bruno@clisp.org>
46211
46212         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
46213         least 4.2.
46214
46215 2009-03-01  Eric Blake  <ebb9@byu.net>
46216             Bruno Haible  <bruno@clisp.org>
46217
46218         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
46219         error messages.
46220         * lib/wait-process.c (wait_subprocess): Omit error message about
46221         deadly signal sent to the child of termsigp != NULL.
46222
46223 2009-03-01  Eric Blake  <ebb9@byu.net>
46224
46225         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
46226
46227 2009-03-01  Bruno Haible  <bruno@clisp.org>
46228
46229         Avoid a gcc warning.
46230         * tests/test-sched.c (b): Make global.
46231         Reported by Eric Blake.
46232
46233 2009-01-19  Martin Lambers  <marlam@marlam.de>
46234
46235         Provide POSIX semantics for socket timeout options on W32.
46236         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
46237         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
46238         * modules/setsockopt: Depend on sys_time module for struct timeval.
46239         * modules/getsockopt: Depend on sys_time module for struct timeval.
46240
46241 2009-03-01  Simon Josefsson  <simon@josefsson.org>
46242
46243         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
46244         __USE_GNU, for consistency with netdb.in.h.
46245         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46246
46247 2009-03-01  Bruno Haible  <bruno@clisp.org>
46248
46249         More support for FreeMiNT.
46250         * lib/fseeko.c (rpl_fseeko): Complete last commit.
46251         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46252
46253 2009-03-01  Bruno Haible  <bruno@clisp.org>
46254
46255         More support for FreeMiNT.
46256         * lib/fpurge.c (fpurge): Correct last commit.
46257         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46258
46259 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46260
46261         Fix unportable awk script in vc-list-files.
46262         * build-aux/vc-list-files: In the replacement awk script, use
46263         substr with a second argument of 1, not zero.
46264         Report by Simon Josefsson.
46265
46266 2009-02-28  Bruno Haible  <bruno@clisp.org>
46267
46268         More support for FreeMiNT.
46269         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
46270         to FreeMiNT today.
46271         * lib/fwriting.c (fwriting): Likewise.
46272         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
46273
46274 2009-02-28  Bruno Haible  <bruno@clisp.org>
46275
46276         * tests/test-freadseek.c (main): Disable test beyond end of file on
46277         FreeMiNT.
46278         * tests/test-ftello.c (main): Likewise.
46279         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46280
46281 2009-02-28  Bruno Haible  <bruno@clisp.org>
46282
46283         Add tentative support for FreeMiNT.
46284         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
46285         * lib/fpurge.c (fpurge): Likewise.
46286         * lib/freadable.c (freadable): Likewise.
46287         * lib/freading.c (freading): Likewise.
46288         * lib/freadptr.c (freadptr): Likewise.
46289         * lib/freadseek.c (freadptrinc): Likewise.
46290         * lib/fseeko.c (rpl_fseeko): Likewise.
46291         * lib/fseterr.c (fseterr): Likewise.
46292         * lib/fwritable.c (fwritable): Likewise.
46293         * lib/fwriting.c (fwriting): Likewise.
46294         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
46295         Hourihane.
46296         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46297
46298 2009-02-28  Bruno Haible  <bruno@clisp.org>
46299
46300         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
46301         SIGCHLD.
46302         Reported by Jim Meyering.
46303
46304 2009-02-28  Bruno Haible  <bruno@clisp.org>
46305
46306         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
46307         Mention the results of these tests on various platforms.
46308         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
46309         order.
46310         * doc/posix-functions/printf.texi: Likewise.
46311         * doc/posix-functions/snprintf.texi: Likewise.
46312         * doc/posix-functions/sprintf.texi: Likewise.
46313         * doc/posix-functions/vfprintf.texi: Likewise.
46314         * doc/posix-functions/vprintf.texi: Likewise.
46315         * doc/posix-functions/vsnprintf.texi: Likewise.
46316         * doc/posix-functions/vsprintf.texi: Likewise.
46317         * doc/glibc-functions/obstack_printf.texi: Likewise.
46318         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46319
46320 2009-02-28  Bruno Haible  <bruno@clisp.org>
46321
46322         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
46323         Reported by Loïc Minier <lool@dooz.org>.
46324
46325 2009-02-27  Bruno Haible  <bruno@clisp.org>
46326
46327         * gnulib-tool (func_import): Make the sed expression used to create the
46328         sed script for updating the .gitignore file POSIX compliant.
46329         Reported by Eric Blake.
46330
46331 2009-02-27  Bruno Haible  <bruno@clisp.org>
46332
46333         * gnulib-tool (sed): Don't alias as "sed --posix".
46334         Reported by Eric Blake.
46335
46336 2009-02-27  Bruno Haible  <bruno@clisp.org>
46337
46338         Avoid test link errors.
46339         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
46340         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
46341         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
46342         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
46343         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46344
46345 2009-02-27  Bruno Haible  <bruno@clisp.org>
46346
46347         Avoid spurious "(cached)" in configure output.
46348         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
46349         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
46350         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46351         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46352         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46353         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
46354         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46355         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
46356         Reported by Eric Blake.
46357
46358 2009-02-27  Eric Blake  <ebb9@byu.net>
46359
46360         printf: fix regression in previous patch
46361         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
46362
46363 2009-02-27  Bruno Haible  <bruno@clisp.org>
46364
46365         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
46366         value.
46367         * lib/stdint.in.h: Likewise.
46368         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
46369
46370 2009-02-27  Eric Blake  <ebb9@byu.net>
46371
46372         doc: mention more functions added in cygwin 1.7.0
46373         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
46374         addition.
46375         * doc/posix-functions/open_wmemstream.texi: Likewise.
46376         * doc/posix-functions/wcsnlen.texi: Likewise.
46377         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46378         * doc/posix-functions/wcstod.texi: Likewise.
46379         * doc/posix-functions/wcstof.texi: Likewise.
46380         * doc/posix-functions/wcstoimax.texi: Likewise.
46381         * doc/posix-functions/wcstok.texi: Likewise.
46382         * doc/posix-functions/wcstoumax.texi: Likewise.
46383
46384         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
46385         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
46386         * doc/posix-functions/fprintf.texi: Update.
46387         * doc/posix-functions/printf.texi: Update.
46388         * doc/posix-functions/snprintf.texi: Update.
46389         * doc/posix-functions/sprintf.texi: Update.
46390         * doc/posix-functions/vfprintf.texi: Update.
46391         * doc/posix-functions/vprintf.texi: Update.
46392         * doc/posix-functions/vsnprintf.texi: Update.
46393         * doc/posix-functions/vsprintf.texi: Update.
46394         * doc/glibc-functions/obstack_printf.texi: Update.
46395         * doc/glibc-functions/obstack_vprintf.texi: Update.
46396
46397 2009-02-26  Eric Blake  <ebb9@byu.net>
46398
46399         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
46400         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
46401         compilation bug by using runtime conversion.
46402         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
46403         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
46404         * modules/ceill-tests (Files): Use nan.h.
46405         * modules/floorl-tests (Files): Likewise.
46406         * modules/frexpl-tests (Files): Likewise.
46407         * modules/isnanl-tests (Files): Likewise.
46408         * modules/ldexpl-tests (Files): Likewise.
46409         * modules/roundl-tests (Files): Likewise.
46410         * modules/truncl-tests (Files): Likewise.
46411         * tests/test-ceill.c (main): Use a working NaN.
46412         * tests/test-floorl.c (main): Likewise.
46413         * tests/test-frexpl.c (main): Likewise.
46414         * tests/test-isnan.c (test_long_double): Likewise.
46415         * tests/test-isnanl.h (main): Likewise.
46416         * tests/test-ldexpl.h (main): Likewise.
46417         * tests/test-roundl.h (main): Likewise.
46418         * tests/test-truncl.h (main): Likewise.
46419         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
46420
46421 2009-02-26  Eric Blake  <ebb9@byu.net>
46422             Bruno Haible  <bruno@clisp.org>
46423
46424         Work around a *printf bug with %ls on Solaris.
46425         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
46426         precision is specified, sprintf stops converting the wide string
46427         argument when the number of bytes that have been produced by this
46428         conversion equals or exceeds the precision.
46429         * doc/posix-functions/fprintf.texi: Update.
46430         * doc/posix-functions/printf.texi: Update.
46431         * doc/posix-functions/snprintf.texi: Update.
46432         * doc/posix-functions/sprintf.texi: Update.
46433         * doc/posix-functions/vfprintf.texi: Update.
46434         * doc/posix-functions/vprintf.texi: Update.
46435         * doc/posix-functions/vsnprintf.texi: Update.
46436         * doc/posix-functions/vsprintf.texi: Update.
46437         * doc/glibc-functions/obstack_printf.texi: Update.
46438         * doc/glibc-functions/obstack_vprintf.texi: Update.
46439
46440 2009-02-26  Eric Blake  <ebb9@byu.net>
46441
46442         stdlib: favor compiler check of random.h
46443         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
46444         to avoid an ObjC random.h installed by Swarm.
46445
46446 2009-02-26  Bruno Haible  <bruno@clisp.org>
46447
46448         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
46449         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
46450         Reported by Gary V. Vaughan <gary@gnu.org>.
46451
46452 2009-02-26  Bruno Haible  <bruno@clisp.org>
46453
46454         Fix *printf behaviour regarding the %ls directive.
46455         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
46456         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
46457         NEED_PRINTF_DIRECTIVE_LS.
46458         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
46459         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46460         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46461         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
46462         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
46463         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
46464         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
46465         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46466         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46467         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46468         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46469         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
46470         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46471         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46472         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46473         * doc/posix-functions/fprintf.texi: Update.
46474         * doc/posix-functions/printf.texi: Update.
46475         * doc/posix-functions/snprintf.texi: Update.
46476         * doc/posix-functions/sprintf.texi: Update.
46477         * doc/posix-functions/vfprintf.texi: Update.
46478         * doc/posix-functions/vprintf.texi: Update.
46479         * doc/posix-functions/vsnprintf.texi: Update.
46480         * doc/posix-functions/vsprintf.texi: Update.
46481         * doc/glibc-functions/obstack_printf.texi: Update.
46482         * doc/glibc-functions/obstack_vprintf.texi: Update.
46483         Reported by Eric Blake.
46484
46485 2009-02-25  Bruno Haible  <bruno@clisp.org>
46486
46487         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
46488         with known value.
46489         Reported by Gary V. Vaughan <gary@gnu.org>.
46490
46491 2009-02-25  Bruno Haible  <bruno@clisp.org>
46492
46493         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
46494         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
46495         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
46496         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
46497         Reported by Gary V. Vaughan <gary@gnu.org>.
46498
46499 2009-02-25  Bruno Haible  <bruno@clisp.org>
46500
46501         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
46502         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
46503         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
46504         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
46505         Reported by Gary V. Vaughan <gary@gnu.org>.
46506
46507 2009-02-25  Eric Blake  <ebb9@byu.net>
46508
46509         tests: skip fseek/ftell tests if ungetc is broken
46510         * m4/ungetc.m4: New file.
46511         * modules/fseek-tests: Split test, so ungetc dependency is
46512         separate from rest of test.
46513         * modules/fseeko-tests: Likewise.
46514         * modules/ftell-tests: Likewise.
46515         * modules/ftello-tests: Likewise.
46516         * tests/test-fseek.c (main): Isolate ungetc dependency.
46517         * tests/test-fseeko.c (main): Likewise.
46518         * tests/test-ftell.c (main): Likewise.
46519         * tests/test-ftello.c (main): Likewise.
46520         * tests/test-fseek2.sh: New file.
46521         * tests/test-fseeko2.sh: Likewise.
46522         * tests/test-ftell2.sh: Likewise.
46523         * tests/test-ftello2.sh: Likewise.
46524
46525 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
46526
46527         test-getaddrinfo: fix usage of skip return code 77
46528         * tests/test-gettaddrinfo.c: Return skip code 77 only
46529         for first occurance of skip (4x77 is not 77)
46530
46531 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
46532
46533         strtod: avoid C99 decl-after-statement
46534         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
46535
46536 2009-02-24  Eric Blake  <ebb9@byu.net>
46537
46538         strtod: detect HP-UX 11.31 bug
46539         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
46540         Reported by Gary V. Vaughan.
46541
46542 2009-02-23  Bruno Haible  <bruno@clisp.org>
46543
46544         Fix invalid read past end of memory block.
46545         * lib/vasnprintf.c (DCHAR_SET): Define.
46546         (local_wcslen): Define only when needed.
46547         (local_strnlen, local_wcsnlen): New functions.
46548         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
46549         directives that involve a conversion ourselves.
46550         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
46551         wcsnlen, mbrtowc, wcrtomb.
46552         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
46553         * tests/test-vasprintf-posix.c (test_function): Likewise.
46554         * tests/test-snprintf-posix.h (test_function): Likewise.
46555         * tests/test-sprintf-posix.h (test_function): Likewise.
46556         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46557
46558 2009-02-22  Bruno Haible  <bruno@clisp.org>
46559
46560         Implement new clarified decomposition of Hangul syllables.
46561         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
46562         of type LTV, return only a pairwise decomposition.
46563         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
46564         Likewise.
46565         * tests/uninorm/test-decomposition.c (main): Updated expected result.
46566         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
46567         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
46568
46569 2009-02-22  Bruno Haible  <bruno@clisp.org>
46570
46571         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
46572         zero-length results and shrink excess allocated memory.
46573         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
46574         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
46575         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
46576         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
46577         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
46578         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
46579         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
46580         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
46581         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
46582         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
46583         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
46584         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
46585
46586 2009-02-21  Bruno Haible  <bruno@clisp.org>
46587
46588         * doc/gnulib.texi: Include safe-alloc.texi earlier.
46589         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
46590         spaces after a period. Put a space between a macro name and its
46591         argument list. Trivial rewordings.
46592         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
46593         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
46594         (main): Return 0 explicitly.
46595
46596 2009-02-21  Bruno Haible  <bruno@clisp.org>
46597
46598         Tests for module 'uninorm/filter'.
46599         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
46600         * modules/uninorm/filter-tests: New file.
46601
46602         New module 'uninorm/filter'.
46603         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
46604         uninorm_filter_flush, uninorm_filter_free): New declarations.
46605         * lib/uninorm/uninorm-filter.c: New file.
46606         * modules/uninorm/filter: New file.
46607
46608 2009-02-21  Bruno Haible  <bruno@clisp.org>
46609
46610         Tests for module 'uninorm/nfkc'.
46611         * tests/uninorm/test-nfkc.c: New file.
46612         * tests/uninorm/test-u8-nfkc.c: New file.
46613         * tests/uninorm/test-u16-nfkc.c: New file.
46614         * tests/uninorm/test-u32-nfkc.c: New file.
46615         * tests/uninorm/test-u32-nfkc-big.sh: New file.
46616         * tests/uninorm/test-u32-nfkc-big.c: New file.
46617         * modules/uninorm/nfkc-tests: New file.
46618
46619         New module 'uninorm/nfkc'.
46620         * lib/uninorm/nfkc.c: New file.
46621         * modules/uninorm/nfkc: New file.
46622
46623         Tests for module 'uninorm/nfkd'.
46624         * tests/uninorm/test-nfkd.c: New file.
46625         * tests/uninorm/test-u8-nfkd.c: New file.
46626         * tests/uninorm/test-u16-nfkd.c: New file.
46627         * tests/uninorm/test-u32-nfkd.c: New file.
46628         * tests/uninorm/test-u32-nfkd-big.sh: New file.
46629         * tests/uninorm/test-u32-nfkd-big.c: New file.
46630         * modules/uninorm/nfkd-tests: New file.
46631
46632         New module 'uninorm/nfkd'.
46633         * lib/uninorm/nfkd.c: New file.
46634         * modules/uninorm/nfkd: New file.
46635
46636         Tests for module 'uninorm/nfc'.
46637         * tests/uninorm/test-nfc.c: New file.
46638         * tests/uninorm/test-u8-nfc.c: New file.
46639         * tests/uninorm/test-u16-nfc.c: New file.
46640         * tests/uninorm/test-u32-nfc.c: New file.
46641         * tests/uninorm/test-u32-nfc-big.sh: New file.
46642         * tests/uninorm/test-u32-nfc-big.c: New file.
46643         * modules/uninorm/nfc-tests: New file.
46644
46645         New module 'uninorm/nfc'.
46646         * lib/uninorm/nfc.c: New file.
46647         * modules/uninorm/nfc: New file.
46648
46649         Tests for module 'uninorm/nfd'.
46650         * tests/uninorm/test-nfd.c: New file.
46651         * tests/uninorm/test-u8-nfd.c: New file.
46652         * tests/uninorm/test-u16-nfd.c: New file.
46653         * tests/uninorm/test-u32-nfd.c: New file.
46654         * tests/uninorm/test-u32-nfd-big.sh: New file.
46655         * tests/uninorm/test-u32-nfd-big.c: New file.
46656         * tests/uninorm/test-u32-normalize-big.h: New file.
46657         * tests/uninorm/test-u32-normalize-big.c: New file.
46658         * tests/uninorm/NormalizationTest.txt: New file, created from
46659         Unicode 5.1.0 NormalizationTest.txt.
46660         * modules/uninorm/nfd-tests: New file.
46661
46662         New module 'uninorm/nfd'.
46663         * lib/uninorm/nfd.c: New file.
46664         * modules/uninorm/nfd: New file.
46665
46666         New module 'uninorm/u32-normalize'.
46667         * lib/uninorm/u32-normalize.c: New file.
46668         * modules/uninorm/u32-normalize: New file.
46669
46670         New module 'uninorm/u16-normalize'.
46671         * lib/uninorm/u16-normalize.c: New file.
46672         * modules/uninorm/u16-normalize: New file.
46673
46674         New module 'uninorm/u8-normalize'.
46675         * lib/uninorm/u8-normalize.c: New file.
46676         * lib/uninorm/normalize-internal.h: New file.
46677         * lib/uninorm/u-normalize-internal.h: New file.
46678         * modules/uninorm/u8-normalize: New file.
46679
46680         New module 'uninorm/decompose-internal'.
46681         * lib/uninorm/decompose-internal.c: New file.
46682         * modules/uninorm/decompose-internal: New file.
46683
46684         Tests for module 'uninorm/composition'.
46685         * tests/uninorm/test-composition.c: New file.
46686         * modules/uninorm/composition-tests: New file.
46687
46688         New module 'uninorm/composition'.
46689         * lib/uninorm/composition.c: New file.
46690         * lib/uninorm/composition-table.gperf: New file, generated by
46691         gen-uni-tables.
46692         * modules/uninorm/composition: New file.
46693
46694         Tests for module 'uninorm/compat-decomposition'.
46695         * tests/uninorm/test-compat-decomposition.c: New file.
46696         * modules/uninorm/compat-decomposition-tests: New file.
46697
46698         New module 'uninorm/compat-decomposition'.
46699         * lib/uninorm/decompose-internal.h: New file.
46700         * lib/uninorm/compat-decomposition.c: New file.
46701         * modules/uninorm/compat-decomposition: New file.
46702
46703         Tests for module 'uninorm/canonical-decomposition'.
46704         * tests/uninorm/test-canonical-decomposition.c: New file.
46705         * modules/uninorm/canonical-decomposition-tests: New file.
46706
46707         New module 'uninorm/canonical-decomposition'.
46708         * lib/uninorm/canonical-decomposition.c: New file.
46709         * modules/uninorm/canonical-decomposition: New file.
46710
46711         Tests for module 'uninorm/decomposition'.
46712         * tests/uninorm/test-decomposition.c: New file.
46713         * modules/uninorm/decomposition-tests: New file.
46714
46715         New module 'uninorm/decomposition'.
46716         * lib/uninorm/decomposition.c: New file.
46717         * modules/uninorm/decomposition: New file.
46718
46719         New module 'uninorm/decomposition-table'.
46720         * lib/uninorm/decomposition-table.h: New file.
46721         * lib/uninorm/decomposition-table.c: New file.
46722         * lib/uninorm/decomposition-table1.h: New file, generated by
46723         gen-uni-tables.
46724         * lib/uninorm/decomposition-table2.h: New file, generated by
46725         gen-uni-tables.
46726         * modules/uninorm/decomposition-table: New file.
46727
46728         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
46729         (UC_DECOMP_*): New enumeration items.
46730         (get_decomposition): New function.
46731         (struct decomp_table): New type.
46732         (output_decomposition, output_decomposition_tables): New functions.
46733         (unicode_composition_exclusions): New variable.
46734         (fill_composition_exclusions, debug_output_composition_tables): New
46735         functions.
46736         (main): Accept one more argument. Invoke fill_composition_exclusions.
46737         Output decomposition and composition tables.
46738
46739         New module 'uninorm/base'.
46740         * lib/uninorm.h: New file.
46741         * lib/unictype.h: Update comment.
46742         * modules/uninorm/base: New file.
46743
46744 2009-02-21  David Lutterkort  <lutter@redhat.com>
46745
46746         Tests for module 'safe-alloc'.
46747         * tests/test-safe-alloc.c: New file.
46748         * modules/safe-alloc-tests: New file.
46749
46750         New module 'safe-alloc'.
46751         * lib/safe-alloc.h: New file.
46752         * lib/safe-alloc.c: New file.
46753         * m4/safe-alloc.m4: New file.
46754         * modules/safe-alloc: New file.
46755         * doc/safe-alloc.texi: New file.
46756         * doc/gnulib.texi: Include it.
46757         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
46758         safe-alloc.
46759
46760 2009-02-18  Bruno Haible  <bruno@clisp.org>
46761
46762         Fix link error on non-glibc systems.
46763         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
46764         variable.
46765         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46766
46767 2009-02-18  Jim Meyering  <meyering@redhat.com>
46768
46769         fts: avoid used-uninitialized error due to recent change
46770         * lib/fts.c (fts_read): Guard uses of the new member,
46771         parent->fts_n_dirs_remaining, since it's not relevant for
46772         the parent of a directory specified on the command-line.
46773
46774 2009-02-17  James Youngman  <jay@gnu.org>
46775             Bruno Haible  <bruno@clisp.org>
46776
46777         * m4/include_next.m4: Reformulate comment.
46778
46779 2009-02-16  Jim Meyering  <meyering@redhat.com>
46780
46781         fts: add #if guards so that the fts_lgpl module still builds
46782         * lib/fts.c: Guard just-added hash-table-using parts with
46783         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
46784         Reported by Simon Josefsson.
46785
46786 2009-02-15  Bruno Haible  <bruno@clisp.org>
46787
46788         * modules/array-mergesort-tests: New file.
46789         * tests/test-array-mergesort.c: New file.
46790
46791         New module 'array-mergesort'.
46792         * modules/array-mergesort: New file.
46793         * lib/array-mergesort.h: New file.
46794
46795 2009-02-15  Bruno Haible  <bruno@clisp.org>
46796
46797         Fix 2009-02-07 commit.
46798         * lib/gen-uni-tables.c (output_predicate, output_category,
46799         output_combclass, output_bidi_category, output_decimal_digit,
46800         output_digit, output_numeric, output_mirror, output_scripts,
46801         output_ident_category, output_simple_mapping): Fix format directives.
46802         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
46803
46804 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
46805
46806         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
46807         fixes are available from IBM.
46808
46809 2009-02-13  Jim Meyering  <meyering@redhat.com>
46810
46811         fts: arrange not to stat non-directories in more cases
46812         This makes GNU find (when it doesn't need to stat each file)
46813         *much* more efficient at traversing reiserfs file systems.
46814         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
46815         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
46816         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
46817         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
46818         (leaf_optimization_applies): New function.
46819         (LCO_hash, LCO_compare): New helper functions.
46820         (link_count_optimize_ok): New function.
46821         (fts_stat): Initialize new member (if dir).
46822         (fts_read): Decrement parent's fts_n_dirs_remaining count if
46823         we've just stat'ed a directory.  Skip the stat call when possible.
46824         ---
46825         Note this AFS-related exchange:
46826         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
46827         and note find's pioctl call in find/fstype.c.
46828         But that is necessary only if you want to enable the
46829         optimization for AFS, and for now, I don't.
46830
46831         fts: move a function definition "up" (no semantic change)
46832         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
46833         "up" to precede upcoming use of a related function.
46834
46835 2009-02-11  Jim Meyering  <meyering@redhat.com>
46836
46837         fts: correct internal computation of nlinks (optimization-related)
46838         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
46839         whether the current entry is a directory, so don't test it.
46840
46841 2009-02-10  Bruno Haible  <bruno@clisp.org>
46842
46843         Tests for module 'uniwbrk/ulc-wordbreaks'.
46844         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
46845         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
46846         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
46847
46848         Tests for module 'uniwbrk/u32-wordbreaks'.
46849         * modules/uniwbrk/u32-wordbreaks-tests: New file.
46850         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
46851
46852         Tests for module 'uniwbrk/u16-wordbreaks'.
46853         * modules/uniwbrk/u16-wordbreaks-tests: New file.
46854         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
46855
46856         Tests for module 'uniwbrk/u8-wordbreaks'.
46857         * modules/uniwbrk/u8-wordbreaks-tests: New file.
46858         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
46859
46860 2009-02-10  Bruno Haible  <bruno@clisp.org>
46861
46862         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
46863         property.
46864         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
46865         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
46866         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
46867
46868 2009-02-10  Simon Josefsson  <simon@josefsson.org>
46869
46870         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
46871         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
46872
46873 2009-02-10  Bruno Haible  <bruno@clisp.org>
46874
46875         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
46876         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
46877         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
46878         * lib/unilbrk/u8-possible-linebreaks.c: Update.
46879         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
46880         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
46881
46882 2009-02-09  Simon Josefsson  <simon@josefsson.org>
46883
46884         * lib/sockets.h (gl_fd_to_handle): New function.
46885
46886         * tests/test-sockets.c: Call gl_fd_to_handle.
46887
46888 2009-02-09  Bruno Haible  <bruno@clisp.org>
46889
46890         * doc/havelib.texi: Document the conventions on bi-arch systems.
46891
46892 2009-02-08  Bruno Haible  <bruno@clisp.org>
46893
46894         Document the AC_LIB_LINKFLAGS macro.
46895         * doc/havelib.texi: New file, mostly written on 2005-05-24.
46896         * doc/gnulib.texi: Include it.
46897
46898 2009-02-08  Bruno Haible  <bruno@clisp.org>
46899
46900         Fix wrong order of sections, compared to TOC.
46901         * doc/gnulib.texi: Include relocatable-maint.texi after the
46902         "Regular expressions" node, not before.
46903
46904 2009-02-08  Bruno Haible  <bruno@clisp.org>
46905
46906         Tests for module 'unicase/totitle'.
46907         * modules/unicase/totitle-tests: New file.
46908
46909         Tests for module 'unicase/tolower'.
46910         * modules/unicase/tolower-tests: New file.
46911
46912         Tests for module 'unicase/toupper'.
46913         * modules/unicase/toupper-tests: New file.
46914         * tests/unicase/test-mapping-part1.h: New file.
46915         * tests/unicase/test-mapping-part2.h: New file.
46916
46917         New module 'unicase/totitle'.
46918         * modules/unicase/totitle: New file.
46919         * lib/unicase/totitle.c: New file.
46920
46921         New module 'unicase/tolower'.
46922         * modules/unicase/tolower: New file.
46923         * lib/unicase/tolower.c: New file.
46924
46925         New module 'unicase/toupper'.
46926         * modules/unicase/toupper: New file.
46927         * lib/unicase/toupper.c: New file.
46928         * lib/unicase/simple-mapping.h: New file.
46929
46930         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
46931         (mapping_table): New structure.
46932         (output_simple_mapping): New function.
46933         (main): Invoke output_simple_mapping_test and output_simple_mapping.
46934         * modules/gen-uni-tables (Description): Update.
46935         * lib/unicase/toupper.h: New file, automatically generated by
46936         gen-uni-tables.
46937         * lib/unicase/tolower.h: New file, automatically generated by
46938         gen-uni-tables.
46939         * lib/unicase/totitle.h: New file, automatically generated by
46940         gen-uni-tables.
46941         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
46942         gen-uni-tables.
46943         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
46944         gen-uni-tables.
46945         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
46946         gen-uni-tables.
46947
46948         New module 'unicase/base'.
46949         * modules/unicase/base: New file.
46950         * lib/unicase.h: New file.
46951
46952 2009-02-08  Bruno Haible  <bruno@clisp.org>
46953
46954         New module 'uniwbrk/ulc-wordbreaks'.
46955         * modules/uniwbrk/ulc-wordbreaks: New file.
46956         * lib/uniwbrk/ulc-wordbreaks.c: New file.
46957
46958         New module 'uniwbrk/u32-wordbreaks'.
46959         * modules/uniwbrk/u32-wordbreaks: New file.
46960         * lib/uniwbrk/u32-wordbreaks.c: New file.
46961
46962         New module 'uniwbrk/u16-wordbreaks'.
46963         * modules/uniwbrk/u16-wordbreaks: New file.
46964         * lib/uniwbrk/u16-wordbreaks.c: New file.
46965
46966         New module 'uniwbrk/u8-wordbreaks'.
46967         * modules/uniwbrk/u8-wordbreaks: New file.
46968         * lib/uniwbrk/u8-wordbreaks.c: New file.
46969         * lib/uniwbrk/u-wordbreaks.h: New file.
46970
46971         New module 'uniwbrk/table'.
46972         * modules/uniwbrk/table: New file.
46973         * lib/uniwbrk/wbrktable.h: New file.
46974         * lib/uniwbrk/wbrktable.c: New file.
46975
46976         New module 'uniwbrk/wordbreak-property'.
46977         * modules/uniwbrk/wordbreak-property: New file.
46978         * lib/uniwbrk/wordbreak-property.c: New file.
46979
46980         * lib/gen-uni-tables.c (WBP_*): New enum items.
46981         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
46982         (unicode_org_wbp): New variable.
46983         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
46984         New functions.
46985         (wbp_table): New structure.
46986         (output_wbp, output_wbrk_tables): New functions.
46987         (main): Accept additional argument. Invoke fill_org_wbp,
46988         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
46989         output_wbrk_tables.
46990         * modules/gen-uni-tables (Description): Update.
46991         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
46992         gen-uni-tables.
46993
46994         New module 'uniwbrk/base'.
46995         * modules/uniwbrk/base: New file.
46996         * lib/uniwbrk.h: New file.
46997
46998 2009-02-08  Bruno Haible  <bruno@clisp.org>
46999
47000         Update to Unicode 5.1.0.
47001         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47002         U+2185..U+2188.
47003         (is_property_default_ignorable_code_point): Don't include characters
47004         of category Cc or Cs and not-a-characters.
47005         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47006         U+0D79, U+109E, U+109F, U+A60C.
47007         * lib/unictype/bidi_of.h: Regenerated.
47008         * lib/unictype/blocks.h: Regenerated.
47009         * lib/unictype/categ_C.h: Regenerated.
47010         * lib/unictype/categ_Cf.h: Regenerated.
47011         * lib/unictype/categ_Cn.h: Regenerated.
47012         * lib/unictype/categ_L.h: Regenerated.
47013         * lib/unictype/categ_Ll.h: Regenerated.
47014         * lib/unictype/categ_Lm.h: Regenerated.
47015         * lib/unictype/categ_Lo.h: Regenerated.
47016         * lib/unictype/categ_Lu.h: Regenerated.
47017         * lib/unictype/categ_M.h: Regenerated.
47018         * lib/unictype/categ_Mc.h: Regenerated.
47019         * lib/unictype/categ_Me.h: Regenerated.
47020         * lib/unictype/categ_Mn.h: Regenerated.
47021         * lib/unictype/categ_N.h: Regenerated.
47022         * lib/unictype/categ_Nd.h: Regenerated.
47023         * lib/unictype/categ_Nl.h: Regenerated.
47024         * lib/unictype/categ_No.h: Regenerated.
47025         * lib/unictype/categ_P.h: Regenerated.
47026         * lib/unictype/categ_Pd.h: Regenerated.
47027         * lib/unictype/categ_Pe.h: Regenerated.
47028         * lib/unictype/categ_Pf.h: Regenerated.
47029         * lib/unictype/categ_Pi.h: Regenerated.
47030         * lib/unictype/categ_Po.h: Regenerated.
47031         * lib/unictype/categ_Ps.h: Regenerated.
47032         * lib/unictype/categ_S.h: Regenerated.
47033         * lib/unictype/categ_Sk.h: Regenerated.
47034         * lib/unictype/categ_Sm.h: Regenerated.
47035         * lib/unictype/categ_So.h: Regenerated.
47036         * lib/unictype/categ_of.h: Regenerated.
47037         * lib/unictype/combining.h: Regenerated.
47038         * lib/unictype/ctype_alnum.h: Regenerated.
47039         * lib/unictype/ctype_alpha.h: Regenerated.
47040         * lib/unictype/ctype_graph.h: Regenerated.
47041         * lib/unictype/ctype_lower.h: Regenerated.
47042         * lib/unictype/ctype_print.h: Regenerated.
47043         * lib/unictype/ctype_punct.h: Regenerated.
47044         * lib/unictype/ctype_upper.h: Regenerated.
47045         * lib/unictype/decdigit.h: Regenerated.
47046         * lib/unictype/digit.h: Regenerated.
47047         * lib/unictype/mirror.h: Regenerated.
47048         * lib/unictype/numeric.h: Regenerated.
47049         * lib/unictype/pr_alphabetic.h: Regenerated.
47050         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47051         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47052         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47053         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47054         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47055         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47056         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47057         * lib/unictype/pr_combining.h: Regenerated.
47058         * lib/unictype/pr_dash.h: Regenerated.
47059         * lib/unictype/pr_decimal_digit.h: Regenerated.
47060         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47061         * lib/unictype/pr_deprecated.h: Regenerated.
47062         * lib/unictype/pr_diacritic.h: Regenerated.
47063         * lib/unictype/pr_extender.h: Regenerated.
47064         * lib/unictype/pr_format_control.h: Regenerated.
47065         * lib/unictype/pr_grapheme_base.h: Regenerated.
47066         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47067         * lib/unictype/pr_grapheme_link.h: Regenerated.
47068         * lib/unictype/pr_id_continue.h: Regenerated.
47069         * lib/unictype/pr_id_start.h: Regenerated.
47070         * lib/unictype/pr_ideographic.h: Regenerated.
47071         * lib/unictype/pr_ignorable_control.h: Regenerated.
47072         * lib/unictype/pr_lowercase.h: Regenerated.
47073         * lib/unictype/pr_math.h: Regenerated.
47074         * lib/unictype/pr_numeric.h: Regenerated.
47075         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47076         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47077         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47078         * lib/unictype/pr_other_id_continue.h: Regenerated.
47079         * lib/unictype/pr_other_lowercase.h: Regenerated.
47080         * lib/unictype/pr_other_math.h: Regenerated.
47081         * lib/unictype/pr_punctuation.h: Regenerated.
47082         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47083         * lib/unictype/pr_soft_dotted.h: Regenerated.
47084         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47085         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47086         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47087         * lib/unictype/pr_uppercase.h: Regenerated.
47088         * lib/unictype/pr_xid_continue.h: Regenerated.
47089         * lib/unictype/pr_xid_start.h: Regenerated.
47090         * lib/unictype/pr_zero_width.h: Regenerated.
47091         * lib/unictype/scripts.h: Regenerated.
47092         * lib/unictype/scripts_byname.gperf: Regenerated.
47093         * lib/unictype/sy_java_ident.h: Regenerated.
47094         * lib/unilbrk/lbrkprop1.h: Regenerated.
47095         * lib/unilbrk/lbrkprop2.h: Regenerated.
47096         * tests/unictype/test-categ_C.c: Regenerated.
47097         * tests/unictype/test-categ_Cf.c: Regenerated.
47098         * tests/unictype/test-categ_Cn.c: Regenerated.
47099         * tests/unictype/test-categ_L.c: Regenerated.
47100         * tests/unictype/test-categ_Ll.c: Regenerated.
47101         * tests/unictype/test-categ_Lm.c: Regenerated.
47102         * tests/unictype/test-categ_Lo.c: Regenerated.
47103         * tests/unictype/test-categ_Lu.c: Regenerated.
47104         * tests/unictype/test-categ_M.c: Regenerated.
47105         * tests/unictype/test-categ_Mc.c: Regenerated.
47106         * tests/unictype/test-categ_Me.c: Regenerated.
47107         * tests/unictype/test-categ_Mn.c: Regenerated.
47108         * tests/unictype/test-categ_N.c: Regenerated.
47109         * tests/unictype/test-categ_Nd.c: Regenerated.
47110         * tests/unictype/test-categ_Nl.c: Regenerated.
47111         * tests/unictype/test-categ_No.c: Regenerated.
47112         * tests/unictype/test-categ_P.c: Regenerated.
47113         * tests/unictype/test-categ_Pd.c: Regenerated.
47114         * tests/unictype/test-categ_Pe.c: Regenerated.
47115         * tests/unictype/test-categ_Pf.c: Regenerated.
47116         * tests/unictype/test-categ_Pi.c: Regenerated.
47117         * tests/unictype/test-categ_Po.c: Regenerated.
47118         * tests/unictype/test-categ_Ps.c: Regenerated.
47119         * tests/unictype/test-categ_S.c: Regenerated.
47120         * tests/unictype/test-categ_Sk.c: Regenerated.
47121         * tests/unictype/test-categ_Sm.c: Regenerated.
47122         * tests/unictype/test-categ_So.c: Regenerated.
47123         * tests/unictype/test-ctype_alnum.c: Regenerated.
47124         * tests/unictype/test-ctype_alpha.c: Regenerated.
47125         * tests/unictype/test-ctype_graph.c: Regenerated.
47126         * tests/unictype/test-ctype_lower.c: Regenerated.
47127         * tests/unictype/test-ctype_print.c: Regenerated.
47128         * tests/unictype/test-ctype_punct.c: Regenerated.
47129         * tests/unictype/test-ctype_upper.c: Regenerated.
47130         * tests/unictype/test-decdigit.h: Regenerated.
47131         * tests/unictype/test-digit.h: Regenerated.
47132         * tests/unictype/test-numeric.h: Regenerated.
47133         * tests/unictype/test-pr_alphabetic.c: Regenerated.
47134         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
47135         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
47136         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
47137         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
47138         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
47139         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
47140         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
47141         * tests/unictype/test-pr_combining.c: Regenerated.
47142         * tests/unictype/test-pr_dash.c: Regenerated.
47143         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
47144         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
47145         * tests/unictype/test-pr_deprecated.c: Regenerated.
47146         * tests/unictype/test-pr_diacritic.c: Regenerated.
47147         * tests/unictype/test-pr_extender.c: Regenerated.
47148         * tests/unictype/test-pr_format_control.c: Regenerated.
47149         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
47150         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
47151         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
47152         * tests/unictype/test-pr_id_continue.c: Regenerated.
47153         * tests/unictype/test-pr_id_start.c: Regenerated.
47154         * tests/unictype/test-pr_ideographic.c: Regenerated.
47155         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
47156         * tests/unictype/test-pr_lowercase.c: Regenerated.
47157         * tests/unictype/test-pr_math.c: Regenerated.
47158         * tests/unictype/test-pr_numeric.c: Regenerated.
47159         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
47160         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
47161         Regenerated.
47162         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
47163         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
47164         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
47165         * tests/unictype/test-pr_other_math.c: Regenerated.
47166         * tests/unictype/test-pr_punctuation.c: Regenerated.
47167         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
47168         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
47169         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
47170         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
47171         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
47172         * tests/unictype/test-pr_uppercase.c: Regenerated.
47173         * tests/unictype/test-pr_xid_continue.c: Regenerated.
47174         * tests/unictype/test-pr_xid_start.c: Regenerated.
47175         * tests/unictype/test-pr_zero_width.c: Regenerated.
47176
47177         Update to Unicode 5.1.0.
47178         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
47179         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
47180         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
47181         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
47182         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
47183         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
47184         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
47185         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
47186         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
47187         (nonspacing_table_ind): Update.
47188         * tests/uniwidth/test-uc_width2.sh: Update expected result.
47189
47190         Update to Unicode 5.1.0.
47191         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
47192         code transform.
47193         * lib/uniname/uniname.c (unicode_character_name,
47194         unicode_name_character): Add the range 0x1Fxxx to the code transform.
47195         * lib/uniname/uninames.h: Regenerated.
47196         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
47197
47198 2009-02-07  Bruno Haible  <bruno@clisp.org>
47199
47200         Merge gen-ctype and gen-lbrk into a single program.
47201         * lib/gen-uni-tables.c: New file, incorporating
47202         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
47203         Add directory prefixes to the names of the generated files.
47204         * lib/unictype/gen-ctype.c: Remove file.
47205         * lib/unilbrk/gen-lbrk.c: Remove file.
47206         * modules/gen-uni-tables: New file.
47207         * modules/unictype/gen-ctype: Remove file.
47208         * modules/unilbrk/gen-lbrk: Remove file.
47209
47210 2009-02-07  Bruno Haible  <bruno@clisp.org>
47211
47212         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
47213
47214         New module 'unistr/u32-strcoll'.
47215         * modules/unistr/u32-strcoll: New file.
47216         * lib/unistr/u32-strcoll.c: New file.
47217
47218         New module 'unistr/u16-strcoll'.
47219         * modules/unistr/u16-strcoll: New file.
47220         * lib/unistr/u16-strcoll.c: New file.
47221
47222         New module 'unistr/u8-strcoll'.
47223         * modules/unistr/u8-strcoll: New file.
47224         * lib/unistr/u8-strcoll.c: New file.
47225         * lib/unistr/u-strcoll.h: New file.
47226
47227 2009-02-07  Bruno Haible  <bruno@clisp.org>
47228
47229         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
47230         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47231         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47232         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
47233         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
47234         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
47235
47236 2009-02-07  Bruno Haible  <bruno@clisp.org>
47237
47238         Make 64-bit clean.
47239         * lib/unictype/gen-ctype.c (output_predicate, output_category,
47240         output_combclass, output_bidi_category, output_decimal_digit,
47241         output_digit, output_numeric, output_mirror, output_scripts,
47242         output_ident_category): Use proper width specifier in format strings.
47243
47244 2009-02-07  Bruno Haible  <bruno@clisp.org>
47245
47246         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
47247         failure behaviour.
47248
47249 2009-02-07  Jim Meyering  <meyering@redhat.com>
47250
47251         regex: avoid compilation failure with upcoming gcc-4.4
47252         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
47253         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
47254         "... error: integer overflow in preprocessor expression".
47255
47256 2009-02-05  Ben Pfaff  <blp@gnu.org>
47257
47258         Fix link errors on Windows when close module is used.
47259         * modules/close: Add $(LIB_CLOSE) to Link section.
47260         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
47261         $(LIB_CLOSE) on Windows.
47262
47263 2009-02-05  Jim Meyering  <meyering@redhat.com>
47264
47265         still avoid unused-parameter warnings, but do it cleanly
47266         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
47267         (get_fs_usage): Cast to void instead.
47268         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
47269         (dev_from_mount_options, read_file_system_list): Cast to void.
47270         Prompted by Bruno Haible.
47271
47272 2009-02-04  Jim Meyering  <meyering@redhat.com>
47273
47274         fsusage.c: correct copyright year
47275         * lib/fsusage.c: Reflect year in which the change is pushed into
47276
47277         avoid misc. warnings
47278         * lib/fsusage.c (UNUSED_PARAM): Define.
47279         (get_fs_usage): Mark parameter "disk" as unused.
47280         * lib/getugroups.c (getgrent): Use "void" in prototype.
47281         * lib/mountlist.c: Mark unused parameters.
47282         (read_file_system_list): Declare a local with "const".
47283         * lib/nanosleep.c (getnow): Declare static.
47284         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
47285
47286         dirfd: set errno upon failure
47287         * lib/dirfd.c: Include <errno.h>.
47288         Set errno to ENOTSUP when returning -1.
47289         * modules/dirfd (Depends-on): Add errno.
47290         Suggested by John Kodis <kodis@comcast.net>.
47291
47292 2009-02-01  Bruno Haible  <bruno@clisp.org>
47293
47294         Don't assume sizeof (long) >= sizeof (void *).
47295         * lib/memcmp.c: Include stdint.h.
47296         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
47297         srcp2 to 'const byte *'.
47298         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
47299         types to uintptr_t.
47300         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
47301         * modules/memcmp (Depends-on): Add stdint.
47302         Reported by Ozkan Sezer <sezeroz@gmail.com>.
47303
47304 2009-01-30  Eric Blake  <ebb9@byu.net>
47305
47306         fix more require-before-expand issues
47307         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
47308         expand, AC_PROG_AWK.
47309         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
47310
47311 2009-01-28  Eric Blake  <ebb9@byu.net>
47312
47313         version-etc: use consistent URL formatting
47314         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
47315         Improve formatting.  Use fputs for string without %.
47316
47317 2009-01-28  Jim Meyering  <meyering@redhat.com>
47318
47319         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
47320         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
47321         "underquoted definition of NAME" from autoconf-2.59.
47322
47323 2009-01-28  Bruno Haible  <bruno@clisp.org>
47324
47325         * doc/gnulib.texi: Add "Obsolete modules" to index.
47326
47327 2009-01-28  Jim Meyering  <meyering@redhat.com>
47328
47329         useless-if-before-free: recognize more variants
47330         * build-aux/useless-if-before-free: Also recognize e.g.,
47331         if (NULL != p) free (p);
47332
47333 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
47334
47335         test-getaddrinfo: skip (don't fail) this test when there's no network
47336         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
47337         on the presumption that it means you lack network access.
47338
47339 2009-01-26  Jim Meyering  <meyering@redhat.com>
47340
47341         fflush: avoid warnings on modern systems
47342         * lib/fflush.c (rpl_fflush): Move declarations of locals,
47343         pos and result, into scopes where they're used.
47344
47345 2009-01-26  Eric Blake  <ebb9@byu.net>
47346
47347         Silence warning reintroduced by recent extensions patch.
47348         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
47349         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
47350         autoconf.
47351
47352         Backport improved autoconf semantics of AC_DEFUN_ONCE.
47353         * m4/00gnulib.m4: New file.
47354         * gnulib-tool (func_get_filelist): Always use it.
47355         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
47356         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
47357
47358 2009-01-25  Bruno Haible  <bruno@clisp.org>
47359
47360         Make test-quotearg work on MacOS X and AIX.
47361         * tests/test-quotearg.sh: New file.
47362         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
47363         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
47364         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
47365         include <libintl.h>.
47366         (fake_locale): Remove variable.
47367         (gettext, dgettext, dcgettext): Remove functions.
47368         (main): Instead of setting a fake locale, set a real locale. Call
47369         textdomain and bindtextdomain.
47370         * modules/quotearg-tests (Files): Add the new files.
47371         (Depends-on): Add gettext, setenv, unsetenv.
47372         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
47373         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
47374         Augment TESTS_ENVIRONMENT.
47375
47376 2009-01-25  Bruno Haible  <bruno@clisp.org>
47377
47378         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
47379         fr_FR.ISO8859-1 locale on MacOS X.
47380         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
47381         ja_JP.eucJP locale on MacOS X.
47382         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
47383         zh_CN.GB18030 locale on MacOS X.
47384
47385 2009-01-25  Bruno Haible  <bruno@clisp.org>
47386
47387         Avoid link errors on MacOS X 10.3.
47388         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
47389         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
47390
47391 2009-01-25  Bruno Haible  <bruno@clisp.org>
47392
47393         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47394         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
47395         * modules/pipe (Files): Remove m4/posix_spawn.m4.
47396         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47397         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
47398         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47399         posix_spawnattr_init, posix_spawnattr_setsigmask,
47400         posix_spawnattr_setflags, posix_spawnattr_destroy.
47401
47402         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47403         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
47404         * modules/execute (Files): Remove m4/posix_spawn.m4.
47405         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47406         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47407         posix_spawnattr_init, posix_spawnattr_setsigmask,
47408         posix_spawnattr_setflags, posix_spawnattr_destroy.
47409
47410 2009-01-25  Bruno Haible  <bruno@clisp.org>
47411
47412         * lib/glthread/threadlib.c: Include <stdlib.h>.
47413
47414 2009-01-25  Bruno Haible  <bruno@clisp.org>
47415
47416         * lib/glthread/threadlib.c (dummy): New declaration.
47417
47418 2009-01-25  Bruno Haible  <bruno@clisp.org>
47419
47420         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
47421         multibyte characters also for the GB18030 encoding. Don't crash when
47422         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
47423
47424 2009-01-25  Bruno Haible  <bruno@clisp.org>
47425
47426         Avoid redefining 'struct random_data' on OSF/1 5.1.
47427         * lib/stdlib.in.h: Include <random.h> if it exists.
47428         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
47429         HAVE_RANDOM_H. Include <random.h> when testing whether
47430         'struct random_data' exists.
47431         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
47432
47433 2009-01-25  Bruno Haible  <bruno@clisp.org>
47434
47435         Don't install charset.alias on MacOS X >= 10.3.
47436         * lib/localcharset.c (DARWIN7): New macro.
47437         (get_charset_aliases): Hardcode the result for Darwin7.
47438         * modules/localcharset (install-exec-local): Don't install
47439         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
47440
47441 2009-01-25  Bruno Haible  <bruno@clisp.org>
47442
47443         Don't install charset.alias on mingw and Cygwin.
47444         * modules/localcharset (install-exec-local): Don't install
47445         charset.alias on mingw and Cygwin, if the file does not yet exist.
47446         The result for these platforms is hardcoded in localcharset.c.
47447
47448 2009-01-25  Bruno Haible  <bruno@clisp.org>
47449
47450         Make it possible again to use AC_GNU_SOURCE together with gnulib.
47451         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
47452         before requiring AC_USE_SYSTEM_EXTENSIONS.
47453
47454 2009-01-25  Jim Meyering  <meyering@redhat.com>
47455
47456         c-strtod: avoid warnings
47457         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
47458         "assignment discards qualifiers from pointer target type" warnings.
47459
47460 2009-01-24  Bruno Haible  <bruno@clisp.org>
47461
47462         Add support for non-UTF-8 locales on MacOS X.
47463         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
47464         canonical encodings. For Darwin 7 and newer, don't map traditional
47465         encodings to UTF-8.
47466         Reported by Vincent Lefevre <vincent@vinc17.org>
47467         at <http://savannah.gnu.org/bugs/?25235>.
47468
47469 2009-01-24  Bruno Haible  <bruno@clisp.org>
47470
47471         * doc/gnulib.texi (Obsolete modules): New section.
47472         Reported by Mike Frysinger <vapier@gentoo.org>.
47473
47474 2009-01-24  Bruno Haible  <bruno@clisp.org>
47475
47476         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
47477         (%.dvi): New rule.
47478
47479 2009-01-24  Bruno Haible  <bruno@clisp.org>
47480
47481         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
47482         Reported by Eric Blake.
47483
47484 2009-01-24  Bruno Haible  <bruno@clisp.org>
47485
47486         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
47487         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
47488         Reported by Gary V. Vaughan <gary@gnu.org>.
47489
47490 2009-01-24  Bruno Haible  <bruno@clisp.org>
47491
47492         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
47493
47494 2009-01-23  Bruno Haible  <bruno@clisp.org>
47495
47496         Make c-strtod, c-strtold usable in libraries.
47497         * lib/c-strtod.c: Include string.h instead of xalloc.h.
47498         (C_STRTOD): Call strdup instead of xstrdup.
47499         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
47500         * modules/c-strtold (Depends-on): Likewise.
47501         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
47502         * NEWS: Mention the change.
47503         Reported by Michael Gold <mgold@ncf.ca>.
47504
47505 2009-01-23  Jim Meyering  <meyering@redhat.com>
47506
47507         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
47508         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
47509         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
47510
47511 2009-01-23  Simon Josefsson  <simon@josefsson.org>
47512
47513         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
47514         GNU CoreUtils.
47515         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
47516         * modules/version-etc (Description): Update.
47517
47518 2009-01-22  Bruno Haible  <bruno@clisp.org>
47519
47520         Cache the C locale object.
47521         * lib/c-strtod.c (c_locale_cache): New variable.
47522         (c_locale): New function.
47523         (C_STRTOD): Use it, and don't call freelocale.
47524         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
47525         Suggested by Paolo Bonzini.
47526
47527 2009-01-21  Bruno Haible  <bruno@clisp.org>
47528
47529         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
47530         conditions other than overflow.
47531
47532 2009-01-21  Bruno Haible  <bruno@clisp.org>
47533
47534         * lib/c-strtod.c: Include errno.h.
47535         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
47536         value from STRTOD_L and STRTOD.
47537
47538 2009-01-21  Bruno Haible  <bruno@clisp.org>
47539         and Jim Meyering  <meyering@redhat.com>
47540
47541         nanosleep: skip configure test (fail it) for apple universal builds
47542         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
47543         universal builds, assume that nanosleep does not work.
47544         * modules/nanosleep (Depends-on): Add multiarch.
47545
47546         mktime: skip configure test (fail it) for apple universal builds
47547         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
47548         universal builds, assume that mktime does not work.
47549         * modules/mktime (Depends-on): Add multiarch.
47550
47551 2009-01-21  Eric Blake  <ebb9@byu.net>
47552
47553         multiarch: avoid expand-before-require warning
47554         * modules/multiarch (configure.ac): Require, rather than expand,
47555         gl_MULTIARCH.
47556         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
47557         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
47558         enforce that all clients require it.  Partial reversion of
47559         2008-12-29 patch.
47560
47561         error: avoid expand-before-require warning
47562         * modules/errno (configure.ac): Require, rather than expand,
47563         gl_HEADER_ERRNO_H.
47564         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
47565         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
47566         enforce that all clients require it.
47567
47568         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
47569         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
47570         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
47571         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
47572
47573 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
47574
47575         Revert:
47576         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47577
47578         regex: do not depend on obsolete modules.
47579         * modules/regex: Remove memcmp and memmove.
47580
47581 2009-01-20  Bruno Haible  <bruno@clisp.org>
47582
47583         Make the 'link' module link on Windows NT 4.
47584         * lib/link.c (_WIN32_WINNT): Don't define.
47585         (CreateHardLinkFuncType): New type.
47586         (CreateHardLinkFunc, initialized): New variables.
47587         (initialize): New function.
47588         (link): Invoke CreateHardLink indirectly through the function pointer.
47589
47590 2009-01-20  Bruno Haible  <bruno@clisp.org>
47591
47592         Fix compilation failure on mingw.
47593         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
47594
47595 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
47596
47597         * doc/c-strtod.texi: Mention a couple of restrictions.
47598
47599 2009-01-20  Jim Meyering  <meyering@redhat.com>
47600
47601         gettimeofday: move more declarations out of functions
47602         * lib/gettimeofday.c: Move extern declarations of tzset and
47603         gmtime out of containing functions.  Prompted by Bruno Haible.
47604
47605 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47606
47607         regex: do not depend on obsolete modules.
47608         * modules/regex: Remove memcmp and memmove.
47609
47610 2009-01-19  Bruno Haible  <bruno@clisp.org>
47611
47612         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47613         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
47614         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47615         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
47616         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
47617
47618 2009-01-19  Bruno Haible  <bruno@clisp.org>
47619
47620         * tests/test-link.c: Include <errno.h>.
47621         (main): Exit with code 77 when a hard link cannot be created due to
47622         the file system.
47623         * tests/test-link.sh: Skip test when a hard link cannot be created due
47624         to the file system.
47625         Suggested by Eric Blake.
47626
47627 2009-01-19  Martin Lambers  <marlam@marlam.de>
47628
47629         * modules/link-tests: New file.
47630         * tests/test-link.sh: New file.
47631         * tests/test-link.c: New file.
47632
47633 2009-01-19  Eric Blake  <ebb9@byu.net>
47634
47635         doc: mention another function added in cygwin 1.7.0
47636         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
47637         Another new function in cygwin 1.7.
47638
47639 2009-01-19  Bruno Haible  <bruno@clisp.org>
47640
47641         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47642         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
47643         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
47644         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47645         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
47646         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
47647         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
47648         * m4/md4.m4 (gl_MD4): Likewise.
47649         * m4/md5.m4 (gl_MD5): Likewise.
47650         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
47651         * m4/sha1.m4 (gl_SHA1): Likewise.
47652         * m4/sha256.m4 (gl_SHA256): Likewise.
47653         * m4/sha512.m4 (gl_SHA512): Likewise.
47654
47655 2009-01-19  Bruno Haible  <bruno@clisp.org>
47656
47657         * modules/uniname/uniname-tests (Depends-on): Add progname.
47658         * tests/uniname/test-uninames.c: Include progname.h.
47659         (main): Call set_program_name.
47660
47661         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
47662         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
47663         (main): Call set_program_name.
47664
47665         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
47666         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
47667         (main): Call set_program_name.
47668
47669         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
47670         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
47671         (main): Call set_program_name.
47672
47673         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
47674         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
47675         (main): Call set_program_name.
47676
47677         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
47678         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
47679         (main): Call set_program_name.
47680
47681         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
47682         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
47683         (main): Call set_program_name.
47684
47685         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
47686         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
47687         (main): Call set_program_name.
47688
47689         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
47690         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
47691         (main): Call set_program_name.
47692
47693 2009-01-19  Eric Blake  <ebb9@byu.net>
47694
47695         test-unistd: test previous patch
47696         * tests/test-unistd.c: Test *_FILENO macros.
47697
47698         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
47699         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47700         Guarantee a definition.
47701         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
47702         * modules/unistd-safer (Depends-on): Add dependency on unistd.
47703         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
47704         * lib/dup-safer.c (STDERR_FILENO): Likewise.
47705         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47706         Likewise.
47707         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
47708         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
47709         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47710         Likewise.
47711         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
47712         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
47713         (STDERR_FILENO): Likewise.
47714         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
47715         (STDERR_FILENO): Likewise.
47716         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
47717         (STDERR_FILENO): Likewise.
47718         Reported by Elbert Pol.
47719
47720 2009-01-19  Eric Blake  <ebb9@byu.net>
47721
47722         doc: mention more functions added in cygwin 1.7.0
47723         * doc/posix-functions/abort.texi (abort): Update wording related
47724         to cygwin.
47725         * doc/posix-functions/daylight.texi (daylight): Likewise.
47726         * doc/posix-functions/optarg.texi (optarg): Likewise.
47727         * doc/posix-functions/optarg.texi (opterr): Likewise.
47728         * doc/posix-functions/optarg.texi (optind): Likewise.
47729         * doc/posix-functions/optarg.texi (optopt): Likewise.
47730         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
47731         worked in 1.5.x, and was withdrawn in 1.7.
47732         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
47733         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
47734         cygwin versions.
47735         * doc/posix-functions/perror.texi (perror): Likewise.
47736         * doc/posix-functions/printf.texi (printf): Likewise.
47737         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
47738         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
47739         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
47740         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
47741         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
47742         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
47743         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47744         Likewise.
47745         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47746         Likewise.
47747         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
47748         this function.
47749         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
47750         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
47751         Likewise.
47752         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
47753         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
47754         * doc/posix-functions/confstr.texi (confstr): Likewise.
47755         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
47756         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
47757         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
47758         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
47759         * doc/posix-functions/fputws.texi (fputws): Likewise.
47760         * doc/posix-functions/fwide.texi (fwide): Likewise.
47761         * doc/posix-functions/getwc.texi (getwc): Likewise.
47762         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
47763         * doc/posix-functions/putwc.texi (putwc): Likewise.
47764         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
47765         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
47766         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
47767         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
47768         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
47769         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
47770         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
47771         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
47772         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
47773         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
47774         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
47775
47776 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47777
47778         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
47779         * lib/ioctl.c: Include <sys/ioctl.h>.
47780
47781 2009-01-19  Simon Josefsson  <simon@josefsson.org>
47782
47783         * modules/getdate-tests (Depends-on): Add progname.
47784         * tests/test-getdate.c: Use progname module, to avoid link errors
47785         on non-glibc systems.
47786
47787 2009-01-18  Simon Josefsson  <simon@josefsson.org>
47788
47789         * modules/filenamecat-tests (Depends-on): Add progname.
47790         * modules/fstrcmp-tests (Depends-on): Likewise.
47791
47792         * tests/test-filenamecat.c: Use progname module, to avoid link
47793         errors on non-glibc systems.
47794         * tests/test-fstrcmp.c: Likewise.
47795
47796 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47797
47798         gettimeofday: avoid warning: nested extern declaration of 'localtime'
47799         * lib/gettimeofday.c: Move extern declaration out of function.
47800
47801 2009-01-18  Bruno Haible  <bruno@clisp.org>
47802
47803         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
47804         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
47805         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
47806
47807 2009-01-18  Bruno Haible  <bruno@clisp.org>
47808
47809         * lib/strftime.c (MEMPCPY): Remove unused macro.
47810         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
47811
47812 2009-01-18  Martin Lambers  <marlam@marlam.de>
47813
47814         New module 'link'.
47815         * lib/unistd.in.h (link): New declaration.
47816         * lib/link.c: New file.
47817         * m4/link.m4: New file.
47818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
47819         HAVE_LINK.
47820         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
47821         * modules/link: New file.
47822         * doc/posix-functions/link.texi: Mention the new module.
47823
47824 2009-01-18  Bruno Haible  <bruno@clisp.org>
47825
47826         * tests/test-avltree_list.c (main): Call set_program_name.
47827         * tests/test-avltree_oset.c (main): Likewise.
47828         * tests/test-obstack-printf.c: Include progname.h.
47829         (main): Call set_program_name.
47830         * tests/test-quotearg.c: Include progname.h.
47831         (main): Call set_program_name.
47832         * tests/test-xmemdup0.c: Include progname.h.
47833         (main): Call set_program_name.
47834
47835 2009-01-18  Bruno Haible  <bruno@clisp.org>
47836
47837         New module 'alphasort'.
47838         * lib/dirent.in.h (alphasort): New declaration.
47839         * lib/alphasort.c: New file, from glibc with modifications.
47840         * m4/alphasort.m4: New file.
47841         * modules/alphasort: New file.
47842         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
47843         HAVE_ALPHASORT.
47844         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
47845         HAVE_ALPHASORT.
47846         * doc/posix-functions/alphasort.texi: Mention the new module and the
47847         portability problems.
47848
47849 2009-01-18  Bruno Haible  <bruno@clisp.org>
47850
47851         New module 'scandir'.
47852         * lib/dirent.in.h (scandir): New declaration.
47853         * lib/scandir.c: New file, from glibc with modifications.
47854         * m4/scandir.m4: New file.
47855         * modules/scandir: New file.
47856         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
47857         HAVE_SCANDIR.
47858         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
47859         HAVE_SCANDIR.
47860         * doc/posix-functions/scandir.texi: Mention the new module and the
47861         portability problems.
47862
47863 2009-01-17  Bruno Haible  <bruno@clisp.org>
47864
47865         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
47866         Update documentation.
47867         (func_remove_suffix): Escape all dots in the suffix. Update
47868         documentation.
47869         (func_filter_filelist): Update documentation.
47870         Reported by Ralf Wildenhues.
47871
47872 2009-01-17  Bruno Haible  <bruno@clisp.org>
47873
47874         * modules/dprintf-posix-tests: New file.
47875         * tests/test-dprintf-posix.sh: New file.
47876         * tests/test-dprintf-posix.c: New file.
47877
47878         New modules 'dprintf', 'dprintf-posix'.
47879         * lib/stdio.in.h (dprintf): New declaration.
47880         * lib/dprintf.c: New file.
47881         * m4/dprintf.m4: New file.
47882         * m4/dprintf-posix.m4: New file.
47883         * modules/dprintf: New file.
47884         * modules/dprintf-posix: New file.
47885         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
47886         HAVE_DPRINTF, REPLACE_DPRINTF.
47887         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
47888         HAVE_DPRINTF, REPLACE_DPRINTF.
47889         * doc/posix-functions/dprintf.texi: Mention the new modules.
47890
47891 2009-01-17  Bruno Haible  <bruno@clisp.org>
47892
47893         * modules/vdprintf-posix-tests: New file.
47894         * tests/test-vdprintf-posix.sh: New file.
47895         * tests/test-vdprintf-posix.c: New file.
47896
47897         New modules 'vdprintf', 'vdprintf-posix'.
47898         * lib/stdio.in.h (vdprintf): New declaration.
47899         * lib/vdprintf.c: New file.
47900         * m4/vdprintf.m4: New file.
47901         * m4/vdprintf-posix.m4: New file.
47902         * modules/vdprintf: New file.
47903         * modules/vdprintf-posix: New file.
47904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
47905         HAVE_VDPRINTF, REPLACE_VDPRINTF.
47906         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
47907         HAVE_VDPRINTF, REPLACE_VDPRINTF.
47908         * doc/posix-functions/vdprintf.texi: Mention the new modules.
47909
47910 2009-01-17  Bruno Haible  <bruno@clisp.org>
47911
47912         Fix replacement of fopen on mingw.
47913         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
47914         mingw.
47915
47916 2009-01-17  Bruno Haible  <bruno@clisp.org>
47917
47918         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
47919         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
47920
47921 2009-01-17  Bruno Haible  <bruno@clisp.org>
47922
47923         Avoid test-fflush2.sh failure on mingw.
47924         * tests/test-fflush2.c: Include binary-io.h.
47925         (main): Put standard input into binary mode.
47926         * modules/fflush-tests (Depends-on): Add binary-io.
47927
47928 2009-01-17  Bruno Haible  <bruno@clisp.org>
47929
47930         * lib/wchar.in.h: In another particular situation, include only the
47931         system's <wchar.h> file.
47932         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
47933         Reported by Albert Chin-A-Young <china@thewrittenword.com>
47934         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
47935
47936 2009-01-17  Bruno Haible  <bruno@clisp.org>
47937
47938         Support for stripping executables in --enable-relocatable.
47939         * build-aux/install-reloc: Expect one more argument, or an environment
47940         variable RELOC_STRIP_PROG. If set, strip the destination program and
47941         its wrapper.
47942         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
47943         RELOC_STRIP_PROG.
47944         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
47945         to set RELOCATABLE_STRIP.
47946         * NEWS: Mention the new Makefile requirement.
47947
47948 2009-01-17  Bruno Haible  <bruno@clisp.org>
47949
47950         * build-aux/install-reloc: Remove debugging information left over by
47951         C compiler on MacOS X.
47952
47953 2009-01-17  Bruno Haible  <bruno@clisp.org>
47954
47955         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
47956         * lib/progreloc.c (find_executable): Fix type of pointer passed to
47957         _NSGetExecutablePath.
47958
47959 2009-01-16  Jim Meyering  <meyering@redhat.com>
47960
47961         strerror: avoid warnings about discarding "const"
47962         * lib/strerror.c (rpl_strerror): Instead of returning a const
47963         string from each and every "case", use a variable, and add a single
47964         cast after the switch.
47965
47966 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
47967
47968         * lib/arpa_inet.in.h: Add extern "C" block for C++.
47969
47970 2009-01-16  Bruno Haible  <bruno@clisp.org>
47971
47972         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
47973         array initializer syntax that also works in C++ mode.
47974         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47975
47976 2009-01-16  Jim Meyering  <meyering@redhat.com>
47977
47978         poll: suppress a warning
47979         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
47980         to ignore "...unsigned expression < 0 is always false" warnings.
47981
47982 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
47983
47984         poll: remove declarations of unused variables
47985         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
47986         sockbuf and optlen.
47987
47988 2009-01-15  Bruno Haible  <bruno@clisp.org>
47989
47990         Make fflush-after-ungetc POSIX compliant on BSD systems.
47991         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
47992         (clear_ungetc_buffer): Implement also for other systems.
47993         (rpl_fflush): On glibc systems, invoke
47994         clear_ungetc_buffer_preserving_position. Otherwise, invoke
47995         clear_ungetc_buffer after fetching the stream's position, not before.
47996
47997 2009-01-15  Bruno Haible  <bruno@clisp.org>
47998
47999         Make fflush-after-ungetc POSIX compliant on glibc systems.
48000         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48001         after ungetc.
48002         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48003         (rpl_fflush): On glibc systems, simply call the system's fflush
48004         function after clearing the ungetc buffer.
48005         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48006         Instead, lseek only to the end of file, then use the system's fseeko
48007         for the rest. On glibc systems, reset the EOF indicator bit.
48008
48009 2009-01-15  Jim Meyering  <meyering@redhat.com>
48010
48011         openmp.m4: revert quote-adding change, for portability to older autoconf
48012         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48013         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48014         Simon Josefsson noticed the problem when using autoconf-2.61.
48015
48016 2009-01-15  Bruno Haible  <bruno@clisp.org>
48017
48018         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48019         * tests/test-fflush2.c (ASSERT): Always fail.
48020         (main): Add two tests for fflush() after ungetc(), taking into account
48021         the Austin Group's clarification.
48022         Suggested by Eric Blake.
48023
48024 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48025
48026         mktime.m4: remove K&R-style function prototypes
48027         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48028         for the Sun C++ compiler.
48029
48030 2009-01-14  Bruno Haible  <bruno@clisp.org>
48031
48032         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48033         while including <wchar.h>.
48034         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48035         the system's <wchar.h> file.
48036         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48037
48038 2009-01-14  Bruno Haible  <bruno@clisp.org>
48039
48040         * m4/csharp.m4: Don't mention gettext on the serial number line.
48041         * m4/csharpexec.m4: Likewise.
48042         * m4/eaccess.m4: Likewise.
48043         * m4/javaexec.m4: Likewise.
48044         * m4/sig_atomic_t.m4: Likewise.
48045         * m4/tmpdir.m4: Likewise.
48046         * m4/intldir.m4: Bump gettext version.
48047         * m4/lib-ld.m4: Likewise.
48048
48049 2009-01-14  Bruno Haible  <bruno@clisp.org>
48050
48051         * lib/progname.c (set_program_name): Add more comments.
48052         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48053
48054 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48055
48056         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48057         were sys/stat.h does not define it.
48058
48059 2009-01-14  Jim Meyering  <meyering@redhat.com>
48060
48061         many *.m4 files: improve m4 quoting
48062         99% of this change was performed by running the following commands:
48063         git ls-files | grep '\.m4$' | xargs perl -pi \
48064           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48065           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48066           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48067           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48068         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48069         The remainder were to add Copyright dates, increment serial numbers,
48070         undo some changes in comments, exclude m4/intl.m4, and add quotes
48071         around the "1" in ",1" where the unusual spacing prohibited the
48072         above regexps from doing the job.  For more details, see
48073         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48074         * m4/acl.m4: Modified.
48075         * m4/afs.m4: Likewise.
48076         * m4/alloca.m4: Likewise.
48077         * m4/argp.m4: Likewise.
48078         * m4/argz.m4: Likewise.
48079         * m4/atexit.m4: Likewise.
48080         * m4/bison-i18n.m4: Likewise.
48081         * m4/bison.m4: Likewise.
48082         * m4/byteswap.m4: Likewise.
48083         * m4/c-stack.m4: Likewise.
48084         * m4/c-strtod.m4: Likewise.
48085         * m4/calloc.m4: Likewise.
48086         * m4/canonicalize-lgpl.m4: Likewise.
48087         * m4/chown.m4: Likewise.
48088         * m4/clock_time.m4: Likewise.
48089         * m4/codeset.m4: Likewise.
48090         * m4/copy-file.m4: Likewise.
48091         * m4/csharp.m4: Likewise.
48092         * m4/csharpcomp.m4: Likewise.
48093         * m4/csharpexec.m4: Likewise.
48094         * m4/d-ino.m4: Likewise.
48095         * m4/d-type.m4: Likewise.
48096         * m4/dirfd.m4: Likewise.
48097         * m4/double-slash-root.m4: Likewise.
48098         * m4/eaccess.m4: Likewise.
48099         * m4/eealloc.m4: Likewise.
48100         * m4/environ.m4: Likewise.
48101         * m4/errno_h.m4: Likewise.
48102         * m4/euidaccess.m4: Likewise.
48103         * m4/execute.m4: Likewise.
48104         * m4/fatal-signal.m4: Likewise.
48105         * m4/fchdir.m4: Likewise.
48106         * m4/fcntl_h.m4: Likewise.
48107         * m4/fileblocks.m4: Likewise.
48108         * m4/filenamecat.m4: Likewise.
48109         * m4/findprog.m4: Likewise.
48110         * m4/flexmember.m4: Likewise.
48111         * m4/fnmatch.m4: Likewise.
48112         * m4/fopen.m4: Likewise.
48113         * m4/fpending.m4: Likewise.
48114         * m4/fprintf-posix.m4: Likewise.
48115         * m4/free.m4: Likewise.
48116         * m4/frexp.m4: Likewise.
48117         * m4/frexpl.m4: Likewise.
48118         * m4/fsusage.m4: Likewise.
48119         * m4/ftruncate.m4: Likewise.
48120         * m4/gc-camellia.m4: Likewise.
48121         * m4/gc-random.m4: Likewise.
48122         * m4/gc.m4: Likewise.
48123         * m4/getaddrinfo.m4: Likewise.
48124         * m4/getcwd-abort-bug.m4: Likewise.
48125         * m4/getcwd-path-max.m4: Likewise.
48126         * m4/getdate.m4: Likewise.
48127         * m4/getdomainname.m4: Likewise.
48128         * m4/getgroups.m4: Likewise.
48129         * m4/gethostname.m4: Likewise.
48130         * m4/gethrxtime.m4: Likewise.
48131         * m4/getline.m4: Likewise.
48132         * m4/getloadavg.m4: Likewise.
48133         * m4/getndelim2.m4: Likewise.
48134         * m4/getpass.m4: Likewise.
48135         * m4/gettext.m4: Likewise.
48136         * m4/gettime.m4: Likewise.
48137         * m4/gettimeofday.m4: Likewise.
48138         * m4/gnulib-common.m4: Likewise.
48139         * m4/group-member.m4: Likewise.
48140         * m4/host-os.m4: Likewise.
48141         * m4/iconv.m4: Likewise.
48142         * m4/iconv_open.m4: Likewise.
48143         * m4/inet_ntop.m4: Likewise.
48144         * m4/inet_pton.m4: Likewise.
48145         * m4/inline.m4: Likewise.
48146         * m4/intldir.m4: Likewise.
48147         * m4/intlmacosx.m4: Likewise.
48148         * m4/intmax.m4: Likewise.
48149         * m4/intmax_t.m4: Likewise.
48150         * m4/inttypes.m4: Likewise.
48151         * m4/inttypes_h.m4: Likewise.
48152         * m4/inttypes-pri.m4: Likewise.
48153         * m4/isapipe.m4: Likewise.
48154         * m4/isnand.m4: Likewise.
48155         * m4/isnanf.m4: Likewise.
48156         * m4/isnanl.m4: Likewise.
48157         * m4/javacomp.m4: Likewise.
48158         * m4/javaexec.m4: Likewise.
48159         * m4/jm-winsz1.m4: Likewise.
48160         * m4/jm-winsz2.m4: Likewise.
48161         * m4/lchown.m4: Likewise.
48162         * m4/lcmessage.m4: Likewise.
48163         * m4/ldexpl.m4: Likewise.
48164         * m4/lib-ld.m4: Likewise.
48165         * m4/lib-link.m4: Likewise.
48166         * m4/libsigsegv.m4: Likewise.
48167         * m4/link-follow.m4: Likewise.
48168         * m4/localcharset.m4: Likewise.
48169         * m4/locale-fr.m4: Likewise.
48170         * m4/locale-ja.m4: Likewise.
48171         * m4/locale-tr.m4: Likewise.
48172         * m4/locale-zh.m4: Likewise.
48173         * m4/lock.m4: Likewise.
48174         * m4/longlong.m4: Likewise.
48175         * m4/ls-mntd-fs.m4: Likewise.
48176         * m4/lstat.m4: Likewise.
48177         * m4/malloc.m4: Likewise.
48178         * m4/mathl.m4: Likewise.
48179         * m4/mbrtowc.m4: Likewise.
48180         * m4/mbstate_t.m4: Likewise.
48181         * m4/mbswidth.m4: Likewise.
48182         * m4/memchr.m4: Likewise.
48183         * m4/memcmp.m4: Likewise.
48184         * m4/memcpy.m4: Likewise.
48185         * m4/memmem.m4: Likewise.
48186         * m4/memmove.m4: Likewise.
48187         * m4/mempcpy.m4: Likewise.
48188         * m4/memrchr.m4: Likewise.
48189         * m4/memset.m4: Likewise.
48190         * m4/minmax.m4: Likewise.
48191         * m4/mkdir-slash.m4: Likewise.
48192         * m4/mkdtemp.m4: Likewise.
48193         * m4/mktime.m4: Likewise.
48194         * m4/mmap-anon.m4: Likewise.
48195         * m4/mountlist.m4: Likewise.
48196         * m4/nanosleep.m4: Likewise.
48197         * m4/nls.m4: Likewise.
48198         * m4/nocrash.m4: Likewise.
48199         * m4/open.m4: Likewise.
48200         * m4/openat.m4: Likewise.
48201         * m4/openmp.m4: Likewise.
48202         * m4/pathmax.m4: Likewise.
48203         * m4/perl.m4: Likewise.
48204         * m4/physmem.m4: Likewise.
48205         * m4/pipe.m4: Likewise.
48206         * m4/po.m4: Likewise.
48207         * m4/poll.m4: Likewise.
48208         * m4/posixtm.m4: Likewise.
48209         * m4/posixver.m4: Likewise.
48210         * m4/printf-frexp.m4: Likewise.
48211         * m4/printf-frexpl.m4: Likewise.
48212         * m4/printf-posix.m4: Likewise.
48213         * m4/printf-posix-rpl.m4: Likewise.
48214         * m4/printf.m4: Likewise.
48215         * m4/progtest.m4: Likewise.
48216         * m4/putenv.m4: Likewise.
48217         * m4/readline.m4: Likewise.
48218         * m4/readlink.m4: Likewise.
48219         * m4/readutmp.m4: Likewise.
48220         * m4/realloc.m4: Likewise.
48221         * m4/regex.m4: Likewise.
48222         * m4/relocatable.m4: Likewise.
48223         * m4/relocatable-lib.m4: Likewise.
48224         * m4/rename-dest-slash.m4: Likewise.
48225         * m4/rename.m4: Likewise.
48226         * m4/rmdir-errno.m4: Likewise.
48227         * m4/rmdir.m4: Likewise.
48228         * m4/roundf.m4: Likewise.
48229         * m4/roundl.m4: Likewise.
48230         * m4/rpmatch.m4: Likewise.
48231         * m4/save-cwd.m4: Likewise.
48232         * m4/selinux-selinux-h.m4: Likewise.
48233         * m4/setenv.m4: Likewise.
48234         * m4/settime.m4: Likewise.
48235         * m4/sig2str.m4: Likewise.
48236         * m4/sig_atomic_t.m4: Likewise.
48237         * m4/signalblocking.m4: Likewise.
48238         * m4/signbit.m4: Likewise.
48239         * m4/sigpipe.m4: Likewise.
48240         * m4/sockets.m4: Likewise.
48241         * m4/sockpfaf.m4: Likewise.
48242         * m4/st_dm_mode.m4: Likewise.
48243         * m4/stat-time.m4: Likewise.
48244         * m4/stdbool.m4: Likewise.
48245         * m4/stdint.m4: Likewise.
48246         * m4/stdint_h.m4: Likewise.
48247         * m4/stpcpy.m4: Likewise.
48248         * m4/stpncpy.m4: Likewise.
48249         * m4/strcase.m4: Likewise.
48250         * m4/strchrnul.m4: Likewise.
48251         * m4/strcspn.m4: Likewise.
48252         * m4/strdup.m4: Likewise.
48253         * m4/strftime.m4: Likewise.
48254         * m4/strndup.m4: Likewise.
48255         * m4/strnlen.m4: Likewise.
48256         * m4/strpbrk.m4: Likewise.
48257         * m4/strptime.m4: Likewise.
48258         * m4/strsep.m4: Likewise.
48259         * m4/strtod.m4: Likewise.
48260         * m4/strtoimax.m4: Likewise.
48261         * m4/strtok_r.m4: Likewise.
48262         * m4/strtol.m4: Likewise.
48263         * m4/strtoll.m4: Likewise.
48264         * m4/strtoul.m4: Likewise.
48265         * m4/strtoull.m4: Likewise.
48266         * m4/strtoumax.m4: Likewise.
48267         * m4/strverscmp.m4: Likewise.
48268         * m4/threadlib.m4: Likewise.
48269         * m4/timegm.m4: Likewise.
48270         * m4/tm_gmtoff.m4: Likewise.
48271         * m4/tmpdir.m4: Likewise.
48272         * m4/tmpfile.m4: Likewise.
48273         * m4/tzset.m4: Likewise.
48274         * m4/uintmax_t.m4: Likewise.
48275         * m4/unlinkdir.m4: Likewise.
48276         * m4/unlocked-io.m4: Likewise.
48277         * m4/uptime.m4: Likewise.
48278         * m4/userspec.m4: Likewise.
48279         * m4/utimbuf.m4: Likewise.
48280         * m4/utime.m4: Likewise.
48281         * m4/utimes-null.m4: Likewise.
48282         * m4/utimes.m4: Likewise.
48283         * m4/vararrays.m4: Likewise.
48284         * m4/vasnprintf.m4: Likewise.
48285         * m4/vfprintf-posix.m4: Likewise.
48286         * m4/vprintf-posix.m4: Likewise.
48287         * m4/wait-process.m4: Likewise.
48288         * m4/wchar_t.m4: Likewise.
48289         * m4/wint_t.m4: Likewise.
48290         * m4/write-any-file.m4: Likewise.
48291         * m4/yield.m4: Likewise.
48292
48293 2009-01-13  Bruno Haible  <bruno@clisp.org>
48294
48295         Avoid test-copy-file.sh failures when ACL support insufficient.
48296         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
48297         TESTS_ENVIRONMENT.
48298         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
48299         Reported by Jim Meyering.
48300
48301 2009-01-13  Bruno Haible  <bruno@clisp.org>
48302
48303         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
48304         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
48305         * modules/unistdio/u8-printf-parse (Files): Likewise.
48306         * modules/unistdio/u32-printf-parse (Files): Likewise.
48307         * modules/unistdio/ulc-printf-parse (Files): Likewise.
48308
48309 2009-01-13  Simon Josefsson  <simon@josefsson.org>
48310
48311         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
48312         and m4/inttypes_h.m4 too.
48313
48314 2009-01-12  Eric Blake  <ebb9@byu.net>
48315
48316         tests: IRIX 6.2 cc can't compile -0.0 into .data
48317         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
48318         rather than at compile-time.
48319         * tests/test-floorl.c (minus_zero): Likewise.
48320         * tests/test-frexpl.c (minus_zero): Likewise.
48321         * tests/test-isnan.c (minus_zerol): Likewise.
48322         * tests/test-isnanl.h (minus_zero): Likewise.
48323         * tests/test-ldexpl.c (minus_zero): Likewise.
48324         * tests/test-roundl.c (minus_zero): Likewise.
48325         * tests/test-signbit.c (minus_zerol): Likewise.
48326         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48327         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48328         * tests/test-truncl.c (minus_zero): Likewise.
48329         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48330         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48331         Reported by Tom G. Christensen and Nelson H. F. Beebe.
48332
48333 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48334
48335         regex: fix glibc bug 9697
48336         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
48337         handling.
48338
48339 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48340
48341         regex: fix glibc bug 697
48342         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
48343         being NULL also if there are no backreferences.
48344
48345 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48346
48347         regex: merge glibc changes
48348         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
48349         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
48350         re_string_skip_chars, re_string_reconstruct): Likewise.
48351         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
48352
48353 2009-01-07  Jim Meyering  <meyering@redhat.com>
48354
48355         poll: filter through cppi
48356         * lib/poll.c: Indent cpp directives to reflect nesting.
48357
48358 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
48359
48360         poll: don't return uninitialized
48361         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
48362
48363 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
48364
48365         avoid compile failure on AIX 6.1
48366         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
48367         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
48368
48369 2009-01-04  Jim Meyering  <meyering@redhat.com>
48370
48371         remove duplicate inclusion of <stdio.h>
48372         * tests/test-fprintf-posix.c: Likewise.
48373         * tests/test-printf-posix.c: Likewise.
48374         * tests/test-snprintf-posix.c: Likewise.
48375         * tests/test-sprintf-posix.c: Likewise.
48376         * tests/test-vasprintf-posix.c: Likewise.
48377         * tests/test-vfprintf-posix.c: Likewise.
48378         * tests/test-vprintf-posix.c: Likewise.
48379         * tests/test-vsnprintf-posix.c: Likewise.
48380         * tests/test-vsprintf-posix.c: Likewise.
48381
48382 2009-01-03  Jim Meyering  <meyering@redhat.com>
48383
48384         gnulib-tool: fix sed-based filtering
48385         * gnulib-tool (func_filter_filelist): Remove extra backslash
48386         in sed_fff_filter definition.
48387
48388 2009-01-02  Jim Meyering  <meyering@redhat.com>
48389
48390         strftime: avoid compilation failure on Solaris 2.6
48391         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
48392         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
48393         Don't #define mbrlen or mbsinit, since now they're guaranteed to
48394         be available.  Reported by Tom G. Christensen.  Details in
48395         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
48396
48397 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48398             Bruno Haible  <bruno@clisp.org>
48399
48400         Speed up gnulib-tool by doing more string processing through shell
48401         built-ins.
48402         * gnulib-tool (fast_func_append): New variable.
48403         (func_remove_prefix, func_remove_suffix): New functions.
48404         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
48405         (func_filter_filelist): New function.
48406         (func_get_dependencies): Use func_remove_suffix instead of sed.
48407         (func_get_automake_snippet): Use func_filter_filelist instead of a
48408         subshell and sed invocation.
48409
48410 2009-01-01  Bruno Haible  <bruno@clisp.org>
48411
48412         Fix a security bug.
48413         * gnulib-tool (func_import, import, update): Don't allow the characters
48414         '"', '$', '`', '\' in macro arguments that become part of commands that
48415         are evaluated.
48416
48417 2009-01-01  Bruno Haible  <bruno@clisp.org>
48418
48419         * gnulib-tool (func_reset_sigpipe): Add more comments.
48420
48421 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48422
48423         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
48424         func_emit_tests_Makefile_am, func_import): Abort loops early if we
48425         already know the answer.
48426
48427 2009-01-01  Jim Meyering  <meyering@redhat.com>
48428
48429         * lib/version-etc.c (version_etc_va): Update copyright year.
48430
48431 2008-12-30  Bruno Haible  <bruno@clisp.org>
48432
48433         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
48434         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
48435         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
48436
48437 2008-12-29  Eric Blake  <ebb9@byu.net>
48438
48439         multiarch: avoid autoconf AC_REQUIRE bug
48440         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
48441         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
48442         2.63 and older.
48443         Reported by Bruno Haible, and analyzed in
48444         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
48445
48446 2008-12-29  Bruno Haible  <bruno@clisp.org>
48447
48448         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
48449         files in subdirectories correctly.
48450         Reported by Ralf Wildenhues.
48451
48452 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48453
48454         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
48455         rather than 'join FILE -', for Solaris join.
48456
48457 2008-12-29  Bruno Haible  <bruno@clisp.org>
48458
48459         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
48460         quoting.
48461         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
48462         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
48463         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
48464         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
48465         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48466         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
48467         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
48468         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
48469         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48470         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
48471         * m4/nls.m4 (AM_NLS): Likewise.
48472         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
48473         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48474         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48475         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
48476         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
48477         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48478         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
48479         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
48480         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
48481         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48482         * m4/xsize.m4 (gl_XSIZE): Likewise.
48483         Suggested by Jim Meyering.
48484
48485 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48486
48487         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
48488         * lib/parse-duration.c: use a switch instead of cascading if's.
48489
48490 2008-12-29  Eric Blake  <ebb9@byu.net>
48491
48492         wchar.h: supply WEOF on Irix 5.3
48493         * lib/wchar.in.h (wint_t): Also supply WEOF.
48494         * lib/wctype.in.h (wint_t): Likewise.
48495         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
48496         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
48497         Reported by Tom G. Christensen.
48498
48499 2008-12-26  Bruno Haible  <bruno@clisp.org>
48500
48501         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
48502         i486, i586, i686.
48503
48504 2008-12-26  Bruno Haible  <bruno@clisp.org>
48505
48506         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
48507
48508 2008-12-26  Bruno Haible  <bruno@clisp.org>
48509
48510         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
48511         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
48512         not __STDC_CONSTANT_MACROS.
48513         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48514
48515 2008-12-25  Bruno Haible  <bruno@clisp.org>
48516
48517         Add support for universal builds to vasnprintf.
48518         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
48519         universal builds, guess no.
48520         * modules/vasnprintf-posix (Depends-on): Add multiarch.
48521         * modules/vasprintf-posix (Depends-on): Likewise.
48522         * modules/fprintf-posix (Depends-on): Likewise.
48523         * modules/vfprintf-posix (Depends-on): Likewise.
48524         * modules/snprintf-posix (Depends-on): Likewise.
48525         * modules/vsnprintf-posix (Depends-on): Likewise.
48526         * modules/sprintf-posix (Depends-on): Likewise.
48527         * modules/vsprintf-posix (Depends-on): Likewise.
48528         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48529         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48530         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48531         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48532         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48533         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48534         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48535
48536         Add support for universal builds to <inttypes.h>.
48537         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
48538         _SCNu64_PREFIX): In Apple
48539         universal builds, define directly, using _LP64.
48540         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
48541         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
48542         * modules/inttypes (Depends-on): Add multiarch.
48543         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48544
48545         Add support for universal builds to <stdint.h>.
48546         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
48547         universal builds, define directly, using _LP64.
48548         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
48549         Apple universal builds, don't test for the size and suffix of ptrdiff_t
48550         and size_t.
48551         * modules/stdint (Depends-on): Add multiarch.
48552         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48553
48554         New module 'multiarch'.
48555         * modules/multiarch: New file.
48556         * m4/multiarch.m4: New file.
48557
48558 2008-12-25  Bruno Haible  <bruno@clisp.org>
48559
48560         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
48561
48562 2008-12-25  Bruno Haible  <bruno@clisp.org>
48563
48564         * modules/btowc (License): Relicense under LGPLv2+.
48565         * modules/mbsinit (License): Likewise.
48566         * modules/mbrtowc (License): Likewise.
48567         * modules/wcrtomb (License): Likewise.
48568         * modules/streq (License): Likewise.
48569         Reported by David Lutterkort <lutter@redhat.com>.
48570
48571 2008-12-23  Bruno Haible  <bruno@clisp.org>
48572
48573         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
48574
48575 2008-12-23  Bruno Haible  <bruno@clisp.org>
48576
48577         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
48578         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
48579         GETADDRINFO_LIB, not in LIBS.
48580         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
48581         * modules/canon-host (Link): Likewise.
48582         * NEWS: Mention the change.
48583         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
48584         GETADDRINFO_LIB.
48585
48586 2008-12-22  Bruno Haible  <bruno@clisp.org>
48587
48588         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
48589         * doc/posix-functions/iswalpha_l.texi: Likewise.
48590         * doc/posix-functions/iswblank_l.texi: Likewise.
48591         * doc/posix-functions/iswcntrl_l.texi: Likewise.
48592         * doc/posix-functions/iswctype_l.texi: Likewise.
48593         * doc/posix-functions/iswdigit_l.texi: Likewise.
48594         * doc/posix-functions/iswgraph_l.texi: Likewise.
48595         * doc/posix-functions/iswlower_l.texi: Likewise.
48596         * doc/posix-functions/iswprint_l.texi: Likewise.
48597         * doc/posix-functions/iswpunct_l.texi: Likewise.
48598         * doc/posix-functions/iswspace_l.texi: Likewise.
48599         * doc/posix-functions/iswupper_l.texi: Likewise.
48600         * doc/posix-functions/iswxdigit_l.texi: Likewise.
48601         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
48602         * doc/posix-functions/open_wmemstream.texi: Likewise.
48603         * doc/posix-functions/swscanf.texi: Likewise.
48604         * doc/posix-functions/towctrans_l.texi: Likewise.
48605         * doc/posix-functions/towlower.texi: Likewise.
48606         * doc/posix-functions/towlower_l.texi: Likewise.
48607         * doc/posix-functions/towupper.texi: Likewise.
48608         * doc/posix-functions/towupper_l.texi: Likewise.
48609         * doc/posix-functions/vfwprintf.texi: Likewise.
48610         * doc/posix-functions/vfwscanf.texi: Likewise.
48611         * doc/posix-functions/vswscanf.texi: Likewise.
48612         * doc/posix-functions/vwprintf.texi: Likewise.
48613         * doc/posix-functions/vwscanf.texi: Likewise.
48614         * doc/posix-functions/wcpcpy.texi: Likewise.
48615         * doc/posix-functions/wcpncpy.texi: Likewise.
48616         * doc/posix-functions/wcscasecmp.texi: Likewise.
48617         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
48618         * doc/posix-functions/wcscoll_l.texi: Likewise.
48619         * doc/posix-functions/wcsdup.texi: Likewise.
48620         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48621         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
48622         * doc/posix-functions/wcsnlen.texi: Likewise.
48623         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48624         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
48625         * doc/posix-functions/wctrans_l.texi: Likewise.
48626         * doc/posix-functions/wctype_l.texi: Likewise.
48627         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
48628         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
48629         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
48630         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
48631         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
48632         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
48633         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
48634         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
48635         * doc/glibc-functions/wcschrnul.texi: Likewise.
48636         * doc/glibc-functions/wcsftime_l.texi: Likewise.
48637         * doc/glibc-functions/wcstod_l.texi: Likewise.
48638         * doc/glibc-functions/wcstof_l.texi: Likewise.
48639         * doc/glibc-functions/wcstol_l.texi: Likewise.
48640         * doc/glibc-functions/wcstold_l.texi: Likewise.
48641         * doc/glibc-functions/wcstoll_l.texi: Likewise.
48642         * doc/glibc-functions/wcstoq.texi: Likewise.
48643         * doc/glibc-functions/wcstoul_l.texi: Likewise.
48644         * doc/glibc-functions/wcstoull_l.texi: Likewise.
48645         * doc/glibc-functions/wcstouq.texi: Likewise.
48646         * doc/glibc-functions/wmempcpy.texi: Likewise.
48647
48648 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
48649             Eric Blake  <ebb9@byu.net>
48650             Paolo Bonzini  <bonzini@gnu.org>
48651             Bruno Haible  <bruno@clisp.org>
48652
48653         Make c-stack work on Haiku.
48654         * lib/c-stack.c (SA_ONSTACK): Define fallback.
48655         (c_stack_action): Use SA_ONSTACK flag.
48656
48657 2008-12-22  Bruno Haible  <bruno@clisp.org>
48658
48659         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
48660
48661 2008-12-22  Bruno Haible  <bruno@clisp.org>
48662
48663         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
48664         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
48665         being overridden.
48666         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
48667         New macros.
48668         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
48669         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
48670         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
48671         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
48672
48673 2008-12-22  Bruno Haible  <bruno@clisp.org>
48674
48675         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
48676         from test code.
48677
48678 2008-12-22  Eric Blake  <ebb9@byu.net>
48679
48680         Avoid gcc warnings on cygwin.
48681         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
48682         Avoid unused variable.
48683         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
48684         Likewise.
48685
48686 2008-12-22  Bruno Haible  <bruno@clisp.org>
48687
48688         Remove HAVE_MBRTOWC conditionals.
48689         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
48690         (mbscasecmp): Assume mbrtowc function.
48691         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
48692         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
48693         * lib/mbschr.c: Include mbuiter.h unconditionally.
48694         (mbschr): Assume mbrtowc function.
48695         * lib/mbscspn.c: Include mbuiter.h unconditionally.
48696         (mbscspn): Assume mbrtowc function.
48697         * lib/mbslen.c: Include mbuiter.h unconditionally.
48698         (mbslen): Assume mbrtowc function.
48699         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
48700         (mbsncasecmp): Assume mbrtowc function.
48701         * lib/mbsnlen.c: Include mbiter.h unconditionally.
48702         (mbsnlen): Assume mbrtowc function.
48703         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
48704         (mbspbrk): Assume mbrtowc function.
48705         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
48706         (mbspcasecmp): Assume mbrtowc function.
48707         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
48708         (mbsrchr): Assume mbrtowc function.
48709         * lib/mbssep.c: Include mbuiter.h unconditionally.
48710         (mbssep): Assume mbrtowc function.
48711         * lib/mbsspn.c: Include mbuiter.h unconditionally.
48712         (mbsspn): Assume mbrtowc function.
48713         * lib/mbsstr.c: Include mbuiter.h unconditionally.
48714         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
48715         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
48716         (mbstok_r): Assume mbrtowc function.
48717         * lib/propername.c: Include mbuiter.h unconditionally.
48718         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
48719         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
48720         (trim2): Assume mbrtowc function.
48721         * lib/mbswidth.c (mbsinit): Remove fallback definition.
48722         (mbsnwidth): Assume mbrtowc function.
48723         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
48724         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
48725         fallback definitions.
48726         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
48727
48728 2008-12-22  Bruno Haible  <bruno@clisp.org>
48729
48730         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
48731
48732 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
48733
48734         * modules/regex: Request emulations for the mb*/wc* functions we need.
48735         * m4/regex.m4: Don't look for those functions here.
48736         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
48737
48738 2008-12-22  Bruno Haible  <bruno@clisp.org>
48739
48740         * modules/fnmatch (Depends-on): Remove duplicated dependency.
48741
48742 2008-12-21  Bruno Haible  <bruno@clisp.org>
48743
48744         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
48745         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
48746         (Include): Remove conditionalization.
48747         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
48748         (Include): Remove conditionalization.
48749         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
48750         (Include): Remove conditionalization.
48751         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
48752         * m4/mbfile.m4 (gl_MBFILE): Likewise.
48753         * NEWS: Mention the change.
48754         Reported by Alan Hourihane <alanh@fairlite.co.uk>
48755         via Sergey Poznyakoff <gray@gnu.org.ua>.
48756
48757 2008-12-21  Bruno Haible  <bruno@clisp.org>
48758
48759         * MODULES.html.sh (Extended multibyte and wide character utilities
48760         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
48761         wcrtomb, wcsrtombs.
48762         (Support for systems lacking POSIX:2008): Add accept, bind, close,
48763         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
48764         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
48765         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
48766
48767 2008-12-21  Bruno Haible  <bruno@clisp.org>
48768
48769         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
48770
48771 2008-12-21  Bruno Haible  <bruno@clisp.org>
48772
48773         * modules/wcsnrtombs-tests: New file.
48774         * tests/test-wcsnrtombs1.sh: New file.
48775         * tests/test-wcsnrtombs2.sh: New file.
48776         * tests/test-wcsnrtombs3.sh: New file.
48777         * tests/test-wcsnrtombs4.sh: New file.
48778         * tests/test-wcsnrtombs.c: New file.
48779
48780         New module 'wcsnrtombs'.
48781         * lib/wchar.in.h (wcsnrtombs): New declaration.
48782         * lib/wcsnrtombs.c: New file.
48783         * lib/wcsrtombs-state.c: New file.
48784         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
48785         (internal_state): Remove variable.
48786         * m4/wcsnrtombs.m4: New file.
48787         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
48788         compilation units.
48789         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
48790         HAVE_WCSNRTOMBS.
48791         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
48792         HAVE_WCSNRTOMBS.
48793         * modules/wcsnrtombs: New file.
48794         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
48795         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
48796
48797 2008-12-21  Bruno Haible  <bruno@clisp.org>
48798
48799         * modules/wcsrtombs-tests: New file.
48800         * tests/test-wcsrtombs1.sh: New file.
48801         * tests/test-wcsrtombs2.sh: New file.
48802         * tests/test-wcsrtombs3.sh: New file.
48803         * tests/test-wcsrtombs4.sh: New file.
48804         * tests/test-wcsrtombs.c: New file.
48805
48806         New module 'wcsrtombs'.
48807         * lib/wchar.in.h (wcsrtombs): New declaration.
48808         * lib/wcsrtombs.c: New file.
48809         * m4/wcsrtombs.m4: New file.
48810         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
48811         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48812         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
48813         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48814         * modules/wcsrtombs: New file.
48815         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
48816         bugs.
48817
48818 2008-12-21  Bruno Haible  <bruno@clisp.org>
48819
48820         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
48821         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
48822         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
48823         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
48824         if not correct.
48825         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
48826         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
48827         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48828         m4/locale-zh.m4, m4/codeset.m4.
48829         * doc/posix-functions/wcrtomb.texi: Document the bug.
48830
48831 2008-12-21  Bruno Haible  <bruno@clisp.org>
48832
48833         Work around a btowc() bug on IRIX 6.5.
48834         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
48835         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
48836         REPLACE_WTOBC if not.
48837         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
48838         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
48839         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
48840
48841 2008-12-21  Bruno Haible  <bruno@clisp.org>
48842
48843         * modules/wcrtomb-tests: New file.
48844         * tests/test-wcrtomb.sh: New file.
48845         * tests/test-wcrtomb.c: New file.
48846
48847         New module 'wcrtomb'.
48848         * lib/wchar.in.h (wcrtomb): New declaration.
48849         * lib/wcrtomb.c: New file.
48850         * m4/wcrtomb.m4: New file.
48851         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
48852         HAVE_WCRTOMB.
48853         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
48854         HAVE_WCRTOMB.
48855         * modules/wcrtomb: New file.
48856         * doc/posix-functions/wcrtomb.texi: Mention the new module.
48857
48858 2008-12-21  Bruno Haible  <bruno@clisp.org>
48859
48860         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
48861         * modules/mbsrtowcs (Files): Likewise.
48862         * modules/wctob (Files): Likewise.
48863         * modules/c-strcase-tests (Files): Likewise.
48864         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
48865         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
48866         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
48867         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
48868         * modules/vasnprintf-posix-tests (Files): Likewise.
48869
48870 2008-12-21  William Pursell  <bill.pursell@gmail.com>
48871
48872         gitlog-to-changelog: pass all command-line arguments to git-log
48873         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
48874         it is sometimes convenient to filter the commits in various ways.
48875         gitlog-to-changelog only allows --since to specify a start date,
48876         but git-log itself supports many other filtering mechanisms.
48877         At the moment, I want to filter by branch name.  Rather than
48878         adding a --branch option to gitlog-to-changelog, it seems more
48879         flexible to simply pass all options directly to git-log and let
48880         git do the work.  Notice that this effectively makes --since a
48881         redundant option for gitlog-to-changelog, but removing it would
48882         require current usage to change since calls would then require
48883         an additional '--'.
48884
48885 2008-12-21  Bruno Haible  <bruno@clisp.org>
48886
48887         * modules/mbsnrtowcs-tests: New file.
48888         * tests/test-mbsnrtowcs1.sh: New file.
48889         * tests/test-mbsnrtowcs2.sh: New file.
48890         * tests/test-mbsnrtowcs3.sh: New file.
48891         * tests/test-mbsnrtowcs4.sh: New file.
48892         * tests/test-mbsnrtowcs.c: New file.
48893
48894         New module 'mbsnrtowcs'.
48895         * lib/wchar.in.h (mbsnrtowcs): New declaration.
48896         * lib/mbsnrtowcs.c: New file.
48897         * lib/mbsrtowcs-state.c: New file.
48898         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
48899         (internal_state): Remove variable.
48900         * m4/mbsnrtowcs.m4: New file.
48901         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
48902         compilation units.
48903         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
48904         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
48905         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
48906         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
48907         * modules/mbsnrtowcs: New file.
48908         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
48909         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
48910         portability problem.
48911
48912 2008-12-21  Bruno Haible  <bruno@clisp.org>
48913
48914         Work around mbsrtowcs bug.
48915         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
48916         (gl_FUNC_MBSRTOWCS): Invoke it.
48917         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48918         m4/locale-zh.m4.
48919         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
48920
48921 2008-12-21  Bruno Haible  <bruno@clisp.org>
48922
48923         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
48924
48925 2008-12-21  Bruno Haible  <bruno@clisp.org>
48926
48927         Update doc for AIX.
48928         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
48929         16-bit wchar_t type.
48930         * doc/posix-functions/btowc.texi: Likewise.
48931         * doc/posix-functions/fgetwc.texi: Likewise.
48932         * doc/posix-functions/fgetws.texi: Likewise.
48933         * doc/posix-functions/fputwc.texi: Likewise.
48934         * doc/posix-functions/fputws.texi: Likewise.
48935         * doc/posix-functions/fwide.texi: Likewise.
48936         * doc/posix-functions/fwprintf.texi: Likewise.
48937         * doc/posix-functions/fwscanf.texi: Likewise.
48938         * doc/posix-functions/getwchar.texi: Likewise.
48939         * doc/posix-functions/getwc.texi: Likewise.
48940         * doc/posix-functions/iswalnum.texi: Likewise.
48941         * doc/posix-functions/iswalpha.texi: Likewise.
48942         * doc/posix-functions/iswblank.texi: Likewise.
48943         * doc/posix-functions/iswcntrl.texi: Likewise.
48944         * doc/posix-functions/iswctype.texi: Likewise.
48945         * doc/posix-functions/iswdigit.texi: Likewise.
48946         * doc/posix-functions/iswgraph.texi: Likewise.
48947         * doc/posix-functions/iswlower.texi: Likewise.
48948         * doc/posix-functions/iswprint.texi: Likewise.
48949         * doc/posix-functions/iswpunct.texi: Likewise.
48950         * doc/posix-functions/iswspace.texi: Likewise.
48951         * doc/posix-functions/iswupper.texi: Likewise.
48952         * doc/posix-functions/iswxdigit.texi: Likewise.
48953         * doc/posix-functions/mbrtowc.texi: Likewise.
48954         * doc/posix-functions/mbsrtowcs.texi: Likewise.
48955         * doc/posix-functions/mbstowcs.texi: Likewise.
48956         * doc/posix-functions/mbtowc.texi: Likewise.
48957         * doc/posix-functions/putwchar.texi: Likewise.
48958         * doc/posix-functions/putwc.texi: Likewise.
48959         * doc/posix-functions/swprintf.texi: Likewise.
48960         * doc/posix-functions/tolower.texi: Likewise.
48961         * doc/posix-functions/toupper.texi: Likewise.
48962         * doc/posix-functions/towctrans.texi: Likewise.
48963         * doc/posix-functions/ungetwc.texi: Likewise.
48964         * doc/posix-functions/vswprintf.texi: Likewise.
48965         * doc/posix-functions/wcrtomb.texi: Likewise.
48966         * doc/posix-functions/wcscat.texi: Likewise.
48967         * doc/posix-functions/wcschr.texi: Likewise.
48968         * doc/posix-functions/wcscmp.texi: Likewise.
48969         * doc/posix-functions/wcscoll.texi: Likewise.
48970         * doc/posix-functions/wcscpy.texi: Likewise.
48971         * doc/posix-functions/wcscspn.texi: Likewise.
48972         * doc/posix-functions/wcsftime.texi: Likewise.
48973         * doc/posix-functions/wcslen.texi: Likewise.
48974         * doc/posix-functions/wcsncat.texi: Likewise.
48975         * doc/posix-functions/wcsncmp.texi: Likewise.
48976         * doc/posix-functions/wcsncpy.texi: Likewise.
48977         * doc/posix-functions/wcspbrk.texi: Likewise.
48978         * doc/posix-functions/wcsrchr.texi: Likewise.
48979         * doc/posix-functions/wcsrtombs.texi: Likewise.
48980         * doc/posix-functions/wcsspn.texi: Likewise.
48981         * doc/posix-functions/wcsstr.texi: Likewise.
48982         * doc/posix-functions/wcstod.texi: Likewise.
48983         * doc/posix-functions/wcstof.texi: Likewise.
48984         * doc/posix-functions/wcstoimax.texi: Likewise.
48985         * doc/posix-functions/wcstok.texi: Likewise.
48986         * doc/posix-functions/wcstold.texi: Likewise.
48987         * doc/posix-functions/wcstoll.texi: Likewise.
48988         * doc/posix-functions/wcstol.texi: Likewise.
48989         * doc/posix-functions/wcstombs.texi: Likewise.
48990         * doc/posix-functions/wcstoull.texi: Likewise.
48991         * doc/posix-functions/wcstoul.texi: Likewise.
48992         * doc/posix-functions/wcstoumax.texi: Likewise.
48993         * doc/posix-functions/wcswidth.texi: Likewise.
48994         * doc/posix-functions/wcsxfrm.texi: Likewise.
48995         * doc/posix-functions/wctob.texi: Likewise.
48996         * doc/posix-functions/wctomb.texi: Likewise.
48997         * doc/posix-functions/wctrans.texi: Likewise.
48998         * doc/posix-functions/wctype.texi: Likewise.
48999         * doc/posix-functions/wcwidth.texi: Likewise.
49000         * doc/posix-functions/wmemchr.texi: Likewise.
49001         * doc/posix-functions/wmemcmp.texi: Likewise.
49002         * doc/posix-functions/wmemcpy.texi: Likewise.
49003         * doc/posix-functions/wmemmove.texi: Likewise.
49004         * doc/posix-functions/wmemset.texi: Likewise.
49005         * doc/posix-functions/wprintf.texi: Likewise.
49006         * doc/posix-functions/wscanf.texi: Likewise.
49007
49008 2008-12-21  Bruno Haible  <bruno@clisp.org>
49009
49010         Update doc for HP-UX 11.11.
49011         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49012         in HP-UX version 11.00, not in all versions of HP-UX 11.
49013         * doc/posix-functions/fwide.texi: Likewise.
49014         * doc/posix-functions/fwprintf.texi: Likewise.
49015         * doc/posix-functions/fwscanf.texi: Likewise.
49016         * doc/posix-functions/inet_ntop.texi: Likewise.
49017         * doc/posix-functions/inet_pton.texi: Likewise.
49018         * doc/posix-functions/mbrlen.texi: Likewise.
49019         * doc/posix-functions/mbrtowc.texi: Likewise.
49020         * doc/posix-functions/mbsinit.texi: Likewise.
49021         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49022         * doc/posix-functions/swprintf.texi: Likewise.
49023         * doc/posix-functions/swscanf.texi: Likewise.
49024         * doc/posix-functions/towctrans.texi: Likewise.
49025         * doc/posix-functions/vfwprintf.texi: Likewise.
49026         * doc/posix-functions/vswprintf.texi: Likewise.
49027         * doc/posix-functions/vwprintf.texi: Likewise.
49028         * doc/posix-functions/wcrtomb.texi: Likewise.
49029         * doc/posix-functions/wcsrtombs.texi: Likewise.
49030         * doc/posix-functions/wcsstr.texi: Likewise.
49031         * doc/posix-functions/wctob.texi: Likewise.
49032         * doc/posix-functions/wctrans.texi: Likewise.
49033         * doc/posix-functions/wmemchr.texi: Likewise.
49034         * doc/posix-functions/wmemcmp.texi: Likewise.
49035         * doc/posix-functions/wmemcpy.texi: Likewise.
49036         * doc/posix-functions/wmemmove.texi: Likewise.
49037         * doc/posix-functions/wmemset.texi: Likewise.
49038         * doc/posix-functions/wprintf.texi: Likewise.
49039         * doc/posix-functions/wscanf.texi: Likewise.
49040
49041 2008-12-21  Bruno Haible  <bruno@clisp.org>
49042
49043         Work around a portability problem.
49044         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49045         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49046
49047 2008-12-20  Bruno Haible  <bruno@clisp.org>
49048
49049         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49050         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49051         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49052         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49053         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49054
49055         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49056         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49057         set.
49058         (GNULIB_defined_mbstate_t): New macro.
49059         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49060         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49061         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49062         reuses the system's mbrtowc function but works around the bugs.
49063         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49064         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49065         macros.
49066         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49067         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49068         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49069         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49070         REPLACE_MBSINIT if mbsinit needs to be overridden.
49071         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49072         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49073         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49074         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49075         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49076         m4/locale-zh.m4.
49077         (Depends): Add mbsinit.
49078         * modules/mbsinit (Depends): Add mbrtowc.
49079         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49080
49081 2008-12-20  Bruno Haible  <bruno@clisp.org>
49082
49083         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49084         so that there are no conversion errors on AIX.
49085         * tests/test-mbsrtowcs.c (main): LIkewise.
49086
49087 2008-12-20  Bruno Haible  <bruno@clisp.org>
49088
49089         Work around wctob bug on Solaris <= 9.
49090         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49091         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49092         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49093         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
49094         * modules/wctob (Files): Add m4/locale-fr.m4.
49095         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
49096
49097 2008-12-20  Bruno Haible  <bruno@clisp.org>
49098
49099         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
49100         /dev/null.
49101         * tests/test-select-in.sh: Likewise.
49102         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49103
49104 2008-12-20  Bruno Haible  <bruno@clisp.org>
49105
49106         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
49107         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
49108         Cygwin 1.5.x.
49109
49110 2008-12-20  Bruno Haible  <bruno@clisp.org>
49111
49112         Ensure mbstate_t is defined on HP-UX 11.11.
49113         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
49114         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
49115         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
49116         AC_USE_SYSTEM_EXTENSIONS.
49117         * modules/fnmatch (Depends-on): Add extensions.
49118         * modules/mbrlen (Depends-on): Likewise.
49119         * modules/mbrtowc (Depends-on): Likewise.
49120         * modules/mbsinit (Depends-on): Likewise.
49121         * modules/mbsrtowcs (Depends-on): Likewise.
49122         * modules/mbswidth (Depends-on): Likewise.
49123         * modules/quotearg (Depends-on): Likewise.
49124         * modules/strftime (Depends-on): Likewise.
49125
49126 2008-12-20  Bruno Haible  <bruno@clisp.org>
49127
49128         Ensure wctob is declared on IRIX 6.5.
49129         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
49130         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
49131         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
49132         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
49133         of HAVE_WCTOB.
49134         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
49135         HAVE_WCTOB.
49136         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
49137
49138 2008-12-19  Bruno Haible  <bruno@clisp.org>
49139
49140         * modules/mbsrtowcs-tests: New file.
49141         * tests/test-mbsrtowcs1.sh: New file.
49142         * tests/test-mbsrtowcs2.sh: New file.
49143         * tests/test-mbsrtowcs3.sh: New file.
49144         * tests/test-mbsrtowcs4.sh: New file.
49145         * tests/test-mbsrtowcs.c: New file.
49146
49147         New module 'mbsrtowcs'.
49148         * lib/wchar.in.h (mbsrtowcs): New declaration.
49149         * lib/mbsrtowcs.c: New file.
49150         * m4/mbsrtowcs.m4: New file.
49151         * modules/mbsrtowcs: New file.
49152         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
49153         HAVE_MBSRTOWCS.
49154         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
49155         HAVE_MBSRTOWCS.
49156         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
49157
49158 2008-12-19  Bruno Haible  <bruno@clisp.org>
49159
49160         New module 'mbrlen'.
49161         * lib/wchar.in.h (mbrlen): New declaration.
49162         * lib/mbrlen.c: New file.
49163         * m4/mbrlen.m4: New file.
49164         * modules/mbrlen: New file.
49165         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
49166         HAVE_MBRLEN.
49167         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
49168         HAVE_MBRLEN.
49169         * doc/posix-functions/mbrlen.texi: Document the new module.
49170
49171 2008-12-19  Bruno Haible  <bruno@clisp.org>
49172
49173         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
49174         * modules/mbrtowc (Depends-on): Add verify.
49175         Suggested by Paul Eggert.
49176
49177 2008-12-18  Bruno Haible  <bruno@clisp.org>
49178
49179         * modules/mbsinit-tests: New file.
49180         * tests/test-mbsinit.sh: New file.
49181         * tests/test-mbsinit.c: New file.
49182
49183 2008-12-18  Bruno Haible  <bruno@clisp.org>
49184
49185         * modules/mbrtowc-tests: New file.
49186         * tests/test-mbrtowc1.sh: New file.
49187         * tests/test-mbrtowc2.sh: New file.
49188         * tests/test-mbrtowc3.sh: New file.
49189         * tests/test-mbrtowc4.sh: New file.
49190         * tests/test-mbrtowc.c: New file.
49191
49192         New module 'mbrtowc'.
49193         * lib/wchar.in.h (mbstate_t): Override when the system does not have
49194         mbsinit and mbrtowc.
49195         (mbrtowc): New declaration.
49196         * lib/mbrtowc.c: New file.
49197         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
49198         * modules/mbrtowc: New file.
49199         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
49200         HAVE_MBRTOWC.
49201         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
49202         HAVE_MBRTOWC.
49203         * doc/posix-functions/mbrtowc.texi: Document the new module.
49204
49205 2008-12-18  Bruno Haible  <bruno@clisp.org>
49206
49207         New module 'wctob'.
49208         * lib/wchar.in.h (wctob): New declaration.
49209         * lib/wctob.c: New file.
49210         * m4/wctob.m4: New file.
49211         * modules/wctob: New file.
49212         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
49213         HAVE_WCTOB.
49214         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
49215         * doc/posix-functions/wctob.texi: Document the new module.
49216
49217 2008-12-18  Bruno Haible  <bruno@clisp.org>
49218
49219         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
49220         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
49221
49222 2008-12-18  Simon Josefsson  <simon@josefsson.org>
49223
49224         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
49225         G. Christensen" <tgc@jupiterrise.com>.
49226
49227         * lib/flock.c: Need to include errno.h.  Reported by "Tom
49228         G. Christensen" <tgc@jupiterrise.com>.
49229
49230         * lib/flock.c: Need to include string.h.  Reported by "Tom
49231         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
49232         <ebb9@byu.net>.
49233
49234 2008-12-18  Bruno Haible  <bruno@clisp.org>
49235
49236         * m4/locale-ja.m4: New file, from GNU gettext.
49237
49238 2008-12-17  Bruno Haible  <bruno@clisp.org>
49239
49240         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
49241         Suggested by Eric Blake.
49242
49243 2008-12-17  Bruno Haible  <bruno@clisp.org>
49244
49245         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
49246
49247 2008-12-17  Bruno Haible  <bruno@clisp.org>
49248
49249         * lib/mbsinit.c: Include verify.h. Verify an assumption.
49250         * modules/mbsinit (Depends-on): Add verify.
49251         Suggested by Paul Eggert.
49252
49253 2008-12-17  Bruno Haible  <bruno@clisp.org>
49254
49255         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
49256         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
49257         gl_FUNC_MBRTOWC.
49258         * m4/mbiter.m4 (gl_MBITER): LIkewise.
49259         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
49260         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
49261         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
49262         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
49263         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
49264         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
49265         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
49266         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
49267         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
49268         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
49269         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
49270         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
49271         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
49272         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
49273         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49274         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
49275         * modules/trim (configure.ac): Likewise.
49276
49277 2008-12-17  Bruno Haible  <bruno@clisp.org>
49278
49279         * modules/btowc-tests: New file.
49280         * tests/test-btowc1.sh: New file.
49281         * tests/test-btowc2.sh: New file.
49282         * tests/test-btowc.c: New file.
49283
49284         New module 'btowc'.
49285         * lib/wchar.in.h (btowc): New declaration.
49286         * lib/btowc.c: New file.
49287         * m4/btowc.m4: New file.
49288         * modules/btowc: New file.
49289         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
49290         HAVE_BTOWC.
49291         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
49292         * doc/posix-functions/btowc.texi: Document the new module.
49293
49294 2008-12-17  Bruno Haible  <bruno@clisp.org>
49295
49296         New module 'mbsinit'.
49297         * lib/wchar.in.h (mbsinit): New declaration.
49298         * lib/mbsinit.c: New file.
49299         * m4/mbsinit.m4: New file.
49300         * modules/mbsinit: New file.
49301         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
49302         HAVE_MBSINIT.
49303         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
49304         HAVE_MBSINIT.
49305         * doc/posix-functions/mbsinit.texi: Document the new module.
49306
49307 2008-12-16  Bruno Haible  <bruno@clisp.org>
49308
49309         * lib/unistd.in.h: Add comment.
49310         * tests/test-environ.c: Don't include <stdlib.h>.
49311
49312 2008-12-16  Bruno Haible  <bruno@clisp.org>
49313
49314         * lib/parse-duration.h (parse_duration): Document return value
49315         convention.
49316         * lib/parse-duration.c: Include specification header first. Add
49317         comments.
49318         (_): Remove macro.
49319         (parse_year_month_day, parse_hour_minute_second): Move side effects
49320         outside of strchr call.
49321         (parse_non_iso8601): Move side effects outside of isspace call.
49322         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
49323         call.
49324
49325 2008-12-16  Bruno Haible  <bruno@clisp.org>
49326
49327         * tests/test-parse-duration.sh: Produce no output when the test
49328         succeeds.
49329
49330 2008-12-16  Bruno Haible  <bruno@clisp.org>
49331
49332         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
49333         expressions.
49334
49335 2008-12-15  Bruno Haible  <bruno@clisp.org>
49336
49337         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
49338         * doc/glibc-functions/flistxattr.texi: Likewise.
49339         * doc/glibc-functions/fopencookie.texi: Likewise.
49340         * doc/glibc-functions/fremovexattr.texi: Likewise.
49341         * doc/glibc-functions/fsetxattr.texi: Likewise.
49342         * doc/glibc-functions/getxattr.texi: Likewise.
49343         * doc/glibc-functions/lgetxattr.texi: Likewise.
49344         * doc/glibc-functions/listxattr.texi: Likewise.
49345         * doc/glibc-functions/llistxattr.texi: Likewise.
49346         * doc/glibc-functions/lremovexattr.texi: Likewise.
49347         * doc/glibc-functions/lsetxattr.texi: Likewise.
49348         * doc/glibc-functions/removexattr.texi: Likewise.
49349         * doc/glibc-functions/setxattr.texi: Likewise.
49350         * doc/posix-functions/open_memstream.texi: Likewise.
49351
49352 2008-12-15  Eric Blake  <ebb9@byu.net>
49353
49354         Update doc for cygwin 1.7.
49355         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
49356         functions.
49357         * doc/posix-functions/fchmodat.texi: Likewise.
49358         * doc/posix-functions/fchownat.texi: Likewise.
49359         * doc/posix-functions/fdopendir.texi: Likewise.
49360         * doc/posix-functions/fmemopen.texi: Likewise.
49361         * doc/posix-functions/freeaddrinfo.texi: Likewise.
49362         * doc/posix-functions/fstatat.texi: Likewise.
49363         * doc/posix-functions/futimens.texi: Likewise.
49364         * doc/posix-functions/gai_strerror.texi: Likewise.
49365         * doc/posix-functions/getaddrinfo.texi: Likewise.
49366         * doc/posix-functions/getnameinfo.texi: Likewise.
49367         * doc/posix-functions/if_freenameindex.texi: Likewise.
49368         * doc/posix-functions/if_indextoname.texi: Likewise.
49369         * doc/posix-functions/if_nameindex.texi: Likewise.
49370         * doc/posix-functions/if_nametoindex.texi: Likewise.
49371         * doc/posix-functions/insque.texi: Likewise.
49372         * doc/posix-functions/linkat.texi: Likewise.
49373         * doc/posix-functions/llrint.texi: Likewise.
49374         * doc/posix-functions/llrintf.texi: Likewise.
49375         * doc/posix-functions/llrintl.texi: Likewise.
49376         * doc/posix-functions/lockf.texi: Likewise.
49377         * doc/posix-functions/lrintl.texi: Likewise.
49378         * doc/posix-functions/mkdirat.texi: Likewise.
49379         * doc/posix-functions/mkfifoat.texi: Likewise.
49380         * doc/posix-functions/mknodat.texi: Likewise.
49381         * doc/posix-functions/mq_close.texi: Likewise.
49382         * doc/posix-functions/mq_getattr.texi: Likewise.
49383         * doc/posix-functions/mq_notify.texi: Likewise.
49384         * doc/posix-functions/mq_open.texi: Likewise.
49385         * doc/posix-functions/mq_receive.texi: Likewise.
49386         * doc/posix-functions/mq_send.texi: Likewise.
49387         * doc/posix-functions/mq_setattr.texi: Likewise.
49388         * doc/posix-functions/mq_timedreceive.texi: Likewise.
49389         * doc/posix-functions/mq_timedsend.texi: Likewise.
49390         * doc/posix-functions/mq_unlink.texi: Likewise.
49391         * doc/posix-functions/open_memstream.texi: Likewise.
49392         * doc/posix-functions/openat.texi: Likewise.
49393         * doc/posix-functions/posix_fadvise.texi: Likewise.
49394         * doc/posix-functions/posix_fallocate.texi: Likewise.
49395         * doc/posix-functions/posix_madvise.texi: Likewise.
49396         * doc/posix-functions/posix_memalign.texi: Likewise.
49397         * doc/posix-functions/posix_openpt.texi: Likewise.
49398         * doc/posix-functions/readlinkat.texi: Likewise.
49399         * doc/posix-functions/remque.texi: Likewise.
49400         * doc/posix-functions/renameat.texi: Likewise.
49401         * doc/posix-functions/rintl.texi: Likewise.
49402         * doc/posix-functions/sem_unlink.texi: Likewise.
49403         * doc/posix-functions/shm_open.texi: Likewise.
49404         * doc/posix-functions/shm_unlink.texi: Likewise.
49405         * doc/posix-functions/signgam.texi: Likewise.
49406         * doc/posix-functions/sigset.texi: Likewise.
49407         * doc/posix-functions/stpcpy.texi: Likewise.
49408         * doc/posix-functions/stpncpy.texi: Likewise.
49409         * doc/posix-functions/strerror.texi: Likewise.
49410         * doc/posix-functions/strtod.texi: Likewise.
49411         * doc/posix-functions/symlinkat.texi: Likewise.
49412         * doc/posix-functions/unlinkat.texi: Likewise.
49413         * doc/posix-functions/utimensat.texi: Likewise.
49414         * doc/glibc-functions/bindresvport.texi: Likewise.
49415         * doc/glibc-functions/dn_expand.texi: Likewise.
49416         * doc/glibc-functions/exp10.texi: Likewise.
49417         * doc/glibc-functions/exp10f.texi: Likewise.
49418         * doc/glibc-functions/fgetxattr.texi: Likewise.
49419         * doc/glibc-functions/flistxattr.texi: Likewise.
49420         * doc/glibc-functions/fopencookie.texi: Likewise.
49421         * doc/glibc-functions/freeifaddrs.texi: Likewise.
49422         * doc/glibc-functions/fremovexattr.texi: Likewise.
49423         * doc/glibc-functions/fsetxattr.texi: Likewise.
49424         * doc/glibc-functions/getifaddrs.texi: Likewise.
49425         * doc/glibc-functions/getxattr.texi: Likewise.
49426         * doc/glibc-functions/lgetxattr.texi: Likewise.
49427         * doc/glibc-functions/listxattr.texi: Likewise.
49428         * doc/glibc-functions/llistxattr.texi: Likewise.
49429         * doc/glibc-functions/lremovexattr.texi: Likewise.
49430         * doc/glibc-functions/lsetxattr.texi: Likewise.
49431         * doc/glibc-functions/pow10.texi: Likewise.
49432         * doc/glibc-functions/pow10f.texi: Likewise.
49433         * doc/glibc-functions/rcmd_af.texi: Likewise.
49434         * doc/glibc-functions/removexattr.texi: Likewise.
49435         * doc/glibc-functions/res_init.texi: Likewise.
49436         * doc/glibc-functions/res_mkquery.texi: Likewise.
49437         * doc/glibc-functions/res_query.texi: Likewise.
49438         * doc/glibc-functions/res_querydomain.texi: Likewise.
49439         * doc/glibc-functions/res_send.texi: Likewise.
49440         * doc/glibc-functions/rresvport_af.texi: Likewise.
49441         * doc/glibc-functions/setxattr.texi: Likewise.
49442         * doc/glibc-functions/strcasestr.texi: Likewise.
49443
49444 2008-12-15  Bruno Haible  <bruno@clisp.org>
49445
49446         Fix compilation error on OSF/1 4.0.
49447         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
49448         <sys/time.h>, simply delegate to the system header.
49449         Reported by Daniel Richard G. <oss@teragram.com>.
49450
49451 2008-12-15  Bruno Haible  <bruno@clisp.org>
49452
49453         * doc/posix-functions/openat.texi: Mention the 'openat' module.
49454         * doc/posix-functions/fchmodat.texi: Likewise.
49455         * doc/posix-functions/fchownat.texi: Likewise.
49456         * doc/posix-functions/fdopendir.texi: Likewise.
49457         * doc/posix-functions/fstatat.texi: Likewise.
49458         * doc/posix-functions/mkdirat.texi: Likewise.
49459         * doc/posix-functions/unlinkat.texi: Likewise.
49460
49461 2008-12-14  Bruno Haible  <bruno@clisp.org>
49462
49463         Update doc for POSIX:2008.
49464         * doc/posix-functions/faccessat.texi: New file.
49465         * doc/posix-functions/fchmodat.texi: New file.
49466         * doc/posix-functions/fchownat.texi: New file.
49467         * doc/posix-functions/fdopendir.texi: New file.
49468         * doc/posix-functions/fstatat.texi: New file.
49469         * doc/posix-functions/futimens.texi: New file.
49470         * doc/posix-functions/linkat.texi: New file.
49471         * doc/posix-functions/mkdirat.texi: New file.
49472         * doc/posix-functions/mkfifoat.texi: New file.
49473         * doc/posix-functions/mknodat.texi: New file.
49474         * doc/posix-functions/open_wmemstream.texi: New file.
49475         * doc/posix-functions/openat.texi: New file.
49476         * doc/posix-functions/psiginfo.texi: New file.
49477         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
49478         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
49479         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
49480         * doc/posix-functions/readlinkat.texi: New file.
49481         * doc/posix-functions/renameat.texi: New file.
49482         * doc/posix-functions/strerror_l.texi: New file.
49483         * doc/posix-functions/symlinkat.texi: New file.
49484         * doc/posix-functions/unlinkat.texi: New file.
49485         * doc/posix-functions/utimensat.texi: New file.
49486         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49487
49488 2008-12-14  Bruno Haible  <bruno@clisp.org>
49489
49490         Update doc for POSIX:2008.
49491         * doc/posix-functions/alphasort.texi: Renamed from
49492         doc/glibc-functions/alphasort.texi.
49493         * doc/posix-functions/dirfd.texi: Renamed from
49494         doc/glibc-functions/dirfd.texi.
49495         * doc/posix-functions/dprintf.texi: Renamed from
49496         doc/glibc-functions/dprintf.texi.
49497         * doc/posix-functions/duplocale.texi: Renamed from
49498         doc/glibc-functions/duplocale.texi.
49499         * doc/posix-functions/fexecve.texi: Renamed from
49500         doc/glibc-functions/fexecve.texi.
49501         * doc/posix-functions/fmemopen.texi: Renamed from
49502         doc/glibc-functions/fmemopen.texi.
49503         * doc/posix-functions/freelocale.texi: Renamed from
49504         doc/glibc-functions/freelocale.texi.
49505         * doc/posix-functions/getdate_err.texi: Renamed from
49506         doc/glibc-functions/getdate_err.texi.
49507         * doc/posix-functions/isalnum_l.texi: Renamed from
49508         doc/glibc-functions/isalnum_l.texi.
49509         * doc/posix-functions/isalpha_l.texi: Renamed from
49510         doc/glibc-functions/isalpha_l.texi.
49511         * doc/posix-functions/isblank_l.texi: Renamed from
49512         doc/glibc-functions/isblank_l.texi.
49513         * doc/posix-functions/iscntrl_l.texi: Renamed from
49514         doc/glibc-functions/iscntrl_l.texi.
49515         * doc/posix-functions/isdigit_l.texi: Renamed from
49516         doc/glibc-functions/isdigit_l.texi.
49517         * doc/posix-functions/isgraph_l.texi: Renamed from
49518         doc/glibc-functions/isgraph_l.texi.
49519         * doc/posix-functions/islower_l.texi: Renamed from
49520         doc/glibc-functions/islower_l.texi.
49521         * doc/posix-functions/isprint_l.texi: Renamed from
49522         doc/glibc-functions/isprint_l.texi.
49523         * doc/posix-functions/ispunct_l.texi: Renamed from
49524         doc/glibc-functions/ispunct_l.texi.
49525         * doc/posix-functions/isspace_l.texi: Renamed from
49526         doc/glibc-functions/isspace_l.texi.
49527         * doc/posix-functions/isupper_l.texi: Renamed from
49528         doc/glibc-functions/isupper_l.texi.
49529         * doc/posix-functions/iswalnum_l.texi: Renamed from
49530         doc/glibc-functions/iswalnum_l.texi.
49531         * doc/posix-functions/iswalpha_l.texi: Renamed from
49532         doc/glibc-functions/iswalpha_l.texi.
49533         * doc/posix-functions/iswblank_l.texi: Renamed from
49534         doc/glibc-functions/iswblank_l.texi.
49535         * doc/posix-functions/iswcntrl_l.texi: Renamed from
49536         doc/glibc-functions/iswcntrl_l.texi.
49537         * doc/posix-functions/iswctype_l.texi: Renamed from
49538         doc/glibc-functions/iswctype_l.texi.
49539         * doc/posix-functions/iswdigit_l.texi: Renamed from
49540         doc/glibc-functions/iswdigit_l.texi.
49541         * doc/posix-functions/iswgraph_l.texi: Renamed from
49542         doc/glibc-functions/iswgraph_l.texi.
49543         * doc/posix-functions/iswlower_l.texi: Renamed from
49544         doc/glibc-functions/iswlower_l.texi.
49545         * doc/posix-functions/iswprint_l.texi: Renamed from
49546         doc/glibc-functions/iswprint_l.texi.
49547         * doc/posix-functions/iswpunct_l.texi: Renamed from
49548         doc/glibc-functions/iswpunct_l.texi.
49549         * doc/posix-functions/iswspace_l.texi: Renamed from
49550         doc/glibc-functions/iswspace_l.texi.
49551         * doc/posix-functions/iswupper_l.texi: Renamed from
49552         doc/glibc-functions/iswupper_l.texi.
49553         * doc/posix-functions/iswxdigit_l.texi: Renamed from
49554         doc/glibc-functions/iswxdigit_l.texi.
49555         * doc/posix-functions/isxdigit_l.texi: Renamed from
49556         doc/glibc-functions/isxdigit_l.texi.
49557         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
49558         doc/glibc-functions/mbsnrtowcs.texi.
49559         * doc/posix-functions/mkdtemp.texi: Renamed from
49560         doc/glibc-functions/mkdtemp.texi.
49561         * doc/posix-functions/newlocale.texi: Renamed from
49562         doc/glibc-functions/newlocale.texi.
49563         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
49564         doc/glibc-functions/nl_langinfo_l.texi.
49565         * doc/posix-functions/open_memstream.texi: Renamed from
49566         doc/glibc-functions/open_memstream.texi.
49567         * doc/posix-functions/opterr.texi: Renamed from
49568         doc/glibc-functions/opterr.texi.
49569         * doc/posix-functions/optind.texi: Renamed from
49570         doc/glibc-functions/optind.texi.
49571         * doc/posix-functions/optopt.texi: Renamed from
49572         doc/glibc-functions/optopt.texi.
49573         * doc/posix-functions/psignal.texi: Renamed from
49574         doc/glibc-functions/psignal.texi.
49575         * doc/posix-functions/scandir.texi: Renamed from
49576         doc/glibc-functions/scandir.texi.
49577         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
49578         doc/glibc-functions/sched_get_priority_min.texi.
49579         * doc/posix-functions/signgam.texi: Renamed from
49580         doc/glibc-functions/signgam.texi.
49581         * doc/posix-functions/stpcpy.texi: Renamed from
49582         doc/glibc-functions/stpcpy.texi.
49583         * doc/posix-functions/stpncpy.texi: Renamed from
49584         doc/glibc-functions/stpncpy.texi.
49585         * doc/posix-functions/strcasecmp_l.texi: Renamed from
49586         doc/glibc-functions/strcasecmp_l.texi.
49587         * doc/posix-functions/strcoll_l.texi: Renamed from
49588         doc/glibc-functions/strcoll_l.texi.
49589         * doc/posix-functions/strfmon_l.texi: Renamed from
49590         doc/glibc-functions/strfmon_l.texi.
49591         * doc/posix-functions/strftime_l.texi: Renamed from
49592         doc/glibc-functions/strftime_l.texi.
49593         * doc/posix-functions/strncasecmp_l.texi: Renamed from
49594         doc/glibc-functions/strncasecmp_l.texi.
49595         * doc/posix-functions/strndup.texi: Renamed from
49596         doc/glibc-functions/strndup.texi.
49597         * doc/posix-functions/strnlen.texi: Renamed from
49598         doc/glibc-functions/strnlen.texi.
49599         * doc/posix-functions/strsignal.texi: Renamed from
49600         doc/glibc-functions/strsignal.texi.
49601         * doc/posix-functions/strxfrm_l.texi: Renamed from
49602         doc/glibc-functions/strxfrm_l.texi.
49603         * doc/posix-functions/timer_gettime.texi: Renamed from
49604         doc/glibc-functions/timer_gettime.texi.
49605         * doc/posix-functions/tolower_l.texi: Renamed from
49606         doc/glibc-functions/tolower_l.texi.
49607         * doc/posix-functions/toupper_l.texi: Renamed from
49608         doc/glibc-functions/toupper_l.texi.
49609         * doc/posix-functions/towctrans_l.texi: Renamed from
49610         doc/glibc-functions/towctrans_l.texi.
49611         * doc/posix-functions/towlower_l.texi: Renamed from
49612         doc/glibc-functions/towlower_l.texi.
49613         * doc/posix-functions/towupper_l.texi: Renamed from
49614         doc/glibc-functions/towupper_l.texi.
49615         * doc/posix-functions/uselocale.texi: Renamed from
49616         doc/glibc-functions/uselocale.texi.
49617         * doc/posix-functions/vdprintf.texi: Renamed from
49618         doc/glibc-functions/vdprintf.texi.
49619         * doc/posix-functions/wcpcpy.texi:
49620         Renamed from doc/glibc-functions/wcpcpy.texi.
49621         * doc/posix-functions/wcpncpy.texi: Renamed from
49622         doc/glibc-functions/wcpncpy.texi.
49623         * doc/posix-functions/wcscasecmp.texi: Renamed from
49624         doc/glibc-functions/wcscasecmp.texi.
49625         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
49626         doc/glibc-functions/wcscasecmp_l.texi.
49627         * doc/posix-functions/wcscoll_l.texi: Renamed from
49628         doc/glibc-functions/wcscoll_l.texi.
49629         * doc/posix-functions/wcsdup.texi: Renamed from
49630         doc/glibc-functions/wcsdup.texi.
49631         * doc/posix-functions/wcsncasecmp.texi: Renamed from
49632         doc/glibc-functions/wcsncasecmp.texi.
49633         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
49634         doc/glibc-functions/wcsncasecmp_l.texi.
49635         * doc/posix-functions/wcsnlen.texi: Renamed from
49636         doc/glibc-functions/wcsnlen.texi.
49637         * doc/posix-functions/wcsnrtombs.texi: Renamed from
49638         doc/glibc-functions/wcsnrtombs.texi.
49639         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
49640         doc/glibc-functions/wcsxfrm_l.texi.
49641         * doc/posix-functions/wctrans_l.texi: Renamed from
49642         doc/glibc-functions/wctrans_l.texi.
49643         * doc/posix-functions/wctype_l.texi: Renamed from
49644         doc/glibc-functions/wctype_l.texi.
49645         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49646         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
49647         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
49648         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
49649         these subsections.
49650         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
49651         Remove sections.
49652
49653 2008-12-14  Bruno Haible  <bruno@clisp.org>
49654
49655         Update doc for POSIX:2008.
49656         * doc/posix-functions/*.texi: Update URL of POSIX specification.
49657
49658 2008-12-14  Bruno Haible  <bruno@clisp.org>
49659
49660         Update doc for POSIX:2008.
49661         * doc/pastposix-functions/bcmp.texi: Renamed from
49662         doc/posix-functions/bcmp.texi.
49663         * doc/pastposix-functions/bcopy.texi: Renamed from
49664         doc/posix-functions/bcopy.texi.
49665         * doc/pastposix-functions/bsd_signal.texi: Renamed from
49666         doc/posix-functions/bsd_signal.texi.
49667         * doc/pastposix-functions/bzero.texi: Renamed from
49668         doc/posix-functions/bzero.texi.
49669         * doc/pastposix-functions/ecvt.texi: Renamed from
49670         doc/posix-functions/ecvt.texi.
49671         * doc/pastposix-functions/fcvt.texi: Renamed from
49672         doc/posix-functions/fcvt.texi.
49673         * doc/pastposix-functions/ftime.texi: Renamed from
49674         doc/posix-functions/ftime.texi.
49675         * doc/pastposix-functions/gcvt.texi: Renamed from
49676         doc/posix-functions/gcvt.texi.
49677         * doc/pastposix-functions/getcontext.texi: Renamed from
49678         doc/posix-functions/getcontext.texi.
49679         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
49680         doc/posix-functions/gethostbyaddr.texi.
49681         * doc/pastposix-functions/gethostbyname.texi: Renamed from
49682         doc/posix-functions/gethostbyname.texi.
49683         * doc/pastposix-functions/getwd.texi: Renamed from
49684         doc/posix-functions/getwd.texi.
49685         * doc/pastposix-functions/h_errno.texi: Renamed from
49686         doc/posix-functions/h_errno.texi.
49687         * doc/pastposix-functions/index.texi: Renamed from
49688         doc/posix-functions/index.texi.
49689         * doc/pastposix-functions/makecontext.texi: Renamed from
49690         doc/posix-functions/makecontext.texi.
49691         * doc/pastposix-functions/mktemp.texi: Renamed from
49692         doc/posix-functions/mktemp.texi.
49693         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
49694         doc/posix-functions/pthread_attr_getstackaddr.texi.
49695         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
49696         doc/posix-functions/pthread_attr_setstackaddr.texi.
49697         * doc/pastposix-functions/rindex.texi: Renamed from
49698         doc/posix-functions/rindex.texi.
49699         * doc/pastposix-functions/scalb.texi: Renamed from
49700         doc/posix-functions/scalb.texi.
49701         * doc/pastposix-functions/setcontext.texi: Renamed from
49702         doc/posix-functions/setcontext.texi.
49703         * doc/pastposix-functions/swapcontext.texi: Renamed from
49704         doc/posix-functions/swapcontext.texi.
49705         * doc/pastposix-functions/ualarm.texi: Renamed from
49706         doc/posix-functions/ualarm.texi.
49707         * doc/pastposix-functions/usleep.texi: Renamed from
49708         doc/posix-functions/usleep.texi.
49709         * doc/pastposix-functions/vfork.texi: Renamed from
49710         doc/posix-functions/vfork.texi.
49711         * doc/pastposix-functions/wcswcs.texi: Renamed from
49712         doc/posix-functions/wcswcs.texi.
49713         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
49714         (Function Substitutes): Update.
49715
49716 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49717
49718         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
49719         m4/strerror.m4.
49720
49721 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49722             Bruno Haible  <bruno@clisp.org>
49723
49724         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
49725
49726 2008-12-13  Bruno Haible  <bruno@clisp.org>
49727
49728         * modules/strtoull (Depends-on): Remove unistd.
49729
49730 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49731
49732         * modules/strtoull (Depends-on): Add stdlib.
49733
49734 2008-12-11  Simon Josefsson  <simon@josefsson.org>
49735
49736         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
49737
49738 2008-12-10  Jim Meyering  <meyering@redhat.com>
49739
49740         gl_ASSERT: don't say assertions are disabled when they're not
49741         * m4/assert.m4 (gl_ASSERT): Do not make configure report
49742         "checking whether to enable assertions... no", when they are in
49743         fact enabled.  This is solely a bug in the output of configure.
49744         In spite of saying "no", NDEBUG was not defined in that case.
49745         Also, as noted by Eric Blake, leave assertions enabled upon
49746         --enable-assert=INVALID.
49747
49748 2008-12-10  Bruno Haible  <bruno@clisp.org>
49749
49750         Change MODULES.html to refer to POSIX:2008 where possible.
49751         * MODULES.html.sh (POSIX2008_URL): New variable.
49752         (posix_headers): Remove sys/timeb, ucontext.
49753         (posix2001_headers): New variable.
49754         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
49755         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
49756         index, makecontext, mktemp, pthread_attr_getstackaddr,
49757         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
49758         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
49759         (posix2001_functions): New variable.
49760         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
49761         otherwise.
49762
49763 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49764
49765         add missing include to parse-duration.c
49766         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
49767         * modules/parse-duration (Depends-on): Add xalloc.
49768
49769         fix sed script reading maint.mk
49770         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
49771         (syntax-check-rules): Use it.
49772
49773 2008-12-09  Bruno Haible  <bruno@clisp.org>
49774
49775         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
49776         MacOS X 10.4/PowerPC.
49777         Reported by Simon Josefsson.
49778
49779 2008-12-08  Jim Meyering  <meyering@redhat.com>
49780
49781         work around mingw's lack of some S_IF definitions
49782         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
49783         Reported by Simon Josefsson.
49784
49785 2008-12-08  Bruno Haible  <bruno@clisp.org>
49786
49787         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
49788         applied to variables. Needed on MacOS X 10.4/PowerPC.
49789         Reported by Simon Josefsson.
49790
49791 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
49792         and Eric Blake  <ebb9@byu.net>
49793
49794         assert: honor --enable-assert
49795         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
49796         order to honor --enable-assert, rather than treating it as a
49797         synonym for --disable-assert.
49798
49799 2008-12-08  Jim Meyering  <meyering@redhat.com>
49800
49801         * lib/posixtm.c: Remove now-useless declaration of mktime.
49802
49803         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
49804
49805 2008-12-07  Bruno Haible  <bruno@clisp.org>
49806
49807         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
49808         test_once): Mark functions as static.
49809         * tests/test-tls.c (test_tls): Likewise.
49810
49811 2008-12-07  Bruno Haible  <bruno@clisp.org>
49812
49813         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
49814         iconv_register_autodetect.
49815
49816 2008-12-07  Jim Meyering  <meyering@redhat.com>
49817
49818         posixtm.c: avoid a warning
49819         * lib/posixtm.c (posixtime): Don't initialize tm0.
49820         It's no longer needed to placate gcc4's -Wuninitialized,
49821         and the attempt to placate would elicit a new warning.
49822
49823         unicodeio.c: mark unused parameters
49824         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49825         (fallback_failure_callback): Likewise.
49826
49827 2008-12-07  Bruno Haible  <bruno@clisp.org>
49828
49829         * gnulib-tool (func_create_testdir): When building the tests
49830         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
49831         Reported by Simon Josefsson.
49832
49833 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49834
49835         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
49836
49837 2008-12-06  Bruno Haible  <bruno@clisp.org>
49838
49839         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
49840         Suggested by Eric Blake.
49841
49842 2008-12-06  Bruno Haible  <bruno@clisp.org>
49843
49844         Fix a c-stack test failure on MacOS X.
49845         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
49846         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
49847         handler for SIGBUS as well.
49848         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
49849         install a signal handler for SIGBUS as well.
49850         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
49851
49852 2008-12-06  Bruno Haible  <bruno@clisp.org>
49853
49854         Advocacy documentation.
49855         * doc/gnulib-intro.texi (Benefits): New section.
49856         * doc/gnulib.texi: Update.
49857
49858 2008-12-06  Bruno Haible  <bruno@clisp.org>
49859
49860         Document the 'manywarnings' module.
49861         * doc/manywarnings.texi: New file.
49862         * doc/gnulib.texi: Include it.
49863
49864 2008-12-05  Eric Blake  <ebb9@byu.net>
49865
49866         tests: silence some gcc warnings
49867         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
49868         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
49869         type mismatches.
49870
49871 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49872             Bruno Haible  <bruno@clisp.org>
49873
49874         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
49875
49876 2008-11-29  Jim Meyering  <meyering@redhat.com>
49877
49878         unicodeio.c: mark unused parameters
49879         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49880         (fallback_failure_callback): Likewise.
49881
49882         fts: fix a thinko
49883         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
49884         (set_stat_type): Return S_IF*-valued "type" directly.
49885         Prompted by James Youngman's spotting a related bug.
49886         Confirmed by further testing through find.
49887
49888         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
49889         * lib/fts.c (D_TYPE): Define.
49890         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
49891         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
49892         (s_ifmt_shift_bits): New function.
49893         (set_stat_type): New function.
49894         (fts_build): When not calling fts_stat, call set_stat_type
49895         to propagate dirent.d_type info to fts_read caller.
49896         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
49897         fts_statp->st_mode type information may be valid.
49898
49899 2008-11-28  Simon Josefsson  <simon@josefsson.org>
49900
49901         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
49902         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
49903         <sds@gnu.org>.
49904
49905 2008-11-20  Bruno Haible  <bruno@clisp.org>
49906
49907         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
49908         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
49909         INCLUDE_NEXT.
49910         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
49911         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
49912         * modules/math (Makefile.am): Substitute
49913         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
49914         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49915
49916 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
49917             Bruno Haible  <bruno@clisp.org>
49918
49919         * lib/stdint.in.h: Define all type macros so that their expansion is
49920         a single typedef'ed token. Fixes a compilation failure in Boost which
49921         does "using ::int8_t;".
49922
49923 2008-11-18  Simon Josefsson  <simon@josefsson.org>
49924
49925         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
49926         gl_MANYWARN_ALL_GCC.
49927         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
49928         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
49929         * modules/manywarnings: New file.
49930         * MODULES.html.sh: Mention manywarnings module.
49931
49932 2008-11-18  Bruno Haible  <bruno@clisp.org>
49933
49934         * doc/gnulib-tool.texi (Unit tests): New section.
49935
49936 2008-11-18  Simon Josefsson  <simon@josefsson.org>
49937
49938         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
49939         paths like 'lib/po/foo.po'.
49940
49941 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49942
49943         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
49944         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
49945
49946 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49947
49948         * m4/warnings.m4: Use CPPFLAGS to really check whether the
49949         parameter works.
49950
49951 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49952
49953         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
49954
49955 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49956
49957         * modules/parse-duration-tests: New file.
49958         * tests/test-parse-duration.sh: New file.
49959         * tests/test-parse-duration.c: New file.
49960
49961         New module 'parse-duration'.
49962         * lib/parse-duration.h: New file.
49963         * lib/parse-duration.c: New file.
49964         * modules/parse-duration: New file.
49965
49966 2008-11-17  Bruno Haible  <bruno@clisp.org>
49967
49968         * tests/test-select-out.sh: Comment out the first pipe test.
49969         Reported by Simon Josefsson.
49970
49971 2008-11-17  Bruno Haible  <bruno@clisp.org>
49972
49973         * modules/getaddrinfo (Depends-on): Add servent, hostent.
49974         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
49975         gl_HOSTENT.
49976
49977 2008-11-17  Bruno Haible  <bruno@clisp.org>
49978
49979         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
49980         -lnetwork and -lnet. Needed for Haiku and BeOS.
49981
49982 2008-11-16  Bruno Haible  <bruno@clisp.org>
49983
49984         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
49985
49986 2008-11-16  Bruno Haible  <bruno@clisp.org>
49987
49988         Avoid test failure on Haiku.
49989         * tests/test-fsync.c: Include <errno.h>.
49990         (main): Don't require that fsync (0) fails.
49991
49992 2008-11-15  Bruno Haible  <bruno@clisp.org>
49993
49994         New module 'hostent'.
49995         * modules/hostent: New file.
49996         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
49997
49998 2008-11-15  Bruno Haible  <bruno@clisp.org>
49999
50000         New module 'servent'.
50001         * modules/servent: New file.
50002         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50003
50004 2008-11-15  Bruno Haible  <bruno@clisp.org>
50005
50006         Avoid generating same test program with two different rules.
50007         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50008         test-frexp to test-frexp-nolibm.
50009         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50010         test-frexpl to test-frexpl-nolibm.
50011
50012 2008-11-15  Bruno Haible  <bruno@clisp.org>
50013
50014         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50015         $(FREXPL_LIBM).
50016
50017 2008-11-15  Bruno Haible  <bruno@clisp.org>
50018
50019         * lib/netdb.in.h: Activate the definitions also when the system's
50020         <netdb.h> has 'struct addrinfo'.
50021         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50022         EAI_OVERFLOW or AI_NUMERICSERV.
50023         * doc/posix-headers/netdb.texi: Document the problem.
50024
50025 2008-11-15  Bruno Haible  <bruno@clisp.org>
50026
50027         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50028
50029         Make the 'sched' module work on platforms where <sched.h> exists but
50030         is incomplete (such as Haiku).
50031         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50032         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50033         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50034         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50035         HAVE_STRUCT_SCHED_PARAM.
50036         * modules/sched (Depends-on): Add include_next.
50037         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50038         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50039         * doc/posix-headers/sched.texi: Document the issue.
50040
50041 2008-11-13  Jim Meyering  <meyering@redhat.com>
50042
50043         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50044         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50045         test would fail due to the difference in the Report bugs to ...
50046         line.  The expected address is empty, "<>", while the actual
50047         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50048
50049 2008-11-12  Bruno Haible  <bruno@clisp.org>
50050
50051         lstat: don't compile lstat.c on systems lacking lstat
50052         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50053         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50054         Reported by Daniel P. Berrange via Jim Meyering.
50055
50056 2008-11-12  Jim Meyering  <meyering@redhat.com>
50057
50058         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50059
50060 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50061
50062         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50063         instead.
50064
50065 2008-11-12  Bruno Haible  <bruno@clisp.org>
50066
50067         * lib/unicodeio.c: Include unistr.h.
50068         (utf8_wctomb): Remove function.
50069         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50070
50071 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50072
50073         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50074         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50075         <bruno@clisp.org>.
50076         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50077
50078 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50079
50080         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50081         * doc/gnulib.texi: Add section for warnings.
50082
50083 2008-11-11  Bruno Haible  <bruno@clisp.org>
50084
50085         * lib/sockets.h: Add a comment.
50086
50087 2008-11-11  Karl Berry  <karl@gnu.org>
50088
50089         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50090
50091 2008-11-11  Eric Blake  <ebb9@byu.net>
50092
50093         fdl.texi: avoid git symlinks
50094         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
50095
50096 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50097
50098         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
50099
50100 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50101
50102         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
50103         (gl_WARN_ADD): Substitute $2 if literal.
50104
50105 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50106
50107         * m4/warning.m4: Remove.
50108
50109 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50110
50111         * m4/warnings.m4: Almost complete rewrite. :-)
50112
50113 2008-11-10  Simon Josefsson  <simon@josefsson.org>
50114
50115         * modules/warnings: New module.
50116         * m4/warnings.m4: New file.
50117         * MODULES.html.sh: Mention warnings module.
50118         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
50119         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50120
50121 2008-11-10  Eric Blake  <ebb9@byu.net>
50122
50123         fdl.texi: make a symlink to the latest version
50124         * doc/standards.texi: Revert today's earlier change.
50125         * doc/fdl-1.2.texi: Rename from old fdl.texi...
50126         * doc/fdl.texi: ...and replace this with a symlink to the newer
50127         fdl-1.3.texi.
50128
50129 2008-11-10  Bruno Haible  <bruno@clisp.org>
50130
50131         * tests/test-select-fd.c (main): Accept the result file name as fourth
50132         argument.
50133         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
50134         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
50135
50136 2008-11-10  Bruno Haible  <bruno@clisp.org>
50137
50138         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
50139         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
50140         as autoconf-substituted macros.
50141         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
50142         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
50143         gl_NETDB_H_DEFAULTS. Set these variables.
50144         * modules/netdb (Makefile.am): Substitute these variables.
50145
50146 2008-11-10  Eric Blake  <ebb9@byu.net>
50147
50148         standards.texi: include correct file for FDL 1.3
50149         * doc/standards.texi (GNU Free Documentation License): Change
50150         include file to pull in FDL 1.3, not 1.2.
50151
50152         fdl.texi: revert accidental change to license
50153         * doc/fdl.texi: This is FDL 1.2, not 1.3.
50154
50155 2008-11-10  Bruno Haible  <bruno@clisp.org>
50156
50157         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
50158         cross-compiling guesses also when the native compile gives no result.
50159
50160 2008-11-10  Bruno Haible  <bruno@clisp.org>
50161
50162         * lib/spawni.c (__spawni): Force variable into the stack.
50163
50164 2008-11-10  Bruno Haible  <bruno@clisp.org>
50165
50166         Add support for Haiku.
50167         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
50168         glibc and BeOS, but also on Haiku.
50169         * lib/fpurge.c (fpurge): Likewise.
50170         * lib/freadable.c (freadable): Likewise.
50171         * lib/freadahead.c (freadahead): Likewise.
50172         * lib/freading.c (freading): Likewise.
50173         * lib/freadptr.c (freadptr): Likewise.
50174         * lib/freadseek.c (freadptrinc): Likewise.
50175         * lib/fseeko.c (rpl_fseeko): Likewise.
50176         * lib/fseterr.c (fseterr): Likewise.
50177         * lib/fwritable.c (fwritable): Likewise.
50178         * lib/fwriting.c (fwriting): Likewise.
50179         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
50180
50181 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50182
50183         * lib/config.charset: Treat Haiku like BeOS.
50184
50185 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50186
50187         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
50188         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
50189
50190 2008-11-08  Bruno Haible  <bruno@clisp.org>
50191
50192         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
50193         AC_CACHE_CHECK.
50194
50195 2008-11-08  Bruno Haible  <bruno@clisp.org>
50196
50197         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
50198
50199 2008-11-08  Bruno Haible  <bruno@clisp.org>
50200
50201         * tests/test-select-fd.c: New file.
50202         * tests/test-select-in.sh: New file.
50203         * tests/test-select-out.sh: New file.
50204         * tests/test-select-stdin.c: New file.
50205         * modules/select-tests (Files): Add the new files.
50206         (Depends-on): Add gettimeofday.
50207         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
50208         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
50209         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
50210
50211 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
50212             Bruno Haible  <bruno@clisp.org>
50213
50214         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
50215
50216 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
50217
50218         * build-aux/pmccabe2html: Added support for C++ source files.
50219
50220 2008-11-05  Ben Pfaff  <blp@gnu.org>
50221
50222         Fix lib/close.c build on Windows.
50223         * modules/close (Files): Add lib/w32sock.h.
50224
50225 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
50226
50227         Accept Bison's NEWS format.
50228         * build-aux/announce-gen (print_news_deltas): Tweak
50229         $re_prefix.
50230
50231 2008-11-04  Bruno Haible  <bruno@clisp.org>
50232
50233         * modules/random_r (Maintainer): Add glibc.
50234
50235 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50236
50237         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
50238         by karl@freefriends.org (Karl Berry).
50239         * doc/alloca.texi: Likewise.
50240         * doc/c-ctype.texi: Likewise.
50241         * doc/c-strcase.texi: Likewise.
50242         * doc/c-strcaseeq.texi: Likewise.
50243         * doc/c-strcasestr.texi: Likewise.
50244         * doc/c-strstr.texi: Likewise.
50245         * doc/c-strtod.texi: Likewise.
50246         * doc/c-strtold.texi: Likewise.
50247         * doc/ctime.texi: Likewise.
50248         * doc/error.texi: Likewise.
50249         * doc/fdl.texi: Likewise.
50250         * doc/gcd.texi: Likewise.
50251         * doc/getdate.texi: Likewise.
50252         * doc/gnulib-intro.texi: Likewise.
50253         * doc/gnulib-tool.texi: Likewise.
50254         * doc/gnulib.texi: Likewise.
50255         * doc/inet_ntoa.texi: Likewise.
50256         * doc/maintain.texi: Likewise.
50257         * doc/make-stds.texi: Likewise.
50258         * doc/quote.texi: Likewise.
50259         * doc/regexprops-generic.texi: Likewise.
50260         * doc/standards.texi: Likewise.
50261         * doc/verify.texi: Likewise.
50262         * doc/visibility.texi: Likewise.
50263         * doc/gnulib.texi (GNU Free Documentation License): Include
50264         fdl-1.3.texi instead of fdl.texi.
50265
50266 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50267
50268         * doc/fdl-1.3.texi: New file, from
50269         <http://www.gnu.org/licenses/fdl-1.3.texi>.
50270         * modules/fdl-1.3: Add.
50271         * MODULES.html.sh: Add fdl-1.3.
50272
50273 2008-11-03  Bruno Haible  <bruno@clisp.org>
50274
50275         Make determination of absolute name of header file work with AIX xlc.
50276         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
50277         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
50278         preprocessing.
50279         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50280         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50281
50282 2008-11-03  Simon Josefsson  <simon@josefsson.org>
50283
50284         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
50285         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
50286         <ludo@gnu.org>.
50287
50288 2008-11-02  Bruno Haible  <bruno@clisp.org>
50289
50290         Mark 'strpbrk' obsolete.
50291         * modules/strpbrk (Status, Notice): New sections.
50292         * modules/strtok_r (Depends-on): Add strpbrk.
50293
50294 2008-11-02  Bruno Haible  <bruno@clisp.org>
50295
50296         Mark 'strdup' obsolete.
50297         * modules/strdup (Status, Notice): New sections.
50298         * modules/findprog (Depends-on): Add strdup.
50299         * modules/getaddrinfo (Depends-on): Likewise.
50300         * modules/localename (Depends-on): Likewise.
50301         * modules/relocatable-lib (Depends-on): Likewise.
50302         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
50303         * modules/relocatable-prog (Depends-on): Likewise.
50304         * modules/trim (Depends-on): Likewise.
50305         * modules/unictype/gen-ctype (Depends-on): Likewise.
50306         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50307
50308 2008-11-02  Bruno Haible  <bruno@clisp.org>
50309
50310         Mark 'strcspn' obsolete.
50311         * modules/strcspn (Status, Notice): New sections.
50312
50313 2008-11-02  Bruno Haible  <bruno@clisp.org>
50314
50315         Mark 'rmdir' obsolete.
50316         * modules/rmdir (Status, Notice): New sections.
50317         * modules/clean-temp (Depends-on): Add rmdir.
50318         * modules/openat (Depends-on): Likewise.
50319
50320 2008-11-02  Bruno Haible  <bruno@clisp.org>
50321
50322         Mark 'raise' obsolete.
50323         * modules/raise (Status, Notice): New sections.
50324         (Include): Specify <signal.h>.
50325         * modules/stdio (Depends-on): Add raise.
50326         * modules/write (Depends-on): Likewise.
50327
50328 2008-11-02  Bruno Haible  <bruno@clisp.org>
50329
50330         Mark 'memset' obsolete.
50331         * modules/memset (Status, Notice): New sections.
50332
50333 2008-11-02  Bruno Haible  <bruno@clisp.org>
50334
50335         Mark 'memmove' obsolete.
50336         * modules/memmove (Status, Notice): New sections.
50337         * modules/argp (Depends-on): Add memmove.
50338         * modules/argz (Depends-on): Likewise.
50339         * modules/canonicalize (Depends-on): Likewise.
50340         * modules/canonicalize-lgpl (Depends-on): Likewise.
50341         * modules/fts (Depends-on): Likewise.
50342         * modules/getcwd (Depends-on): Likewise.
50343         * modules/human (Depends-on): Likewise.
50344         * modules/regex (Depends-on): Likewise.
50345         * modules/striconveh (Depends-on): Likewise.
50346         * modules/trim (Depends-on): Likewise.
50347         * modules/unistr/u8-move (Depends-on): Likewise.
50348         * modules/unistr/u16-move (Depends-on): Likewise.
50349         * modules/unistr/u32-move (Depends-on): Likewise.
50350
50351 2008-11-02  Bruno Haible  <bruno@clisp.org>
50352
50353         Mark 'memcpy' obsolete.
50354         * modules/memcpy (Status, Notice): New sections.
50355
50356 2008-11-02  Bruno Haible  <bruno@clisp.org>
50357
50358         Mark 'memcmp' obsolete.
50359         * modules/memcmp (Status, Notice): New sections.
50360         * modules/argmatch (Depends-on): Add memchr.
50361         * modules/backupfile (Depends-on): Likewise.
50362         * modules/c-strcasestr (Depends-on): Likewise.
50363         * modules/crypto/des (Depends-on): Likewise.
50364         * modules/csharpcomp (Depends-on): Likewise.
50365         * modules/fnmatch (Depends-on): Likewise.
50366         * modules/git-merge-changelog (Depends-on): Likewise.
50367         * modules/isnand (Depends-on): Likewise.
50368         * modules/isnand-nolibm (Depends-on): Likewise.
50369         * modules/isnanf (Depends-on): Likewise.
50370         * modules/isnanf-nolibm (Depends-on): Likewise.
50371         * modules/isnanl (Depends-on): Likewise.
50372         * modules/isnanl-nolibm (Depends-on): Likewise.
50373         * modules/mbchar (Depends-on): Likewise.
50374         * modules/memcoll (Depends-on): Likewise.
50375         * modules/quotearg (Depends-on): Likewise.
50376         * modules/regex (Depends-on): Likewise.
50377         * modules/relocatable-prog (Depends-on): Likewise.
50378         * modules/same (Depends-on): Likewise.
50379         * modules/signbit (Depends-on): Likewise.
50380         * modules/strcasestr-simple (Depends-on): Likewise.
50381         * modules/unictype/gen-ctype (Depends-on): Likewise.
50382         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50383         * modules/uniname/uniname (Depends-on): Likewise.
50384         * modules/unistr/u8-cmp (Depends-on): Likewise.
50385
50386 2008-11-02  Bruno Haible  <bruno@clisp.org>
50387
50388         Mark 'memchr' obsolete.
50389         * modules/memchr (Status, Notice): New sections.
50390         * modules/argp (Depends-on): Add memchr.
50391         * modules/base64 (Depends-on): Likewise.
50392         * modules/c-strcasestr (Depends-on): Likewise.
50393         * modules/chdir-long (Depends-on): Likewise.
50394         * modules/fnmatch (Depends-on): Likewise.
50395         * modules/getsubopt (Depends-on): Likewise.
50396         * modules/git-merge-changelog (Depends-on): Likewise.
50397         * modules/glob (Depends-on): Likewise.
50398         * modules/strcasestr-simple (Depends-on): Likewise.
50399         * modules/strnlen (Depends-on): Likewise.
50400
50401 2008-11-02  Bruno Haible  <bruno@clisp.org>
50402
50403         Mark 'atexit' obsolete.
50404         * modules/atexit (Status, Notice): New sections.
50405         * modules/chdir-long (Depends-on): Add atexit.
50406         * modules/wait-process (Depends-on): Likewise.
50407
50408 2008-11-02  Bruno Haible  <bruno@clisp.org>
50409
50410         * gnulib-tool: New option --with-obsolete.
50411         (func_usage): Document it.
50412         (func_modules_transitive_closure): Drop obsolete dependencies if
50413         incobsolete is not true.
50414         (func_import): Read and save the incobsolete variable to the cache.
50415
50416 2008-11-02  Bruno Haible  <bruno@clisp.org>
50417
50418         * modules/TEMPLATE-EXTENDED: New field 'Status'.
50419         * gnulib-tool: New option --extract-status.
50420         (func_usage): Document it.
50421         (sed_extract_prog): Recognize it.
50422         (func_get_status): New function.
50423
50424 2008-10-30  Simon Josefsson  <simon@josefsson.org>
50425
50426         * modules/sockets (License): Change from LGPL to LGPLv2+.
50427
50428 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50429
50430         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
50431
50432 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50433
50434         * MODULES.html.sh (Support for systems lacking POSIX:2001):
50435         Mention times and sys_times.
50436         * modules/sys_times, modules/sys_times-tests: New modules.
50437         * modules/times, modules/times-tests: Likewise
50438         * m4/sys_times_h.m4: New file.
50439         * lib/sys_times.in.h: Likewise
50440         * lib/times.c: Likewise.
50441         * tests/test-sys_times.c: Likewise.
50442         * tests/test-times.c: Likewise.
50443         * doc/posix-headers/sys_times.texi: Update.
50444         * doc/posix-functions/times.texi: Update.
50445
50446 2008-10-28  Jim Meyering  <meyering@redhat.com>
50447
50448         * modules/tempname (Depends-on): Add lstat.
50449
50450         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
50451
50452 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50453
50454         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
50455         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
50456         using idiom used elsewhere in gnulib.
50457
50458 2008-10-27  Jim Meyering  <meyering@redhat.com>
50459
50460         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
50461
50462 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50463
50464         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
50465         TESTS_ENVIRONMENT, for shell scripts that needs to call built
50466         programs.
50467         * tests/test-argp-2.sh: Use $EXEEXT when needed.
50468
50469 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50470
50471         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
50472
50473 2008-10-27  Bruno Haible  <bruno@clisp.org>
50474
50475         * tests/test-lstat.c: Include <stdio.h>.
50476
50477 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50478
50479         * modules/lstat-tests: New module.
50480         * tests/test-lstat.c: New file.
50481
50482 2008-10-26  Jim Meyering  <meyering@redhat.com>
50483
50484         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
50485
50486 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50487             Bruno Haible  <bruno@clisp.org>
50488
50489         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
50490         * modules/configmake (Include): Add a note that the include must come
50491         after all system headers.
50492         * lib/javaversion.c: Include configmake.h after all other includes.
50493
50494 2008-10-26  Bruno Haible  <bruno@clisp.org>
50495
50496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
50497         HAVE_STRUCT_RANDOM_DATA to 1.
50498         (gl_STDLIB_H): Simplify.
50499
50500 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50501
50502         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
50503         substitute HAVE_STRUCT_RANDOM_DATA.
50504         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
50505         random_data.
50506         * modules/stdlib (Makefile.am): Substitute
50507         HAVE_STRUCT_RANDOM_DATA.
50508
50509 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50510
50511         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
50512         * doc/gnulib-intro.texi (Copyright): Likewise.
50513
50514 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50515
50516         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
50517         findings.
50518
50519 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
50520             Bruno Haible  <bruno@clisp.org>
50521
50522         * lib/unistd.in.h: Include <winsock2.h>.
50523         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
50524         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
50525         Provide dummy declarations.
50526         (gethostname): Override.
50527         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
50528         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
50529         gl_PREREQ_SYS_H_WINSOCK2.
50530         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
50531         * doc/posix-functions/gethostname.texi: More details.
50532
50533 2008-10-25  Bruno Haible  <bruno@clisp.org>
50534
50535         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50536         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
50537         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
50538
50539         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
50540         here ...
50541         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
50542         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
50543         gl_UNISTD_H_DEFAULTS.
50544
50545 2008-10-25  Eric Blake  <ebb9@byu.net>
50546
50547         signbit: avoid spurious compiler failure
50548         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
50549         declarations inside function.
50550
50551 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50552             Bruno Haible  <bruno@clisp.org>
50553
50554         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
50555         * modules/random_r (Depends-on): Add stdint.
50556
50557 2008-10-24  Bruno Haible  <bruno@clisp.org>
50558
50559         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
50560         Eggert.
50561         * modules/strerror (License): Likewise.
50562
50563 2008-10-24  Jim Meyering  <meyering@redhat.com>
50564
50565         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
50566         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
50567
50568 2008-10-24  Eric Blake  <ebb9@byu.net>
50569
50570         getgroups: fix compilation when getgroups is available
50571         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
50572         but with <config.h> override of getgroups disabled.
50573
50574 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50575
50576         * doc/gnulib.texi (Header files): Add note about C++ problems.
50577         Explained by Bruno Haible <bruno@clisp.org>.
50578
50579 2008-10-23  Bruno Haible  <bruno@clisp.org>
50580
50581         Define a dummy SA_NODEFER macro on Interix.
50582         * lib/signal.in.h (SA_NODEFER): Define fallback.
50583         Reported by Aleksey Cheusov <cheusov@tut.by> via
50584         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
50585
50586 2008-10-23  Bruno Haible  <bruno@clisp.org>
50587
50588         * modules/freadahead (License): Change to LGPLv2+.
50589         Suggested by Simon Josefsson.
50590
50591 2008-10-23  Jim Meyering  <meyering@redhat.com>
50592
50593         random_r: new module
50594         * modules/random_r: New file.
50595         * m4/random_r.m4: New file.
50596         * lib/random_r.c: New file, from glibc.
50597         * modules/random_r-tests: New file.
50598         * tests/test-random_r.c: New file.
50599         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
50600          Declare.
50601         (RAND_MAX): Define.
50602         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
50603         * modules/stdlib: Substitute them, too.
50604         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
50605         * doc/glibc-functions/initstate_r.texi: Mention the new module.
50606         * doc/glibc-functions/random_r.texi: Likewise.
50607         * doc/glibc-functions/setstate_r.texi: Likewise.
50608         * doc/glibc-functions/srandom_r.texi: Likewise.
50609         * config/srclist.txt: Mention it.
50610
50611 2008-10-23  David Lutterkort  <lutter@redhat.com>
50612
50613         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
50614         link requirement
50615
50616 2008-10-23  Jim Meyering  <meyering@redhat.com>
50617
50618         selinux-h: mark parameters of stub functions as intentionally unused
50619         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
50620         * lib/se-context.in.h: Likewise.
50621
50622 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50623
50624         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
50625
50626 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50627
50628         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
50629
50630 2008-10-22  Eric Blake  <ebb9@byu.net>
50631
50632         glthread/thread: avoid compiler warning
50633         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
50634         Add unreachable abort to silence compiler.
50635
50636 2008-10-22  Eric Blake  <ebb9@byu.net>
50637
50638         netdb: also supply struct addrinfo for cygwin 1.5.x
50639         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
50640         older cygwin.
50641         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
50642         cygwin.
50643         * doc/posix-headers/netdb.texi (netdb.h): Document this.
50644
50645 2008-10-22  Bruno Haible  <bruno@clisp.org>
50646
50647         * users.txt: Update entry about pspp.
50648
50649 2008-10-21  Bruno Haible  <bruno@clisp.org>
50650
50651         Simplification.
50652         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
50653         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
50654
50655         Simplification.
50656         * lib/ioctl.c (ioctl): Don't undefine.
50657         * lib/socket.c (socket): Don't undefine.
50658
50659         Remove unused module indicator macros.
50660         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
50661         GNULIB_$1 as a C macro.
50662
50663         * doc/posix-functions/close.texi: Undo last change.
50664         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
50665         Windows platforms.
50666
50667 2008-10-21  Bruno Haible  <bruno@clisp.org>
50668
50669         Add gethostname() declaration to <unistd.h>.
50670         * lib/unistd.in.h (gethostname): New declaration.
50671         * lib/gethostname.c: Include <unistd.h>.
50672         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
50673         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
50674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
50675         and HAVE_GETHOSTNAME.
50676         * modules/gethostname (Depends-on): Add unistd.
50677         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50678         (Include): Specify <unistd.h>.
50679         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
50680         HAVE_GETHOSTNAME.
50681         * tests/test-gethostname.c: Include <unistd.h> first.
50682
50683 2008-10-21  Bruno Haible  <bruno@clisp.org>
50684
50685         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
50686         * modules/select-tests (Depends-on): Likewise.
50687         Reported by Simon Josefsson.
50688
50689 2008-10-21  Simon Josefsson  <simon@josefsson.org>
50690
50691         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
50692         * lib/accept.c: New file, based on winsock.c.
50693         * lib/bind.c: New file, based on winsock.c.
50694         * lib/connect.c: New file, based on winsock.c.
50695         * lib/getpeername.c: New file, based on winsock.c.
50696         * lib/getsockname.c: New file, based on winsock.c.
50697         * lib/getsockopt.c: New file, based on winsock.c.
50698         * lib/ioctl.c: New file, based on winsock.c.
50699         * lib/listen.c: New file, based on winsock.c.
50700         * lib/recv.c: New file, based on winsock.c.
50701         * lib/recvfrom.c: New file, based on winsock.c.
50702         * lib/send.c: New file, based on winsock.c.
50703         * lib/sendto.c: New file, based on winsock.c.
50704         * lib/setsockopt.c: New file, based on winsock.c.
50705         * lib/shutdown.c: New file, based on winsock.c.
50706         * lib/socket.c: New file, based on winsock.c.
50707         * lib/w32sock.h: New file, based on winsock.c.
50708         * lib/winsock.c: Remove file.
50709         * modules/accept: Likewise.
50710         * modules/bind: Likewise.
50711         * modules/connect: Likewise.
50712         * modules/getpeername: Likewise.
50713         * modules/getsockname: Likewise.
50714         * modules/getsockopt: Likewise.
50715         * modules/ioctl: Likewise.
50716         * modules/listen: Likewise.
50717         * modules/recv: Likewise.
50718         * modules/recvfrom: Likewise.
50719         * modules/send: Likewise.
50720         * modules/sendto: Likewise.
50721         * modules/setsockopt: Likewise.
50722         * modules/shutdown: Likewise.
50723         * modules/socket: Use socket.c instead of winsock.c.
50724         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
50725         * doc/posix-functions/accept.texi: Doc fix.
50726         * doc/posix-functions/bind.texi: Doc fix.
50727         * doc/posix-functions/close.texi: Doc fix.
50728         * doc/posix-functions/connect.texi: Doc fix.
50729         * doc/posix-functions/getpeername.texi: Doc fix.
50730         * doc/posix-functions/getsockname.texi: Doc fix.
50731         * doc/posix-functions/getsockopt.texi: Doc fix.
50732         * doc/posix-functions/ioctl.texi: Doc fix.
50733         * doc/posix-functions/listen.texi: Doc fix.
50734         * doc/posix-functions/recv.texi: Doc fix.
50735         * doc/posix-functions/recvfrom.texi: Doc fix.
50736         * doc/posix-functions/send.texi: Doc fix.
50737         * doc/posix-functions/sendto.texi: Doc fix.
50738         * doc/posix-functions/setsockopt.texi: Doc fix.
50739         * doc/posix-functions/shutdown.texi: Doc fix.
50740         * doc/posix-functions/socket.texi: Doc fix.
50741
50742 2008-10-20  Bruno Haible  <bruno@clisp.org>
50743
50744         Take into account the role of SIGABRT_COMPAT on Windows 2008.
50745         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
50746         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
50747         as an alias for SIGABRT.
50748         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
50749         (sigaction): Map it to SIGABRT.
50750         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
50751
50752 2008-10-20  Bruno Haible  <bruno@clisp.org>
50753
50754         * lib/fts.c: Don't include lstat.h.
50755         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
50756
50757         Move the lstat() declaration to <sys/stat.h>.
50758         * lib/lstat.h: Remove file.
50759         * lib/sys_stat.in.h: Add special invocation convention.
50760         (lstat): New declaration.
50761         * lib/lstat.c (orig_lstat): New function.
50762         (rpl_lstat): Use orig_lstat instead of lstat.
50763         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
50764         AC_C_INLINE. Set REPLACE_LSTAT.
50765         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
50766         and REPLACE_LSTAT.
50767         * modules/lstat (Files): Remove lib/lstat.h.
50768         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50769         (Include): Specify <sys/stat.h> instead of lstat.h.
50770         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
50771         REPLACE_LSTAT.
50772         * NEWS: Mention the change.
50773
50774 2008-10-20  Bruno Haible  <bruno@clisp.org>
50775
50776         * modules/posix_spawn-tests: New file.
50777         * tests/test-posix_spawn3.c: New file.
50778
50779 2008-10-20  Bruno Haible  <bruno@clisp.org>
50780
50781         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
50782         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50783         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
50784         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50785         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
50786
50787 2008-10-20  Bruno Haible  <bruno@clisp.org>
50788
50789         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
50790         of posix_spawn on AIX 5.3.
50791
50792 2008-10-20  Bruno Haible  <bruno@clisp.org>
50793
50794         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
50795
50796 2008-10-20  Bruno Haible  <bruno@clisp.org>
50797
50798         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
50799         of AC_LANG_PROGRAM.
50800
50801 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50802
50803         * lib/netdb.in.h: Don't define GNU specific constants until they
50804         are supported or needed.  Reported by Bruno Haible
50805         <bruno@clisp.org>.
50806
50807 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50808
50809         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
50810
50811 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50812
50813         * lib/getaddrinfo.h: Remove file.
50814         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
50815         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
50816         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
50817         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
50818         * modules/netdb: Substitute GNULIB_GETADDRINFO.
50819         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
50820         * tests/test-getaddrinfo.c: Likewise.
50821         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
50822         * NEWS: Mention change.
50823
50824 2008-10-19  Bruno Haible  <bruno@clisp.org>
50825
50826         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
50827
50828 2008-10-19  Bruno Haible  <bruno@clisp.org>
50829
50830         * lib/wait-process.c: Include simply <sys/wait.h>.
50831         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
50832         WIFSTOPPED): Remove fallback definitions.
50833         * modules/wait-process (Depends-on): Add sys_wait.
50834
50835         New module 'sys_wait'.
50836         * modules/sys_wait: New file.
50837         * lib/sys_wait.in.h: New file, partially copied from
50838         lib/wait-process.c.
50839         * m4/sys_wait_h.m4: New file.
50840         * doc/posix-headers/sys_wait.texi: Mention the new module.
50841
50842 2008-10-19  Bruno Haible  <bruno@clisp.org>
50843
50844         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
50845
50846 2008-10-19  Bruno Haible  <bruno@clisp.org>
50847
50848         Assume that waitpid() fills an 'int' status, not a 'union wait'.
50849         * lib/wait-process.c (WAIT_T): Remove type.
50850         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
50851         (wait_subprocess): Update.
50852
50853 2008-10-19  Bruno Haible  <bruno@clisp.org>
50854
50855         New module 'atoll'.
50856         * modules/atoll: New file.
50857         * lib/stdlib.in.h (atoll): New declaration.
50858         * lib/atoll.c: New file, from glibc with modifications.
50859         * m4/atoll.m4: New file.
50860         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
50861         HAVE_ATOLL.
50862         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
50863         * doc/posix-functions/atoll.texi: Mention the new module.
50864
50865 2008-10-19  Bruno Haible  <bruno@clisp.org>
50866
50867         Add strtoull() declaration to <stdlib.h>.
50868         * lib/stdlib.in.h (strtoull): New declaration.
50869         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50870         Set HAVE_STRTOULL.
50871         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
50872         HAVE_STRTOULL.
50873         * modules/strtoull (Depends-on): Add stdlib.
50874         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50875         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
50876         HAVE_STRTOULL.
50877
50878 2008-10-19  Bruno Haible  <bruno@clisp.org>
50879
50880         Add strtoll() declaration to <stdlib.h>.
50881         * lib/stdlib.in.h (strtoll): New declaration.
50882         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50883         Set HAVE_STRTOLL.
50884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
50885         HAVE_STRTOLL.
50886         * modules/strtoll (Depends-on): Add stdlib.
50887         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50888         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
50889
50890 2008-10-19  Bruno Haible  <bruno@clisp.org>
50891
50892         * modules/bcopy (Depends-on): Add strings.
50893         (Include): Specify <strings.h>.
50894
50895 2008-10-19  Bruno Haible  <bruno@clisp.org>
50896
50897         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
50898
50899 2008-10-19  Bruno Haible  <bruno@clisp.org>
50900
50901         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
50902         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
50903         mingw.
50904
50905 2008-10-19  Bruno Haible  <bruno@clisp.org>
50906
50907         * lib/atanl.c: Don't include isnanl.h.
50908         * lib/cosl.c: Likewise.
50909         * lib/ldexpl.c: Likewise.
50910         * lib/logl.c: Likewise.
50911         * lib/sinl.c: Likewise.
50912         * lib/sqrtl.c: Likewise.
50913         * lib/tanl.c: Likewise.
50914
50915         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
50916         * lib/isnanf.h: Remove file.
50917         * lib/isnand.h: Remove file.
50918         * lib/isnanl.h: Remove file.
50919         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
50920         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
50921         macros.
50922         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
50923         HAVE_ISNANF, don't define it as a C macro.
50924         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
50925         HAVE_ISNAND, don't define it as a C macro.
50926         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
50927         HAVE_ISNANL, don't define it as a C macro.
50928         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
50929         HAVE_ISNAN[FDL].
50930         * modules/isnanf (Files): Remove lib/isnanf.h.
50931         (Depends-on): Add math.
50932         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50933         (Include): Specify <math.h> instead of isnanf.h.
50934         * modules/isnand (Files): Remove lib/isnand.h.
50935         (Depends-on): Add math.
50936         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50937         (Include): Specify <math.h> instead of isnand.h.
50938         * modules/isnanl (Files): Remove lib/isnanl.h.
50939         (Depends-on): Add math.
50940         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50941         (Include): Specify <math.h> instead of isnanl.h.
50942         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
50943         HAVE_ISNAN[FDL].
50944         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
50945         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
50946         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
50947         * NEWS: Mention the change.
50948
50949 2008-10-18  Bruno Haible  <bruno@clisp.org>
50950
50951         Add getusershell(), setusershell(), endusershell() declarations to
50952         <unistd.h>.
50953         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
50954         declarations.
50955         * lib/getusershell.c: Include unistd.h.
50956         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
50957         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
50958         HAVE_GETUSERSHELL.
50959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
50960         and HAVE_GETUSERSHELL.
50961         * modules/getusershell (Depends-on): Add unistd, extensions.
50962         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50963         (Include): Specify <unistd.h>.
50964         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
50965         HAVE_GETUSERSHELL.
50966
50967 2008-10-18  Bruno Haible  <bruno@clisp.org>
50968
50969         Add a getloadavg() declaration to <stdlib.h>.
50970         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
50971         getloadavg declaration.
50972         (getloadavg): New declaration.
50973         * lib/getloadavg.c: Include <stdlib.h> first.
50974         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
50975         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
50976         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
50977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
50978         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
50979         * modules/getloadavg (Depends-on): Add stdlib, extensions.
50980         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50981         (Include): Specify <stdlib.h>.
50982         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
50983         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
50984
50985 2008-10-18  Bruno Haible  <bruno@clisp.org>
50986
50987         * lib/dirchownmod.c: Don't include lchmod.h.
50988
50989         Move the lchmod() declaration to <sys/stat.h>.
50990         * lib/lchmod.h: Remove file.
50991         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
50992         (lchmod): New declaration, moved here from lib/lchown.h.
50993         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
50994         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
50995         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
50996         and HAVE_LCHMOD.
50997         * modules/lchmod (Files): Remove lib/lchmod.h.
50998         (Depends-on): Add sys_stat, extensions.
50999         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51000         (Include): Specify <sys/stat.h> instead of lchmod.h.
51001         * modules/sys_stat (Depends-on): Add link-warning.
51002         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51003         definition of GL_LINK_WARNING.
51004         * NEWS: Mention the change.
51005
51006 2008-10-18  Bruno Haible  <bruno@clisp.org>
51007
51008         * lib/fchdir.c: Don't include dirfd.h.
51009         * lib/fts.c: Likewise.
51010         * lib/getcwd.c: Likewise.
51011         * lib/glob.c: Likewise.
51012
51013         Move the dirfd() declaration to <dirent.h>.
51014         * lib/dirfd.h: Remove file.
51015         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51016         (dirfd): New declaration.
51017         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51018         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51019         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51020         HAVE_DECL_DIRFD.
51021         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51022         HAVE_DECL_DIRFD.
51023         * modules/dirfd (Files): Remove lib/dirfd.h.
51024         (Depends-on): Add dirent, extensions.
51025         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51026         (Include): Specify <dirent.h> instead of dirfd.h.
51027         * modules/dirent (Depends-on): Add link-warning.
51028         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51029         definition of GL_LINK_WARNING.
51030         * NEWS: Mention the change.
51031
51032 2008-10-18  Bruno Haible  <bruno@clisp.org>
51033
51034         Move the euidaccess() declaration to <unistd.h>.
51035         * lib/euidaccess.h: Remove file.
51036         * lib/unistd.in.h (euidaccess): New declaration.
51037         * lib/euidaccess.c: Don't include euidaccess.h.
51038         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51039         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51040         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51041         and HAVE_EUIDACCESS.
51042         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51043         (Depends-on): Add unistd.
51044         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51045         (Include): Specify <unistd.h> instead of euidaccess.h.
51046         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51047         HAVE_EUIDACCESS.
51048         * NEWS: Mention the change.
51049
51050 2008-10-18  Bruno Haible  <bruno@clisp.org>
51051
51052         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51053
51054         Move the getdomainname() declaration to <unistd.h>.
51055         * lib/getdomainname.h: Remove file.
51056         * lib/unistd.in.h (getdomainname): New declaration.
51057         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51058         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51059         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51060         HAVE_GETDOMAINNAME.
51061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51062         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51063         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51064         (Depends-on): Add unistd, extensions.
51065         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51066         (Includes): Specify <unistd.h> instead of getdomainname.h.
51067         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51068         HAVE_GETDOMAINNAME.
51069         * NEWS: Mention the change.
51070
51071 2008-10-18  Bruno Haible  <bruno@clisp.org>
51072
51073         * modules/dirent: New file.
51074         * m4/dirent_h.m4: New file.
51075         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51076         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51077         * modules/fchdir (Files): Remove lib/dirent.in.h.
51078         (Depends-on): Add dirent.
51079         (Makefile.am): Move rules to modules/dirent.
51080         * doc/posix-headers/dirent.texi: Mention the new module.
51081
51082 2008-10-18  Bruno Haible  <bruno@clisp.org>
51083
51084         Avoid -Wunused-parameter warnings in public gnulib header files.
51085         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51086         macro.
51087         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51088
51089 2008-10-18  Bruno Haible  <bruno@clisp.org>
51090
51091         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51092         * doc/glibc-functions/error.texi: Mention the module 'error'.
51093         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
51094         * doc/glibc-functions/getdomainname.texi: Mention the module
51095         'getdomainname'.
51096         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
51097         * doc/glibc-functions/getpagesize.texi: Mention the module
51098         'getpagesize'.
51099         * doc/glibc-functions/getusershell.texi: Mention the module
51100         'getusershell'.
51101         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
51102         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
51103         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
51104         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
51105         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
51106         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
51107         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
51108         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
51109         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
51110         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
51111         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
51112         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
51113         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
51114         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
51115
51116 2008-10-17  Bruno Haible  <bruno@clisp.org>
51117
51118         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
51119         HP-UX and IRIX, use -0.0L.
51120         * tests/test-ceill.c (minus_zero): Likewise.
51121         * tests/test-floorl.c (minus_zero): Likewise.
51122         * tests/test-frexpl.c (minus_zero): Likewise.
51123         * tests/test-isnan.c (minus_zerol): Likewise.
51124         * tests/test-isnanl.h (minus_zero): Likewise.
51125         * tests/test-ldexpl.c (minus_zero): Likewise.
51126         * tests/test-roundl.c (minus_zero): Likewise.
51127         * tests/test-signbit.c (minus_zerol): Likewise.
51128         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51129         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51130         * tests/test-truncl.c (minus_zero): Likewise.
51131         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51132         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51133         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
51134         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51135
51136 2008-10-17  Bruno Haible  <bruno@clisp.org>
51137
51138         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
51139         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
51140         that it gets activated only for gcc >= 3.0.
51141         * lib/dirent.in.h: Likewise.
51142         * lib/errno.in.h: Likewise.
51143         * lib/fcntl.in.h: Likewise.
51144         * lib/float.in.h: Likewise.
51145         * lib/iconv.in.h: Likewise.
51146         * lib/inttypes.in.h: Likewise.
51147         * lib/locale.in.h: Likewise.
51148         * lib/math.in.h: Likewise.
51149         * lib/netdb.in.h: Likewise.
51150         * lib/netinet_in.in.h: Likewise.
51151         * lib/search.in.h: Likewise.
51152         * lib/signal.in.h: Likewise.
51153         * lib/spawn.in.h: Likewise.
51154         * lib/stdarg.in.h: Likewise.
51155         * lib/stdint.in.h: Likewise.
51156         * lib/stdio.in.h: Likewise.
51157         * lib/stdlib.in.h: Likewise.
51158         * lib/string.in.h: Likewise.
51159         * lib/strings.in.h: Likewise.
51160         * lib/sys_file.in.h: Likewise.
51161         * lib/sys_ioctl.in.h: Likewise.
51162         * lib/sys_select.in.h: Likewise.
51163         * lib/sys_socket.in.h: Likewise.
51164         * lib/sys_stat.in.h: Likewise.
51165         * lib/sys_time.in.h: Likewise.
51166         * lib/sysexits.in.h: Likewise.
51167         * lib/time.in.h: Likewise.
51168         * lib/unistd.in.h: Likewise.
51169         * lib/wchar.in.h: Likewise.
51170         * lib/wctype.in.h: Likewise.
51171         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51172
51173 2008-10-17  Jim Meyering  <meyering@redhat.com>
51174
51175         ignore-value: don't depend on inline module
51176         * modules/ignore-value (Depends-on): Remove 'inline'.
51177         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
51178         Suggestion from Bruno Haible.
51179
51180 2008-10-17  Bruno Haible  <bruno@clisp.org>
51181
51182         New implementation of condition variables for Win32.
51183         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
51184         (gl_linked_waitqueue_t): New type.
51185         (gl_cond_t): Use it.
51186         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
51187         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
51188         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
51189         (glthread_cond_init_func, glthread_cond_wait_func,
51190         glthread_cond_timedwait_func, glthread_cond_signal_func,
51191         glthread_cond_broadcast_func, glthread_cond_destroy_func):
51192         Reimplemented on the basis of gl_linked_waitqueue_t.
51193         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
51194         gl_waitqueue_t.
51195         (gl_rwlock_t): Update.
51196         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
51197
51198 2008-10-17  Simon Josefsson  <simon@josefsson.org>
51199
51200         * modules/recvfrom (Depends-on): Add dependency on getpeername.
51201         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51202
51203 2008-10-17  Jim Meyering  <meyering@redhat.com>
51204
51205         ignore-value: new module
51206         * modules/ignore-value: New file.
51207         * lib/ignore-value.h: New file.
51208         * MODULES.html.sh (Compiler warning management): New section,
51209         just for this module.  More to come.
51210
51211 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51212
51213         open-safer.c: avoid 'signed and unsigned in conditional...' warning
51214         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
51215         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
51216
51217 2008-10-16  Jim Meyering  <meyering@redhat.com>
51218
51219         openat-die.c: avoid 'no previous prototype' warning
51220         * lib/openat-die.c: Include "openat.h".
51221         Reported by Reuben Thomas <rrt@sc3d.org>.
51222
51223 2008-10-16  Simon Josefsson  <simon@josefsson.org>
51224
51225         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
51226         * lib/netdb.in.h: Fix typo.
51227         Reported by Bruno Haible  <bruno@clisp.org>
51228
51229         * lib/netdb.in.h: Include sys/socket.h for platforms without
51230         netdb.h, to get structures like hostent on MinGW.
51231         * modules/netdb (Depends-on): Add sys_socket.
51232
51233 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51234
51235         * modules/netdb, modules/netdb-tests: New file.
51236         * m4/netdb_h.m4: New file.
51237         * lib/netdb.in.h: Add, currently just an empty file pending
51238         definitions.
51239         * tests/test-netdb.c: New file.
51240         * doc/posix-headers/netdb.texi: Mention that we replace it if
51241         needed.
51242         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51243         netdb.
51244
51245 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51246
51247         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
51248         with code.
51249
51250 2008-10-13  Bruno Haible  <bruno@clisp.org>
51251
51252         * lib/glthread/cond.c (glthread_cond_wait_func,
51253         glthread_cond_timedwait_func): Add a comment.
51254
51255 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51256
51257         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
51258         * tests/test-select.c: Likewise,
51259
51260 2008-10-13  Bruno Haible  <bruno@clisp.org>
51261
51262         * lib/glthread/cond.c (glthread_cond_wait_func,
51263         glthread_cond_timedwait_func): Fix variable name.
51264         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51265
51266 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
51267
51268         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
51269         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
51270         struct sockaddr.sa_len.
51271         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
51272
51273 2008-10-13  Simon Josefsson  <simon@josefsson.org>
51274
51275         * build-aux/pmccabe2html: Add css and css_url parameters.
51276
51277 2008-10-12  Bruno Haible  <bruno@clisp.org>
51278
51279         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
51280         calling aclx_get.
51281         Reported by Rainer Tammer <tammer@tammer.net>.
51282
51283 2008-10-12  Bruno Haible  <bruno@clisp.org>
51284
51285         Use msvcrt aware primitives for creation/termination of Win32 threads.
51286         * lib/glthread/thread.c: Include <process.h>.
51287         (glthread_create_func): Use _beginthreadex instead of CreateThread.
51288         (wrapper_func): Update signature.
51289         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
51290
51291 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51292             Bruno Haible  <bruno@clisp.org>
51293
51294         Provide a Win32 implementation of the 'cond' module.
51295         * lib/glthread/cond.h [USE_WIN32]: New implementation.
51296         * lib/glthread/cond.c (glthread_cond_init_func,
51297         glthread_cond_wait_func, glthread_cond_timedwait_func,
51298         glthread_cond_signal_func, glthread_cond_broadcast_func,
51299         glthread_cond_destroy_func) [USE_WIN32]: New functions.
51300         * modules/cond (Dependencies): Add gettimeofday.
51301
51302 2008-10-11  Bruno Haible  <bruno@clisp.org>
51303
51304         Make sleep work on older versions of mingw.
51305         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
51306         only whether it exists.
51307         * doc/posix-functions/sleep.texi: Mention the problem with older
51308         versions of mingw.
51309
51310 2008-10-11  Bruno Haible  <bruno@clisp.org>
51311
51312         New module 'shutdown'.
51313         * modules/shutdown: New file.
51314         * lib/sys_socket.in.h (shutdown): New declaration.
51315         * lib/winsock.c (shutdown): New function.
51316         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
51317         GNULIB_SHUTDOWN.
51318         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
51319         * doc/posix-functions/shutdown.texi: Document the new module.
51320
51321 2008-10-11  Jim Meyering  <meyering@redhat.com>
51322
51323         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
51324
51325 2008-10-11  Bruno Haible  <bruno@clisp.org>
51326
51327         New module 'fclose'.
51328         * modules/fclose: New file.
51329         * lib/stdio.in.h (fclose): New declaration.
51330         * lib/fclose.c: New file.
51331         * m4/fclose.m4: New file.
51332         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
51333         REPLACE_FCLOSE.
51334         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
51335         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
51336         REPLACE_FCLOSE.
51337         * modules/close (Depends-on): fclose.
51338         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
51339
51340 2008-10-11  Bruno Haible  <bruno@clisp.org>
51341
51342         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
51343         set errno and don't call _close.
51344
51345 2008-10-10  Bruno Haible  <bruno@clisp.org>
51346
51347         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
51348         ACL, not afterwards. Fixes test failure on Cygwin.
51349
51350 2008-10-09  Ben Pfaff  <blp@gnu.org>
51351
51352         * build-aux/announce-gen: Fix gnulib version related part of usage
51353         message.  Die with a useful error message if no tarballs are
51354         found.
51355
51356 2008-10-10  Jim Meyering  <meyering@redhat.com>
51357
51358         bootstrap: use git's --depth=N option only if it's supported
51359         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
51360         recognize the --depth option.  Reported by Pádraig Brady.
51361
51362 2008-10-09  Bruno Haible  <bruno@clisp.org>
51363
51364         New module 'ioctl'.
51365         * modules/ioctl: New file.
51366         * lib/sys_socket.in.h (ioctl): Remove declaration.
51367         * lib/winsock.c: Include <sys/ioctl.h>.
51368         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
51369         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51370         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
51371         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
51372         * doc/posix-functions/ioctl.texi: Mention the new module.
51373
51374 2008-10-09  Bruno Haible  <bruno@clisp.org>
51375
51376         New module 'sys_ioctl'.
51377         * lib/sys_ioctl.in.h: New file.
51378         * m4/sys_ioctl_h.m4: New file.
51379         * modules/sys_ioctl: New file.
51380         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
51381
51382 2008-10-09  Bruno Haible  <bruno@clisp.org>
51383
51384         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
51385         * lib/winsock.c: Include <stdarg.h>.
51386         (rpl_ioctl): Change to second argument 'int' and then varargs.
51387
51388 2008-10-09  Bruno Haible  <bruno@clisp.org>
51389
51390         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
51391         when the sys_socket module is present and the system has <winsock2.h>.
51392
51393 2008-10-09  Bruno Haible  <bruno@clisp.org>
51394
51395         * doc/posix-functions/close.texi: Mention module 'close' instead of
51396         module 'sys_socket'.
51397
51398 2008-10-09  Bruno Haible  <bruno@clisp.org>
51399
51400         * doc/glibc-headers/sys_ioctl.texi: New file.
51401         * doc/gnulib.texi: Include it.
51402
51403 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51404             Bruno Haible  <bruno@clisp.org>
51405
51406         Combine the two replacements of 'close'.
51407         * lib/sys_socket.in.h (close): Define to a reminder to include
51408         <unistd.h>.
51409         (_gl_close_fd_maybe_socket): New declaration.
51410         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
51411         * lib/winsock.c (close): Remove undefinition.
51412         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
51413         needed for the gnulib module 'close'.
51414         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
51415         define to an error symbol or to a warning, if suitable.
51416         * lib/close.c: Include <sys/socket.h>.
51417         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
51418         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
51419         UNISTD_H_HAVE_WINSOCK2_H.
51420         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
51421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51422         UNISTD_H_HAVE_WINSOCK2_H.
51423         * modules/sys_socket (Files): Add m4/unistd_h.m4.
51424         (configure.ac): Set a module indicator.
51425         (Makefile.am): Substitute GNULIB_CLOSE.
51426         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
51427         * modules/poll-tests (Depends-on): Add close.
51428         * modules/select-tests (Depends-on): Likewise.
51429
51430 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51431             Bruno Haible  <bruno@clisp.org>
51432
51433         New module 'close'.
51434         * modules/close: New file.
51435         * lib/unistd.in.h (close): Move declaration out of the
51436         FCHDIR_REPLACEMENT scope.
51437         (_gl_unregister_fd): New declaration.
51438         * lib/close.c: New file.
51439         * lib/fchdir.c (rpl_close): Remove function.
51440         * m4/close.m4: New file.
51441         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51442         close.
51443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
51444         REPLACE_CLOSE.
51445         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
51446         REPLACE_CLOSE.
51447         * modules/fchdir (Depends-on): Add close.
51448
51449 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51450             Bruno Haible  <bruno@clisp.org>
51451
51452         * lib/fcntl.in.h (open): Simplify conditionals.
51453         (_gl_register_fd): New declaration.
51454         * lib/fchdir.c (rpl_open): Remove function.
51455         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
51456         also.
51457         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
51458         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51459         open.
51460
51461 2008-10-09  Jim Meyering  <meyering@redhat.com>
51462
51463         GNUmakefile: use the more name-space-friendly "_version"
51464         * top/GNUmakefile (_dummy): Update.
51465         (_version): Rename from "version".
51466
51467 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51468             Bruno Haible  <bruno@clisp.org>
51469
51470         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
51471         rpl_close.
51472         (_gl_register_fd): New function, extracted from rpl_open.
51473         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
51474         (rpl_open, rpl_opendir): Use _gl_register_fd.
51475
51476 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51477
51478         Fix organization of 'open' replacement.
51479         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
51480         (gl_FUNC_OPEN): Use it.
51481         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
51482
51483 2008-10-08  Bruno Haible  <bruno@clisp.org>
51484
51485         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
51486
51487 2008-10-08  Simon Josefsson  <simon@josefsson.org>
51488
51489         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
51490         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
51491         listen).
51492
51493 2008-10-08  Eric Blake  <ebb9@byu.net>
51494
51495         GNUmakefile: add 'make version' target
51496         * top/GNUmakefile (_curr-ver): Split version update rules...
51497         (version): ...into a target.
51498
51499 2008-10-07  Bruno Haible  <bruno@clisp.org>
51500
51501         Use a more portable replacement expression for -0.0L.
51502         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
51503         instead of -0.0L. Fix m4 quotation.
51504
51505         * tests/test-signbit.c: Include <float.h>.
51506         (minus_zero): New variable.
51507         (test_signbitl): Use minus_zero instead of -zero.
51508         * modules/signbit-tests (Depends-on): Add float.
51509
51510         * tests/test-ceill.c: Include <float.h>.
51511         (zero): Remove variable.
51512         (minus_zero): New variable.
51513         (main): Use minus_zero instead of -zero.
51514         * modules/ceill-tests (Depends-on): Add float.
51515
51516         * tests/test-floorl.c: Include <float.h>.
51517         (zero): Remove variable.
51518         (minus_zero): New variable.
51519         (main): Use minus_zero instead of -zero.
51520         * modules/floorl-tests (Depends-on): Add float.
51521
51522         * tests/test-roundl.c: Include <float.h>.
51523         (zero): Remove variable.
51524         (minus_zero): New variable.
51525         (main): Use minus_zero instead of -zero.
51526         * modules/roundl-tests (Depends-on): Add float.
51527
51528         * tests/test-truncl.c: Include <float.h>.
51529         (zero): Remove variable.
51530         (minus_zero): New variable.
51531         (main): Use minus_zero instead of -zero.
51532         * modules/truncl-tests (Depends-on): Add float.
51533
51534         * tests/test-frexpl.c (zero): Remove variable.
51535         (minus_zero): New variable.
51536         (main): Use minus_zero instead of -zero.
51537         * modules/frexpl-tests (Depends-on): Add float.
51538
51539         * tests/test-isnan.c (zerol): Remove variable.
51540         (minus_zerol): New variable.
51541         (test_long_double): Use minus_zerol instead of -zerol.
51542         * modules/isnan-tests (Depends-on): Add float.
51543
51544         * tests/test-isnanl.h (zero): Remove variable.
51545         (minus_zero): New variable.
51546         (main): Use minus_zero instead of -zero.
51547         * modules/isnanl-nolibm-tests (Depends-on): Add float.
51548         * modules/isnanl-tests (Depends-on): Add float.
51549
51550         * tests/test-ldexpl.c (zero): Remove variable.
51551         (minus_zero): New variable.
51552         (main): Use minus_zero instead of -zero.
51553         * modules/ldexpl-tests (Depends-on): Add float.
51554
51555         * tests/test-snprintf-posix.h (zerol): Remove variable.
51556         (minus_zerol): New variable.
51557         (test_function): Use minus_zerol instead of -zerol.
51558         * modules/snprintf-posix-tests (Depends-on): Add float.
51559         * modules/vsnprintf-posix-tests (Depends-on): Add float.
51560
51561         * tests/test-sprintf-posix.h (zerol): Remove variable.
51562         (minus_zerol): New variable.
51563         (test_function): Use minus_zerol instead of -zerol.
51564         * modules/sprintf-posix-tests (Depends-on): Add float.
51565         * modules/vsprintf-posix-tests (Depends-on): Add float.
51566
51567         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
51568         (minus_zerol): New variable.
51569         (test_function): Use minus_zerol instead of -zerol.
51570         * modules/vasnprintf-posix-tests (Depends-on): Add float.
51571
51572         * tests/test-vasprintf-posix.c (zerol): Remove variable.
51573         (minus_zerol): New variable.
51574         (test_function): Use minus_zerol instead of -zerol.
51575         * modules/vasprintf-posix-tests (Depends-on): Add float.
51576
51577 2008-10-07  Simon Josefsson  <simon@josefsson.org>
51578
51579         * MODULES.html.sh (Support for building documentation): Mention
51580         pmccabe2html.  Sort entries.
51581
51582         Add pmccabe2html module, from gnupdf.
51583         * build-aux/pmccabe.css: New file.
51584         * build-aux/pmccabe2html: New file.
51585         * m4/pmccabe2html.m4: New file.
51586         * modules/pmccabe2html: New file.
51587
51588 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
51589
51590         flock: new module
51591         * MODULES.html.sh: Add to list of modules.
51592         * lib/flock.c: flock implementation for Windows and Unix systems
51593         which have fcntl.
51594         * doc/glibc-functions/flock.texi: Update documentation.
51595         * lib/sys_file.in.h: <sys/file.h> header file.
51596         * m4/flock.m4: M4 macros.
51597         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
51598         * modules/flock: flock module.
51599         * modules/flock-tests: flock tests module.
51600         * modules/sys_file: sys/file.h module.
51601         * tests/test-flock.c: test suite for flock.
51602
51603 2008-10-06  Jim Meyering  <meyering@redhat.com>
51604
51605         bootstrap: check for LT_INIT more portably still ;-)
51606         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
51607         Spotted by Bruno Haible.
51608
51609 2008-10-06  Eric Blake  <ebb9@byu.net>
51610
51611         test-signbit: avoid tripping Irix cc bug on -0.0L
51612         * tests/test-signbit.c (minus_zerol): Delete, and replace with
51613         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
51614         entire testsuite consistent and avoids an Irix 6.2 bug.
51615
51616 2008-10-05  Bruno Haible  <bruno@clisp.org>
51617             Jim Meyering  <jim@meyering.net>
51618
51619         Add an option for ignoring EPIPE during close_stdout.
51620         * lib/closeout.h: Include <stdbool.h>.
51621         (close_stdout_set_ignore_EPIPE): New declaration.
51622         * lib/closeout.c: Include <stdbool.h>.
51623         (ignore_EPIPE): New variable.
51624         (close_stdout_set_ignore_EPIPE): New function.
51625         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
51626         * lib/close-stream.c (close_stream): Mention the possible EPIPE
51627         failure.
51628         * modules/closeout (Depends-on): Add stdbool.
51629
51630 2008-10-05  Bruno Haible  <bruno@clisp.org>
51631
51632         * modules/accept: New file.
51633         * modules/bind: New file.
51634         * modules/connect: New file.
51635         * modules/getpeername: New file.
51636         * modules/getsockname: New file.
51637         * modules/getsockopt: New file.
51638         * modules/listen: New file.
51639         * modules/recv: New file.
51640         * modules/recvfrom: New file.
51641         * modules/send: New file.
51642         * modules/sendto: New file.
51643         * modules/setsockopt: New file.
51644         * modules/socket: New file.
51645         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
51646         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51647         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
51648         the particular module is requested. Add a link warning when the
51649         particular module is not requested.
51650         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
51651         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
51652         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
51653         the particular module is requested.
51654         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
51655         gl_SYS_SOCKET_H_DEFAULTS): New macros.
51656         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
51657         * modules/sys_socket (Depends-on): Add link-warning.
51658         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
51659         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
51660         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
51661         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
51662         GL_LINK_WARNING.
51663         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
51664         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
51665         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
51666         * doc/posix-functions/getpeername.texi: Mention the new module
51667         'getpeername'.
51668         * doc/posix-functions/getsockname.texi: Mention the new module
51669         'getsockname'.
51670         * doc/posix-functions/getsockopt.texi: Mention the new module
51671         'getsockopt'.
51672         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
51673         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
51674         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
51675         * doc/posix-functions/send.texi: Mention the new module 'send'.
51676         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
51677         * doc/posix-functions/setsockopt.texi: Mention the new module
51678         'setsockopt'.
51679         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
51680         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
51681         listen, connect, accept.
51682         * modules/select-tests (Depends-on): Likewise.
51683
51684 2008-10-05  Bruno Haible  <bruno@clisp.org>
51685
51686         * lib/winsock.c (strerror): Remove unused #undef.
51687         (rpl_close): Remove unused local variable.
51688
51689         * modules/sys_socket (Depends-on); Add errno.
51690
51691 2008-10-05  Bruno Haible  <bruno@clisp.org>
51692
51693         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
51694         (select): Add a link warning when the 'select' module is not used.
51695         * modules/sys_select (Depends-on): Add link-warning.
51696         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
51697         Suggested by Paolo Bonzini.
51698
51699 2008-10-05  Jim Meyering  <meyering@redhat.com>
51700
51701         bootstrap: check for LT_INIT more portably
51702         * build-aux/bootstrap: Avoid using grep -E, since it's not
51703         portable enough.  Suggestion from Bruno Haible.
51704
51705 2008-10-05  Bruno Haible  <bruno@clisp.org>
51706
51707         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
51708         as being fixed by gnulib.
51709
51710 2008-10-05  Bruno Haible  <bruno@clisp.org>
51711
51712         * modules/select-tests: New file, mostly copied from
51713         modules/sys_select-tests.
51714         * tests/test-select.c: New file, mostly copied from
51715         tests/test-sys_select.c.
51716         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
51717         * modules/sys_select-tests (Depends-on): Remove all dependencies.
51718         (Makefile.am): Remove test_sys_select_LDADD.
51719
51720         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
51721         to an undefined symbol, for an error message.
51722         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
51723         (gl_SYS_SELECT_H_DEFAULTS): New macro.
51724         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
51725         winsock-select.c here.
51726         * modules/sys_select (Files): Remove lib/winsock-select.c.
51727         (Depends-on): Remove alloca.
51728         (Makefile.am): Substitute GNULIB_SELECT.
51729         * modules/select: New file.
51730         * doc/posix-functions/select.texi: Update.
51731
51732 2008-10-05  Bruno Haible  <bruno@clisp.org>
51733
51734         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
51735         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
51736         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
51737         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
51738         getdtablesize.
51739         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
51740         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
51741
51742 2008-10-05  Bruno Haible  <bruno@clisp.org>
51743
51744         * modules/getdtablesize-tests: New file.
51745         * tests/test-getdtablesize.c: New file.
51746
51747         New module 'getdtablesize'.
51748         * lib/unistd.in.h (getdtablesize): New declaration.
51749         * lib/getdtablesize.c: New file.
51750         * m4/getdtablesize.m4: New file.
51751         * modules/getdtablesize: New file.
51752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51753         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
51754         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
51755         HAVE_GETDTABLESIZE.
51756         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
51757
51758 2008-10-05  Bruno Haible  <bruno@clisp.org>
51759
51760         * modules/sched (Makefile.am): Fix typo.
51761         Reported by Simon Josefsson.
51762
51763 2008-10-05  Jim Meyering  <meyering@redhat.com>
51764
51765         bootstrap: check for LT_INIT, too
51766         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
51767         are deprecated.  Suggestion from Ralf Wildenhues.
51768
51769 2008-10-05  Bruno Haible  <bruno@clisp.org>
51770
51771         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
51772         overriding them by ours.
51773         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
51774
51775 2008-10-05  Jim Meyering  <meyering@redhat.com>
51776
51777         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
51778         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
51779         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
51780
51781 2008-10-04  Bruno Haible  <bruno@clisp.org>
51782
51783         * modules/dup2 (License): Change to LGPLv2+.
51784         * modules/sleep (License): Likewise.
51785         * modules/perror (License): Likewise.
51786         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
51787         Blake.
51788         * modules/signal (License): Likewise.
51789         * modules/sigprocmask (License): Likewise.
51790         * modules/raise (License): Change to LGPLv2+, with approval by Jim
51791         Meyering.
51792
51793 2008-10-04  Bruno Haible  <bruno@clisp.org>
51794
51795         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
51796         Reported by Rainer Tammer <tammer@tammer.net>.
51797
51798 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
51799             Bruno Haible  <bruno@clisp.org>
51800
51801         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
51802         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
51803         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
51804
51805 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
51806
51807         filevercmp: new module
51808         * lib/filevercmp.h: New function filevercmp comparing version strings.
51809         * lib/filevercmp.c: Implementation of filevercmp function.
51810         * modules/filevercmp: Module metadata.
51811         * tests/test-filevercmp.c: Unit test for new module.
51812         * modules/filevercmp-tests: Unit test metadata.
51813         * MODULES.html.sh: Add filevercmp module.
51814
51815 2008-10-03  Bruno Haible  <bruno@clisp.org>
51816
51817         * lib/c-ctype.h: Add comment.
51818         Reported by Jim Meyering.
51819
51820 2008-10-02  Bruno Haible  <bruno@clisp.org>
51821
51822         * modules/posix_spawn-internal (Depends-on): Add 'open'.
51823
51824 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51825
51826         * build-aux/bootstrap: Allow renaming bootstrap, and change the
51827         name of bootstrap.conf accordingly.
51828
51829 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51830
51831         * build-aux/bootstrap: Install git-merge-changelog configuration
51832         items into .gitconfig if needed.
51833
51834 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51835
51836         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
51837         git repository, and initialize/update it accordingly.
51838
51839 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
51840
51841         * modules/fsync-tests: New file.
51842         * tests/test-fsync.c: New file.
51843
51844         New module 'fsync'.
51845         * lib/fsync.c: New file.
51846         * m4/fsync.m4: New file.
51847         * modules/fsync: New file.
51848         * lib/unistd.in.h (fsync): New declaration.
51849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
51850         GNULIB_FSYNC and HAVE_FSYNC.
51851         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
51852         * MODULES.html.sh (posix_functions): Add fsync.
51853         * doc/posix-functions/fsync.texi: Mention the new module.
51854
51855 2008-10-02  Jim Meyering  <meyering@redhat.com>
51856
51857         fts.c: sync with similar code from coreutils' remove.c
51858         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
51859         Guard also with "#if defined __linux__", since for now at least,
51860         this code is Linux-kernel-specific.
51861
51862 2008-10-02  Jim Meyering  <meyering@redhat.com>
51863
51864         fts: bug fixes
51865         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
51866         Include <sys/vfs.h>, not <sys/statfs.h>.
51867
51868         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
51869         Include <sys/vfs.h>, not <sys/statfs.h>.
51870
51871 2008-10-01  Bruno Haible  <bruno@clisp.org>
51872
51873         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
51874         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
51875         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
51876         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
51877         * doc/posix-functions/posix_spawnp.texi: Likewise.
51878         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
51879         whether posix_spawn actually works.
51880         * m4/pipe.m4 (gl_PIPE): Likewise.
51881         * modules/execute (Files): Add m4/posix_spawn.m4.
51882         * modules/pipe (Files): Add m4/posix_spawn.m4.
51883         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
51884
51885 2008-10-01  Jim Meyering  <meyering@redhat.com>
51886
51887         remove trailing spaces
51888         * NEWS: Likewise.
51889         * lib/poll.c (poll): Likewise.
51890         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
51891         * lib/winsock.c (rpl_close): Likewise.
51892         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
51893         * modules/yield: Likewise.
51894         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
51895         * tests/test-sys_select.c (connect_to_socket): Likewise.
51896
51897         fts.c: adjust a new interface to be more generally useful
51898         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
51899         (fts_build): Adjust caller.
51900
51901 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51902
51903         * modules/cond-tests: New file.
51904         * tests/test-cond.c: New file.
51905
51906 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51907             Bruno Haible  <bruno@clisp.org>
51908
51909         * modules/cond (Dependencies): Add errno, time.
51910         * lib/glthread/cond.h: Include <time.h>.
51911         (gl_cond_define, gl_cond_define_initialized): Use the same definition
51912         across platforms.
51913
51914 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51915             Bruno Haible  <bruno@clisp.org>
51916
51917         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
51918
51919 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51920             Bruno Haible  <bruno@clisp.org>
51921
51922         * modules/tls-tests (Depends-on): Add thread, yield.
51923         (configure.ac): Remove all checks.
51924         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
51925         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
51926         gl_thread_self): Remove definitions. Include glthread/thread.h and
51927         glthread/yield.h instead.
51928         (test_tls): Pass an additional NULL argument to gl_thread_join.
51929
51930 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51931             Bruno Haible  <bruno@clisp.org>
51932
51933         * modules/lock-tests (Depends-on): Add thread, yield.
51934         (configure.ac): Remove all checks.
51935         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
51936         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
51937         gl_thread_self): Remove definitions. Include glthread/thread.h and
51938         glthread/yield.h instead.
51939         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
51940         additional NULL argument to gl_thread_join.
51941
51942 2008-09-30  Bruno Haible  <bruno@clisp.org>
51943
51944         Fix the Win32 implementation of the 'thread' module.
51945         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
51946         pointer type.
51947         (gl_thread_self): Invoke gl_thread_self_func.
51948         (gl_thread_self_func): New declaration.
51949         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
51950         (do_init_self_key, init_self_key): New functions.
51951         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
51952         Remove some fields.
51953         (running_threads, running_lock): Remove variables.
51954         (get_current_thread_handle): New function.
51955         (gl_thread_self_func, wrapper_func, glthread_create_func,
51956         glthread_join_func, gl_thread_exit_func): Largely rewritten and
51957         simplified.
51958
51959 2008-09-30  Bruno Haible  <bruno@clisp.org>
51960
51961         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
51962         files.
51963
51964 2008-09-30  Jim Meyering  <meyering@redhat.com>
51965
51966         fts.m4: correct the test for statfs.f_type
51967         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
51968         when checking for statfs.f_type.
51969
51970 2008-09-15  Simon Josefsson  <simon@josefsson.org>
51971
51972         tests: avoid some compiler warnings
51973         * tests/test-memchr.c (main): Pass NULL indirectly.
51974         * tests/test-getdate.c (main): Remove unused variable 'ret'.
51975
51976 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
51977
51978         getdate.y: disallow countable dayshifts like "4 yesterday ago"
51979         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
51980         exactly specified dayshifts.
51981         (dayshift): New rule.
51982         (rel): Add dayshift.
51983         (relative_time_table) [tomorrow, yesterday, today, now]:
51984         Use tDAY_SHIFT in place of tDAY_UNIT.
51985         * tests/test-getdate.c: Add tests for now-disallowed countable
51986         dayshifts, e.g., "4 yesterday ago".
51987
51988 2008-09-29  Bruno Haible  <bruno@clisp.org>
51989
51990         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
51991         * tests/test-posix_spawn1.in.sh: Renamed from
51992         tests/test-posix_spawn.in.sh.
51993         * tests/test-posix_spawn2.c: New file.
51994         * tests/test-posix_spawn2.in.sh: New file.
51995         * modules/posix_spawnp-tests (Files): Update.
51996         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
51997
51998 2008-09-29  Bruno Haible  <bruno@clisp.org>
51999
52000         Propagate effects of putenv/setenv/unsetenv to child processes.
52001         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52002         * lib/pipe.c (create_pipe): Likewise.
52003
52004 2008-09-29  Bruno Haible  <bruno@clisp.org>
52005
52006         Enable use of shell scripts as executables in mingw.
52007         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52008         run the program as a shell script.
52009         * lib/pipe.c (create_pipe): Likewise.
52010         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52011         resulting array.
52012
52013 2008-09-29  Eric Blake  <ebb9@byu.net>
52014
52015         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52016
52017 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52018
52019         * doc/posix-functions/accept.texi: Update mingw problems.
52020         * doc/posix-functions/bind.texi: Update mingw problems.
52021         * doc/posix-functions/close.texi: Update mingw problems.
52022         * doc/posix-functions/connect.texi: Update mingw problems.
52023         * doc/posix-functions/getpeername.texi: Update mingw problems.
52024         * doc/posix-functions/getsockname.texi: Update mingw problems.
52025         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52026         * doc/posix-functions/ioctl.texi: Update mingw problems.
52027         * doc/posix-functions/listen.texi: Update mingw problems.
52028         * doc/posix-functions/recv.texi: Update mingw problems.
52029         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52030         * doc/posix-functions/select.texi: Update mingw problems.
52031         * doc/posix-functions/send.texi: Update mingw problems.
52032         * doc/posix-functions/sendto.texi: Update mingw problems.
52033         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52034         * doc/posix-functions/socket.texi: Update mingw problems.
52035
52036 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52037             Bruno Haible  <bruno@clisp.org>
52038
52039         * lib/sys_select.in.h: Include sys/time.h.
52040         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52041         * modules/sys_select: Depend on sys_time.
52042         * tests/test-sys_select.c: Test that sys/select.h defines struct
52043         timeval fully.
52044
52045 2008-09-29  Bruno Haible  <bruno@clisp.org>
52046
52047         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52048         * lib/sys_select.in.h: Likewise.
52049
52050 2008-09-29  Bruno Haible  <bruno@clisp.org>
52051
52052         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52053
52054 2008-09-29  Bruno Haible  <bruno@clisp.org>
52055
52056         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52057         Set LIBSOCKET instead of augmenting LIBS.
52058         * modules/sockets (Link): New section.
52059         * modules/sockets-tests (test_sockets_LDADD): New variable.
52060         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52061         * modules/poll-tests (test_poll_LDADD): New variable.
52062         * NEWS: Document the change.
52063
52064 2008-09-29  Bruno Haible  <bruno@clisp.org>
52065
52066         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52067         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52068         ARPA_INET_H directly.
52069         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52070
52071 2008-09-28  Bruno Haible  <bruno@clisp.org>
52072
52073         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52074         from gl_HEADER_SYS_SOCKET.
52075         (gl_HEADER_SYS_SOCKET): Invoke it.
52076         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52077
52078 2008-09-28  Bruno Haible  <bruno@clisp.org>
52079
52080         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52081         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52082         Needed on OSF/1 4.0.
52083
52084 2008-09-28  Bruno Haible  <bruno@clisp.org>
52085
52086         Override open more carefully.
52087         * lib/open.c (orig_open): New function.
52088         (rpl_open): Use orig_open instead of open.
52089         * lib/fcntl.in.h: Add special invocation convention.
52090         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52091         (gl_FUNC_OPEN): Invoke it.
52092
52093         Override freopen more carefully.
52094         * lib/freopen.c (orig_freopen): New function.
52095         (rpl_freopen): Use orig_freopen instead of freopen.
52096         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
52097         (gl_FUNC_FREOPEN): Invoke it.
52098
52099         Override fopen more carefully.
52100         * lib/fopen.c (orig_fopen): New function.
52101         (rpl_fopen): Use orig_fopen instead of fopen.
52102         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
52103         (gl_FUNC_FOPEN): Invoke it.
52104         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
52105
52106 2008-09-28  Bruno Haible  <bruno@clisp.org>
52107
52108         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
52109         SIGPIPE.
52110
52111 2008-09-28  Bruno Haible  <bruno@clisp.org>
52112
52113         * tests/test-sigaction.c (handler, main): Disable the check whether
52114         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
52115         glibc systems with LinuxThreads.
52116
52117 2008-09-28  Bruno Haible  <bruno@clisp.org>
52118
52119         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
52120
52121         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
52122         with AIX xlc.
52123         * lib/fcntl.in.h (open): Likewise.
52124         Reported by Rainer Tammer <tammer@tammer.net>.
52125
52126 2008-09-28  Bruno Haible  <bruno@clisp.org>
52127
52128         * modules/posix_spawnp-tests: New file.
52129         * tests/test-posix_spawn.c: New file.
52130         * tests/test-posix_spawn.in.sh: New file.
52131
52132         New module 'posix_spawnp'.
52133         * modules/posix_spawnp: New file.
52134         * lib/spawnp.c: New file, from GNU libc with modifications.
52135         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
52136
52137         New module 'posix_spawn'.
52138         * modules/posix_spawn: New file.
52139         * lib/spawn.c: New file, from GNU libc with modifications.
52140         * doc/posix-functions/posix_spawn.texi: Mention the new module.
52141
52142         New module 'posix_spawnattr_destroy'.
52143         * modules/posix_spawnattr_destroy: New file.
52144         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
52145         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
52146         module.
52147
52148         New module 'posix_spawnattr_setsigmask'.
52149         * modules/posix_spawnattr_setsigmask: New file.
52150         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
52151         modifications.
52152         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
52153         new module.
52154
52155         New module 'posix_spawnattr_getsigmask'.
52156         * modules/posix_spawnattr_getsigmask: New file.
52157         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
52158         modifications.
52159         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
52160         new module.
52161
52162         New module 'posix_spawnattr_setsigdefault'.
52163         * modules/posix_spawnattr_setsigdefault: New file.
52164         * lib/spawnattr_setdefault.c: New file, from GNU libc with
52165         modifications.
52166         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
52167         new module.
52168
52169         New module 'posix_spawnattr_getsigdefault'.
52170         * modules/posix_spawnattr_getsigdefault: New file.
52171         * lib/spawnattr_getdefault.c: New file, from GNU libc with
52172         modifications.
52173         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
52174         new module.
52175
52176         New module 'posix_spawnattr_setschedpolicy'.
52177         * modules/posix_spawnattr_setschedpolicy: New file.
52178         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
52179         modifications.
52180         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
52181         new module.
52182
52183         New module 'posix_spawnattr_getschedpolicy'.
52184         * modules/posix_spawnattr_getschedpolicy: New file.
52185         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
52186         modifications.
52187         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
52188         new module.
52189
52190         New module 'posix_spawnattr_setschedparam'.
52191         * modules/posix_spawnattr_setschedparam: New file.
52192         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
52193         modifications.
52194         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
52195         new module.
52196
52197         New module 'posix_spawnattr_getschedparam'.
52198         * modules/posix_spawnattr_getschedparam: New file.
52199         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
52200         modifications.
52201         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
52202         new module.
52203
52204         New module 'posix_spawnattr_setpgroup'.
52205         * modules/posix_spawnattr_setpgroup: New file.
52206         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
52207         modifications.
52208         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
52209         module.
52210
52211         New module 'posix_spawnattr_getpgroup'.
52212         * modules/posix_spawnattr_getpgroup: New file.
52213         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
52214         modifications.
52215         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
52216         module.
52217
52218         New module 'posix_spawnattr_setflags'.
52219         * modules/posix_spawnattr_setflags: New file.
52220         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
52221         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
52222         module.
52223
52224         New module 'posix_spawnattr_getflags'.
52225         * modules/posix_spawnattr_getflags: New file.
52226         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
52227         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
52228         module.
52229
52230         New module 'posix_spawnattr_init'.
52231         * modules/posix_spawnattr_init: New file.
52232         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
52233         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
52234         module.
52235
52236         New module 'posix_spawn_file_actions_destroy'.
52237         * modules/posix_spawn_file_actions_destroy: New file.
52238         * lib/spawn_faction_destroy.c: New file, from GNU libc with
52239         modifications.
52240         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
52241         the new module.
52242
52243         New module 'posix_spawn_file_actions_addopen'.
52244         * modules/posix_spawn_file_actions_addopen: New file.
52245         * lib/spawn_faction_addopen.c: New file, from GNU libc with
52246         modifications.
52247         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
52248         the new module.
52249
52250         New module 'posix_spawn_file_actions_adddup2'.
52251         * modules/posix_spawn_file_actions_adddup2: New file.
52252         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
52253         modifications.
52254         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
52255         the new module.
52256
52257         New module 'posix_spawn_file_actions_addclose'.
52258         * modules/posix_spawn_file_actions_addclose: New file.
52259         * lib/spawn_faction_addclose.c: New file, from GNU libc with
52260         modifications.
52261         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
52262         the new module.
52263
52264         New module 'posix_spawn_file_actions_init'.
52265         * modules/posix_spawn_file_actions_init: New file.
52266         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
52267         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
52268         new module.
52269
52270         New module 'posix_spawn-internal'.
52271         * modules/posix_spawn-internal: New file.
52272         * lib/spawn_int.h: New file, from GNU libc with modifications.
52273         * lib/spawni.c: New file, from GNU libc with modifications.
52274         * m4/posix_spawn.m4: New file.
52275
52276         New module 'spawn'.
52277         * modules/spawn: New file.
52278         * lib/spawn.in.h: New file, from GNU libc with modifications.
52279         * m4/spawn_h.m4: New file.
52280         * doc/posix-headers/spawn.texi: Mention the new module.
52281
52282 2008-09-28  Bruno Haible  <bruno@clisp.org>
52283
52284         * modules/sched-tests: New file.
52285         * tests/test-sched.c: New file.
52286
52287         New module 'sched'.
52288         * modules/sched: New file.
52289         * lib/sched.in.h: New file.
52290         * m4/sched_h.m4: New file.
52291         * doc/posix-headers/sched.texi: Mention the new module.
52292
52293 2008-09-27  Eric Blake  <ebb9@byu.net>
52294
52295         Fix previous patch, and tweak references to $0.
52296         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
52297         (func_version, func_gnulib_dir): Don't call this program
52298         gnulib-tool.
52299         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
52300         with using $0 in function.
52301         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
52302         (func_fatal_error): Reuse the name the user invoked us with.
52303
52304 2008-09-27  Bruno Haible  <bruno@clisp.org>
52305
52306         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
52307         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
52308         (gl_ICONV_H): Not here.
52309         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
52310         instead of assigning ICONV_H directly.
52311
52312         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
52313         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
52314         WCHAR_H directly.
52315
52316 2008-09-27  Bruno Haible  <bruno@clisp.org>
52317
52318         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
52319         * modules/arpa_inet (Depends-on): Add link-warning.
52320         (Makefile.am): Insert the definition of GL_LINK-WARNING.
52321         * modules/unistd (Makefile.am): Likewise.
52322
52323 2008-09-26  Bruno Haible  <bruno@clisp.org>
52324
52325         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
52326         variables.
52327         (func_version): Essentially copied from gnulib-tool.
52328         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
52329         func_readlink): Copied from gnulib-tool.
52330
52331 2008-09-26  Bruno Haible  <bruno@clisp.org>
52332
52333         * gnulib-tool (func_version): Change directory to $gnulib_dir before
52334         invoking git-version-gen.
52335
52336 2008-09-26  Bruno Haible  <bruno@clisp.org>
52337
52338         * posix-modules: Update to directory names changed on 2008-01-19.
52339         Remove commas in output before splitting into words. No more need to
52340         avoid 'ftruncate' since 2007-02-19.
52341
52342 2008-09-26  Bruno Haible  <bruno@clisp.org>
52343
52344         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
52345
52346 2008-09-26  Bruno Haible  <bruno@clisp.org>
52347
52348         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
52349         * modules/fwriteerror (Depends-on): Add errno.
52350
52351 2008-09-26  Bruno Haible  <bruno@clisp.org>
52352
52353         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
52354         * tests/test-vc-list-files-cvs.sh: Likewise.
52355
52356 2008-09-26  Bruno Haible  <bruno@clisp.org>
52357
52358         * doc/posix-headers/sys_resource.texi: Reorder items.
52359
52360 2008-09-26  Jim Meyering  <meyering@redhat.com>
52361
52362         fts: tweak inode comparison function
52363         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
52364         inode numbers, as documented.
52365
52366         fts: sort dirent entries on inode number before traversing
52367         This avoids a quadratic, seek-related performance penalty when
52368         operating on a directory containing many entries (measurable at 10k;
52369         3.5 hours at 2 million entries with a cold cache) on certain types
52370         of file systems, including ext3 and ext4, but not tmpfs.
52371         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
52372         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
52373         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
52374         (fs_handles_readdir_ordered_dirents_efficiently): New function.
52375         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
52376         (fts_build): Set the stat.st_ino member from D_INO.
52377         If it is likely to be useful, sort dirent entries on inode number.
52378
52379         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
52380         and the struct statfs.f_type member.
52381         * modules/fts (Depends-on): Add d-ino.
52382
52383 2008-09-26  Bruno Haible  <bruno@clisp.org>
52384
52385         * modules/sigpipe-die (Depends-on): Add sigpipe.
52386
52387         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
52388         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
52389         and GNULIB_STDIO_H_SIGPIPE are set.
52390         * lib/stdio-write.c: New file.
52391         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
52392         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52393         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52394         REPLACE_STDIO_WRITE_FUNCS.
52395         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
52396         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52397         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52398         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52399         * modules/stdio (Files): Add lib/stdio-write.c.
52400         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
52401         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52402         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52403         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52404         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
52405         REPLACE_FPRINTF_POSIX.
52406         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
52407         REPLACE_PRINTF_POSIX.
52408         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
52409         REPLACE_VFPRINTF_POSIX.
52410         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
52411         REPLACE_VPRINTF_POSIX.
52412         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
52413         SIGPIPE issue.
52414         * doc/posix-functions/fputc.texi: Likewise.
52415         * doc/posix-functions/fputs.texi: Likewise.
52416         * doc/posix-functions/fwrite.texi: Likewise.
52417         * doc/posix-functions/printf.texi: Likewise.
52418         * doc/posix-functions/putc.texi: Likewise.
52419         * doc/posix-functions/putchar.texi: Likewise.
52420         * doc/posix-functions/puts.texi: Likewise.
52421         * doc/posix-functions/vfprintf.texi: Likewise.
52422         * doc/posix-functions/vprintf.texi: Likewise.
52423
52424         * modules/safe-write (Depends-on): Add write.
52425
52426         * modules/sigpipe-tests: New file.
52427         * tests/test-sigpipe.c: New file.
52428         * tests/test-sigpipe.sh: New file.
52429
52430         * modules/write: New file.
52431         * lib/unistd.in.h: Include <sys/types.h>.
52432         (write): New declaration.
52433         * lib/write.c: New file.
52434         * m4/write.m4: New file.
52435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52436         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
52437         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
52438         GNULIB_WRITE, REPLACE_WRITE.
52439         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
52440         and the SIGPIPE issue.
52441
52442         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
52443         (raise): New declaration.
52444         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
52445         (ext_signal): New function.
52446         (rpl_raise): New function.
52447         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
52448         GNULIB_SIGNAL_H_SIGPIPE.
52449         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
52450         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
52451
52452         * modules/sigpipe: New file.
52453         * m4/sigpipe.m4: New file.
52454
52455 2008-09-25  Derek Price  <derek@ximbiot.com>
52456             Bruno Haible  <bruno@clisp.org>
52457
52458         * gnulib-tool (func_import): Report all license incompatibilities, not
52459         just the first one.
52460
52461 2008-09-25  Bruno Haible  <bruno@clisp.org>
52462
52463         * gnulib-tool (func_import): When computing the edits, consider not
52464         only the Makefile.ams that exist but also those that will be generated.
52465
52466 2008-09-25  Simon Josefsson  <simon@josefsson.org>
52467
52468         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
52469         fixes gnulib-tool --test warning about duplicate dependency.
52470
52471 2008-09-25  Bruno Haible  <bruno@clisp.org>
52472
52473         * gnulib-tool: Don't ask the user to perform edits in the generated
52474         Makefile.ams.
52475         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
52476         apply to the Makefile.am being generated.
52477         (func_emit_tests_Makefile_am): Execute edits that apply to the
52478         Makefile.am being generated.
52479         (func_import): Setup list of Makefile.am edits before emitting the
52480         Makefile.ams, not at the end.
52481         (func_create_testdir): Update.
52482         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52483
52484 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52485
52486         * gnulib-tool (func_import): Store the --tests-base option in the
52487         comment in gnulib-cache.m4.
52488
52489 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
52490
52491         * NEWS: Document increased portability that sys_select now provides.
52492
52493         * lib/sys_select.in.h: Install select wrapper.
52494         * lib/sys_socket.in.h: Use more descriptive name when there is no
52495         select wrapper.
52496         * lib/winsock-select.c: New.
52497         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
52498         Require gl_HEADER_SYS_SOCKET.
52499         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
52500         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
52501         * tests/test-sys_select.c: Add functional tests.
52502
52503 2008-09-24  Eric Blake  <ebb9@byu.net>
52504
52505         open, fopen: close fd leak in last patch
52506         * lib/open.c (rpl_open): Close fd before returning error.
52507         * lib/fopen.c (rpl_fopen): Close fd before returning error.
52508         * doc/posix-functions/open.texi (open): Document that Irix also
52509         has the bug.
52510         * doc/posix-functions/fopen.texi (fopen): Likewise.
52511         Reported by Paolo Bonzini.
52512
52513 2008-09-24  Bruno Haible  <bruno@clisp.org>
52514
52515         Ensure that a filename ending in a slash cannot be used to access a
52516         non-directory.
52517         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
52518         to check whether it's really a directory.
52519         * lib/fopen.c: Include fcntl.h, unistd.h.
52520         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
52521         and fdopen().
52522         * modules/fopen (Depends-on): Add unistd.
52523         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
52524         * tests/test-fopen.c (main): Likewise.
52525         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
52526         * doc/posix-functions/fopen.texi: Likewise.
52527         Reported by Eric Blake.
52528
52529 2008-09-23  Eric Blake  <ebb9@byu.net>
52530
52531         c-stack: avoid compiler optimizations when provoking overflow
52532         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
52533         recursion harder to optimize, to ensure a stack overflow occurs.
52534         * tests/test-c-stack.c (recurse): Likewise.
52535         Borrowed from libsigsegv.
52536
52537         c-stack: work around Irix sigaltstack bug
52538         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
52539         whether sigaltstack uses wrong end of stack_t (copied in part from
52540         libsigsegv).
52541         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
52542         Irix bug, without requiring an over-allocation.
52543         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
52544         bug.
52545
52546         fopen: document mingw bug on directories
52547         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
52548         not allowing a stream visiting a directory, even though reading
52549         from such a stream is not portable.
52550
52551 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52552
52553         * lib/poll.c: Rewrite.
52554         * modules/poll: Depend on alloca.
52555
52556 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52557
52558         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
52559         instead define prototypes for a full set of wrappers.  Ensure
52560         that Cygwin does not use the compatibility code, which is only
52561         for MinGW.
52562         * lib/winsock.c: New.
52563         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
52564         * modules/sys_socket: Add lib/winsock.c.
52565
52566         * modules/poll-tests: Add errno and perror.
52567         * tests/test-poll.c: Use ioctl, not ioctlsocket.
52568
52569 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52570
52571         * tests/test-poll.c: Downgrade minimum needed Winsock version.
52572
52573 2008-09-23  Bruno Haible  <bruno@clisp.org>
52574
52575         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
52576         * doc/glibc-functions/*: Likewise.
52577
52578 2008-09-23  Simon Josefsson  <simon@josefsson.org>
52579
52580         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
52581         success.
52582
52583 2008-09-22  Eric Blake  <ebb9@byu.net>
52584             Bruno Haible  <bruno@clisp.org>
52585
52586         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
52587         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
52588         supply %A but mishandle pseudo-NaN.
52589         Reported by Simon Josefsson.
52590
52591 2008-09-21  Bruno Haible  <bruno@clisp.org>
52592
52593         * tests/test-lock.c (main): Tweak skip message.
52594         * tests/test-tls.c (main): Likewise.
52595
52596 2008-09-21  Bruno Haible  <bruno@clisp.org>
52597
52598         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
52599         whether 'struct sigaction' has sa_sigaction here...
52600         (gl_PREREQ_SIG_HANDLER_H): ... not here.
52601         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
52602
52603 2008-09-21  Bruno Haible  <bruno@clisp.org>
52604
52605         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
52606         section.
52607         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
52608         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
52609         the new section.
52610         (Support for obsolete systems lacking POSIX:2001): New section.
52611         (String handling <string.h>): Move strdup to the new section.
52612         Suggested by Simon Josefsson and Paolo Bonzini.
52613
52614 2008-09-21  Bruno Haible  <bruno@clisp.org>
52615
52616         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
52617         exponents in %e and %g results on 'long double'. Needed for mingw's
52618         improved *printf functions.
52619         * tests/test-vasprintf-posix.c (test_function): Likewise.
52620         * tests/test-snprintf-posix.h (test_function): Likewise.
52621         * tests/test-sprintf-posix.h (test_function): Likewise.
52622         Reported by Eric Blake.
52623
52624 2008-09-21  Bruno Haible  <bruno@clisp.org>
52625
52626         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
52627         * tests/test-sprintf-posix.h (test_function): Likewise.
52628
52629 2008-09-21  Bruno Haible  <bruno@clisp.org>
52630
52631         * modules/getpass (Depends-on): Add strdup-posix.
52632
52633         New module 'strdup-posix'.
52634         * modules/strdup-posix: New file.
52635         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
52636         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
52637         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52638         REPLACE_STRDUP.
52639         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
52640         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
52641         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52642         strdup-posix.
52643
52644         * modules/strdup (Depends-on): Remove malloc-posix.
52645
52646 2008-09-20  Bruno Haible  <bruno@clisp.org>
52647
52648         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
52649         Wildenhues.
52650
52651 2008-09-20  Bruno Haible  <bruno@clisp.org>
52652
52653         Ensure that wint_t gets defined on IRIX 5.3.
52654         * lib/wchar.in.h (wint_t): Define if not defined by the system.
52655         * lib/wctype.in.h (wint_t): Likewise.
52656         (__wctype_wint_t): Remove type.
52657         (isw*): Use wint_t instead of __wctype_wint_t.
52658         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
52659         * modules/wchar (Files): Add m4/wint_t.m4.
52660         (Makefile.am): Substitute HAVE_WINT_T.
52661         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
52662         * tests/test-wctype.c: Check that wint_t is defined.
52663         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
52664         * doc/posix-headers/wctype.texi: Likewise.
52665         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52666
52667 2008-09-18  Bruno Haible  <bruno@clisp.org>
52668
52669         * gnulib-tool (func_exit): Update comment.
52670
52671 2008-09-18  Simon Josefsson  <simon@josefsson.org>
52672
52673         * modules/getaddrinfo (Depends-on): Remove strdup, this module
52674         assumes strdup exists and does not depend on strdup to return
52675         ENOMEM on out of memory conditions.
52676
52677 2008-09-18  Bruno Haible  <bruno@clisp.org>
52678
52679         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
52680         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
52681         digits for the exponent.
52682
52683 2008-09-18  Jim Meyering  <meyering@redhat.com>
52684             Bruno Haible  <bruno@clisp.org>
52685
52686         * lib/vasnprintf.c (decimal_point_char): Define also if
52687         NEED_PRINTF_INFINITE_LONG_DOUBLE.
52688
52689 2008-09-16  Bruno Haible  <bruno@clisp.org>
52690         and Eric Blake  <ebb9@byu.net>
52691
52692         vasnprintf: support Irix 5.3
52693         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
52694         that mishandle long double infinity.
52695         Reported by Tom G. Christensen.
52696
52697 2008-09-16  Bruno Haible  <bruno@clisp.org>
52698
52699         * doc/glibc-functions/scandir.texi: Mention the function is missing on
52700         Solaris 9.
52701         * doc/glibc-functions/alphasort.texi: Likewise.
52702         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
52703
52704 2008-09-16  Jim Meyering  <meyering@redhat.com>
52705
52706         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
52707         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
52708         a umask modification leak out of a subshell.  Otherwise, the
52709         opensolaris /bin/sh would be accepted and thus cause unwarranted
52710         failures in the coreutils test suite.
52711
52712 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
52713
52714         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
52715         to succeed.
52716
52717 2008-09-16  Jim Meyering  <meyering@redhat.com>
52718
52719         avoid spurious test failure when library is built without ACL support
52720         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
52721         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
52722         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
52723         * tests/test-copy-acl.sh: Likewise.
52724
52725 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52726
52727         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
52728         based on character occurrence counts.
52729
52730 2008-09-15  Eric Blake  <ebb9@byu.net>
52731
52732         tests: avoid some compiler warnings
52733         * tests/test-memchr.c (main): Pass NULL indirectly.
52734         * tests/test-closein.c (main): Avoid unused variable.
52735
52736 2008-09-15  Bruno Haible  <bruno@clisp.org>
52737
52738         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
52739         are missing on OpenBSD 4.0 individually.
52740         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52741
52742 2008-09-15  Bruno Haible  <bruno@clisp.org>
52743
52744         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
52745         * doc/posix-functions/strerror.texi: Mention also Cygwin.
52746         * doc/posix-functions/perror.texi: Likewise.
52747         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
52748         is missing.
52749         Reported by Eric Blake.
52750
52751         * lib/errno.in.h: Use replacement values >= 2000.
52752         Reported by Eric Blake.
52753
52754 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52755
52756         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
52757         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
52758         limit.
52759         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
52760         compareseq was aborted.
52761
52762 2008-09-14  Bruno Haible  <bruno@clisp.org>
52763
52764         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
52765         yvec_edit_count.
52766         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
52767         (fstrcmp_bounded): Simplify result computation accordingly.
52768
52769 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52770
52771         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
52772         (fstrcmp): Define in terms of fstrcmp_bounded.
52773         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
52774         lower_bound argument.
52775         Return quickly if the result is certainly < lower_bound.
52776         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
52777
52778 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52779
52780         * lib/diffseq.h (EARLY_ABORT): New macro.
52781         (compareseq): Change return type to bool. Return true when EARLY_ABORT
52782         evaluates to true.
52783
52784 2008-09-14  Bruno Haible  <bruno@clisp.org>
52785
52786         * modules/perror-tests: New file.
52787         * tests/test-perror.sh: New file.
52788         * tests/test-perror.c: New file.
52789
52790         New module 'perror'.
52791         * lib/stdio.in.h (perror): New declaration.
52792         * lib/perror.c: New file.
52793         * m4/perror.m4: New file.
52794         * modules/perror: New file.
52795         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
52796         * doc/posix-functions/perror.texi: Mention the perror module.
52797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
52798         REPLACE_PERROR.
52799         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
52800         REPLACE_PERROR.
52801
52802 2008-09-14  Bruno Haible  <bruno@clisp.org>
52803
52804         * modules/stdio (Makefile.am): Reorder to match the order in
52805         lib/stdio.in.h.
52806         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52807
52808 2008-09-13  Bruno Haible  <bruno@clisp.org>
52809
52810         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
52811
52812 2008-09-13  Bruno Haible  <bruno@clisp.org>
52813
52814         Extend strerror to cover the added errno values.
52815         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
52816         (rpl_strerror): Provide error messages for the added errno values and
52817         for the WSA* values.
52818         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
52819         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
52820         strerror.
52821         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
52822         * modules/strerror (Depends-on): Add errno.
52823         * doc/posix-functions/strerror.texi: Document the change.
52824         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
52825         and EOVERFLOW.
52826
52827 2008-09-13  Bruno Haible  <bruno@clisp.org>
52828
52829         * modules/EOVERFLOW: Remove file.
52830         * m4/eoverflow.m4: Remove file.
52831         * modules/EOVERFLOW-tests: Remove file.
52832         * tests/test-EOVERFLOW.c: Remove file.
52833         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
52834         * modules/ftell (Depends-on): Likewise.
52835         * modules/getdelim (Depends-on): Likewise.
52836         * modules/getugroups (Depends-on): Likewise.
52837         * modules/poll (Depends-on): Likewise.
52838         * modules/snprintf (Depends-on): Likewise.
52839         * modules/sprintf-posix (Depends-on): Likewise.
52840         * modules/vasnprintf (Depends-on): Likewise.
52841         * modules/vasprintf (Depends-on): Likewise.
52842         * modules/vfprintf-posix (Depends-on): Likewise.
52843         * modules/vsnprintf (Depends-on): Likewise.
52844         * modules/vsprintf-posix (Depends-on): Likewise.
52845         * modules/xvasprintf (Depends-on): Likewise.
52846         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52847         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
52848         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
52849         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
52850         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52851         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
52852         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
52853         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
52854         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52855         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
52856         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
52857         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
52858         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52859         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
52860         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
52861         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
52862         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52863         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
52864         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
52865         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
52866         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52867         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
52868         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
52869         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
52870         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
52871         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52872         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
52873         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
52874         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
52875         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
52876         * MODULES.html.sh: Remove EOVERFLOW.
52877         * NEWS: Mention the change.
52878
52879 2008-09-13  Bruno Haible  <bruno@clisp.org>
52880
52881         * modules/errno-tests: New file.
52882         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
52883
52884         * lib/errno.in.h: New file.
52885         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
52886         * modules/errno: New file.
52887         * doc/posix-headers/errno.texi: Update documentation.
52888         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
52889
52890 2008-09-13  Bruno Haible  <bruno@clisp.org>
52891
52892         * tests/test-poll.c: Use #if for native Windows, rather than testing
52893         __MSVCRT__.
52894
52895 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52896             Bruno Haible  <bruno@clisp.org>
52897
52898         * lib/glob.c: Don't include <pwd.h> on native Windows.
52899         (WINDOWS32): New macro.
52900         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
52901
52902 2008-09-13  Bruno Haible  <bruno@clisp.org>
52903
52904         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
52905         (ETIMEDOUT): Remove macro.
52906         (glthread_cond_timedwait_multithreaded): New declaration.
52907         (glthread_cond_timedwait): Use it.
52908         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
52909         (glthread_cond_timedwait_multithreaded): New function.
52910
52911 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52912
52913         * modules/poll-tests: Do not check for io.h.
52914         * tests/test-poll.c: Check for __MSVCRT__ instead.
52915
52916 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52917
52918         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
52919         * modules/poll-tests: Add inet_pton, stdbool, sockets.
52920         * tests/test-poll.c: Use them.  Use _pipe on Windows.
52921
52922 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52923
52924         * modules/poll-tests: New.
52925         * tests/test-poll.c: New.
52926
52927 2008-09-12  Eric Blake  <ebb9@byu.net>
52928
52929         frexp: test for NetBSD failure on -0.0
52930         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
52931         not all, bugs from NetBSD 3.0 have been fixed.
52932         * doc/posix-functions/frexp.texi (frexp): Document bug.
52933         Reported by Thomas Klausner.
52934
52935         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
52936         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
52937         literal -0.0.
52938         Reported by Jonathan C. Patschke <jp@centtech.com>.
52939
52940 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52941
52942         * lib/glthread/cond.h: Use dummy implementation also if
52943         USE_WIN32_THREADS.
52944
52945 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52946
52947         * modules/fnmatch-posix (License): Change to LGPLv2+.
52948         * modules/fnmatch-gnu (License): Likewise.
52949
52950 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52951
52952         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
52953
52954 2008-09-11  Jim Meyering  <meyering@redhat.com>
52955
52956         * users.txt: Add gtk-vnc.
52957
52958 2008-09-08  Simon Josefsson  <simon@josefsson.org>
52959
52960         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
52961         rotate amounts.
52962
52963         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
52964         required for 16-bit and 8-bit rotates.
52965         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
52966         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
52967         UINT8_MAX instead of hard-coded constants.
52968         Suggested by Paul Eggert.
52969
52970 2008-09-07  Bruno Haible  <bruno@clisp.org>
52971
52972         * tests/test-striconveh.c (main): Check behaviour when converting from
52973         UTF-7.
52974
52975         Make striconveh work better with stateful encodings.
52976         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
52977         that iconv does not increment the inptr when returning -1/EINVAL.
52978
52979 2008-09-07  Bruno Haible  <bruno@clisp.org>
52980
52981         * build-aux/config.rpath: Update according to libtool-2.2.6.
52982         * build-aux/config.libpath: Likewise.
52983
52984 2008-09-06  Bruno Haible  <bruno@clisp.org>
52985
52986         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
52987         * lib/freadptr.c (freadptr): Likewise.
52988         * lib/freadseek.c (freadptrinc): Likewise.
52989         Reported by Simon Josefsson.
52990
52991 2008-09-06  Bruno Haible  <bruno@clisp.org>
52992
52993         * modules/freadptr (License): Change to LGPLv2+.
52994         * modules/freadseek (License): Likewise.
52995         Suggested by Eric Blake.
52996
52997         * modules/memchr2 (License): Change to LGPLv2+.
52998         Approved by Eric Blake.
52999
53000 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53001             Bruno Haible  <bruno@clisp.org>
53002
53003         Make gnulib-tool work with native 'sed' on AIX.
53004         * gnulib-tool (sed_noop): New variable.
53005         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53006         func_add_or_update, func_create_testdir): Use it to initialize sed
53007         script variables.
53008         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53009
53010 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53011             Bruno Haible  <bruno@clisp.org>
53012
53013         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53014         also works after #include directives.
53015
53016 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53017
53018         getdate.y: reject an out-of-range timezone value
53019         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53020         the range [-24...+24].  When specified with only one or two digits,
53021         * tests/test-getdate.c: Tests for the fix.
53022         * doc/getdate.texi: Document this change.
53023
53024 2008-09-03  Bruno Haible  <bruno@clisp.org>
53025
53026         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53027
53028 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53029
53030         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53031         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53032         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53033         Blake <ebb9@byu.net>.
53034
53035         * tests/test-bitrotate.c: Add more test vectors.
53036
53037 2008-09-02  Eric Blake  <ebb9@byu.net>
53038
53039         vasnprintf-posix: handle large precision via %.*d
53040         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53041         when handling it ourselves.
53042         * tests/test-vasnprintf-posix.c (test_function): Add test.
53043         * tests/test-snprintf-posix.h (test_function): Likewise.
53044         * tests/test-sprintf-posix.h (test_function): Likewise.
53045         * tests/test-vasprintf-posix.c (test_function): Likewise.
53046         Reported by Alain Guibert.
53047
53048 2008-09-01  Eric Blake  <ebb9@byu.net>
53049
53050         c-stack: make configure-time check more robust
53051         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53052         successful sigaction call.
53053         Reported by Tom G. Christensen.
53054
53055 2008-09-01  Bruno Haible  <bruno@clisp.org>
53056
53057         New module 'findprog-lgpl'.
53058         * modules/findprog-lgpl: New file.
53059         * lib/findprog-lgpl.c: New file.
53060         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53061         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53062         to decide whether to use strdup or xstrdup, concatenated_filename or
53063         xconcatenated_filename.
53064
53065 2008-09-01  Bruno Haible  <bruno@clisp.org>
53066
53067         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53068         'xconcat-filename' (GPL).
53069         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53070         (License): Change to LGPLv2+.
53071         * modules/xconcat-filename: New file.
53072         * lib/concat-filename.h (concatenated_filename): Change specification.
53073         (xconcatenated_filename): New declaration.
53074         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53075         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53076         memory situations.
53077         * lib/xconcat-filename.c: New file.
53078         * NEWS: Mention the change.
53079         * lib/findprog.c: Include concat-filename.h, not filename.h.
53080         (find_in_path): Use xconcatenated_filename instead of
53081         concatenated_filename.
53082         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53083         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53084         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53085         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53086         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53087         instead of concatenated_filename.
53088         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53089         (execute_java_class): Use xconcatenated_filename instead of
53090         concatenated_filename.
53091         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53092         * modules/javacomp (Depends-on): Likewise.
53093         * modules/javaexec (Depends-on): Likewise.
53094
53095 2008-09-01  Bruno Haible  <bruno@clisp.org>
53096
53097         Split module 'filename' into 'filename' and 'concat-filename'.
53098         * modules/filename: Keep only lib/filename.h.
53099         (License): Change to LGPLv2+.
53100         * modules/concat-filename: New file, extracted from modules/filename.
53101         * lib/filename.h (concatenated_filename): Remove declaration.
53102         * lib/concat-filename.h: New file, extracted from lib/filename.h.
53103         * lib/concat-filename.c: Include concat-filename.h.
53104         * NEWS: Mention the change.
53105
53106 2008-09-01  Simon Josefsson  <simon@josefsson.org>
53107
53108         * lib/bitrotate.h (rotl8, rotr8): Add.
53109
53110         * modules/bitrotate (configure.ac): Need
53111         AC_REQUIRE([AC_C_INLINE]).
53112         (Description): Mention stdint.h.  Reported by Bruno Haible
53113         <bruno@clisp.org>.
53114
53115         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
53116         Paolo Bonzini <bonzini@gnu.org>.
53117
53118 2008-08-31  Bruno Haible  <bruno@clisp.org>
53119
53120         Assume Solaris specific bi-arch conventions on Solaris systems.
53121         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
53122         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
53123         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
53124         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
53125         like acl_libdirstem.
53126         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
53127         acl_libdirstem.
53128         * NEWS: Mention the change.
53129         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
53130
53131 2008-08-31  Jim Meyering  <meyering@redhat.com>
53132
53133         * lib/strftime.h: Add comments describing the two added arguments.
53134
53135         remove duplicate #include directives
53136         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
53137         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
53138
53139 2008-08-31  Bruno Haible  <bruno@clisp.org>
53140
53141         New module 'sigpipe-die'.
53142         * modules/sigpipe-die: New file.
53143         * lib/sigpipe-die.h: New file.
53144         * lib/sigpipe-die.c: New file.
53145         * MODULES.html.sh (Signal handling): Add sigpipe-die.
53146
53147 2008-08-31  Bruno Haible  <bruno@clisp.org>
53148
53149         Don't override previously installed signal handlers.
53150         * lib/fatal-signal.c (saved_sigactions): New variable.
53151         (uninstall_handlers): Reset the signal to the saved handler, not
53152         to SIG_DFL (except when ignored).
53153         (install_handlers): Save the previous handlers.
53154
53155 2008-08-30  Bruno Haible  <bruno@clisp.org>
53156
53157         * gnulib-tool (func_reset_sigpipe): New function.
53158         (func_get_automake_snippet, func_modules_transitive_closure,
53159         func_import): Invoke it before a join command that reads from stdin,
53160         to avoid "echo: write error: Broken pipe" error messages on stderr.
53161         Reported by Sam Steingold <sds@gnu.org>.
53162
53163 2008-08-30  Bruno Haible  <bruno@clisp.org>
53164
53165         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
53166         Code copied from m4/open.m4.
53167         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
53168         access and the filename ends in a slash. Code copied from lib/open.c.
53169         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
53170         * tests/test-fopen.c (main): Check against bug with trailing slash.
53171
53172 2008-08-29  Bruno Haible  <bruno@clisp.org>
53173
53174         Avoid some "gcc -pedantic" warnings.
53175         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
53176         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
53177         * lib/dirent.in.h: Likewise.
53178         * lib/fcntl.in.h: Likewise.
53179         * lib/float.in.h: Likewise.
53180         * lib/iconv.in.h: Likewise.
53181         * lib/inttypes.in.h: Likewise.
53182         * lib/locale.in.h: Likewise.
53183         * lib/math.in.h: Likewise.
53184         * lib/netinet_in.in.h: Likewise.
53185         * lib/search.in.h: Likewise.
53186         * lib/signal.in.h: Likewise.
53187         * lib/stdarg.in.h: Likewise.
53188         * lib/stdint.in.h: Likewise.
53189         * lib/stdio.in.h: Likewise.
53190         * lib/stdlib.in.h: Likewise.
53191         * lib/string.in.h: Likewise.
53192         * lib/strings.in.h: Likewise.
53193         * lib/sys_select.in.h: Likewise.
53194         * lib/sys_socket.in.h: Likewise.
53195         * lib/sys_stat.in.h: Likewise.
53196         * lib/sys_time.in.h: Likewise.
53197         * lib/sysexits.in.h: Likewise.
53198         * lib/time.in.h: Likewise.
53199         * lib/unistd.in.h: Likewise.
53200         * lib/wchar.in.h: Likewise.
53201         * lib/wctype.in.h: Likewise.
53202         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
53203         * modules/fchdir (Makefile.am): Likewise.
53204         * modules/fcntl (Makefile.am): Likewise.
53205         * modules/float (Makefile.am): Likewise.
53206         * modules/iconv_open (Makefile.am): Likewise.
53207         * modules/inttypes (Makefile.am): Likewise.
53208         * modules/locale (Makefile.am): Likewise.
53209         * modules/math (Makefile.am): Likewise.
53210         * modules/netinet_in (Makefile.am): Likewise.
53211         * modules/search (Makefile.am): Likewise.
53212         * modules/signal (Makefile.am): Likewise.
53213         * modules/stdarg (Makefile.am): Likewise.
53214         * modules/stdint (Makefile.am): Likewise.
53215         * modules/stdio (Makefile.am): Likewise.
53216         * modules/stdlib (Makefile.am): Likewise.
53217         * modules/string (Makefile.am): Likewise.
53218         * modules/strings (Makefile.am): Likewise.
53219         * modules/sys_select (Makefile.am): Likewise.
53220         * modules/sys_socket (Makefile.am): Likewise.
53221         * modules/sys_stat (Makefile.am): Likewise.
53222         * modules/sys_time (Makefile.am): Likewise.
53223         * modules/sysexits (Makefile.am): Likewise.
53224         * modules/time (Makefile.am): Likewise.
53225         * modules/unistd (Makefile.am): Likewise.
53226         * modules/wchar (Makefile.am): Likewise.
53227         * modules/wctype (Makefile.am): Likewise.
53228         Reported by Reuben Thomas <rrt@sc3d.org>.
53229
53230 2008-08-29  Bruno Haible  <bruno@clisp.org>
53231
53232         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
53233         any more.
53234
53235 2008-08-29  Simon Josefsson  <simon@josefsson.org>
53236
53237         * MODULES.html.sh (Misc): Add bitrotate.
53238
53239         * modules/bitrotate: New file.
53240
53241         * lib/bitrotate.h: New file.
53242
53243         * modules/bitrotate-tests: New file.
53244
53245         * tests/test-bitrotate.c: New file.
53246
53247         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
53248         on the bitrotate module.
53249
53250         * lib/arctwo.c: Use new bitrotate module.
53251
53252 2008-08-29  Jim Meyering  <meyering@redhat.com>
53253
53254         bootstrap: merge changes from coreutils
53255         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
53256         of copied files.  Remove a kludge, now that this is fixed.
53257         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
53258         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
53259         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
53260
53261 2008-08-29  Bruno Haible  <bruno@clisp.org>
53262
53263         * MODULES.html.sh: Remove --cvs-urls option.
53264
53265 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
53266
53267         maint.mk: adjust to file name change
53268         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
53269
53270 2008-08-28  Jim Meyering  <meyering@redhat.com>
53271
53272         * modules/getndelim2 (License): Relicense to LGPLv2+.
53273         Approved by Richard Stallman for the version of 1995, and by
53274         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
53275
53276 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
53277
53278         * lib/getdelim.c (flockfile, funlockfile): Make all of them
53279         dummy if one is not available.  Do not touch them if
53280         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
53281         (getc_maybe_unlocked): New.
53282         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
53283
53284 2008-08-26  Eric Blake  <ebb9@byu.net>
53285
53286         doc/INSTALL: resync from autoconf
53287         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
53288         (INSTALL_PRELUDE): Delete; this is done more efficiently by
53289         moving...
53290         * install.texi [!autoconf]: ...here.  Resync from autoconf.
53291         * INSTALL: Regenerate.
53292         * INSTALL.ISO: New file.
53293         * INSTALL.UTF-8: Likewise.
53294
53295 2008-08-26  Jim Meyering  <meyering@redhat.com>
53296
53297         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
53298         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
53299         these definitions conditional, so that they may be overridden, too.
53300
53301 2008-08-26  Bruno Haible  <bruno@clisp.org>
53302
53303         Generate INSTALL file variants with prettier quotes.
53304         * doc/Makefile (INSTALL_PRELUDE): New macro.
53305         (INSTALL): Use it.
53306         (INSTALL.ISO, INSTALL.UTF-8): New rules.
53307
53308 2008-08-26  Bruno Haible  <bruno@clisp.org>
53309
53310         Run makeinfo in an English locale.
53311         * doc/Makefile (MAKEINFO): New variable.
53312
53313 2008-08-26  Bruno Haible  <bruno@clisp.org>
53314
53315         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
53316         Suggested by Eric Blake.
53317
53318 2008-08-25  Bruno Haible  <bruno@clisp.org>
53319
53320         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
53321
53322 2008-08-25  Eric Blake  <ebb9@byu.net>
53323
53324         c-stack: test that stack overflow can be caught
53325         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
53326         that platform allows handling stack overflow; at least OS/2 EMX
53327         has sigaltstack, but crashes before transferring control to
53328         handler on stack overflow.
53329         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
53330         check for HAVE_STACK_OVERFLOW_HANDLING.
53331         Reported by Elbert Pol.
53332
53333 2008-08-25  Bruno Haible  <bruno@clisp.org>
53334
53335         * doc/posix-functions/strftime.texi: Fix description of strftime
53336         module.
53337
53338 2008-08-24  Bruno Haible  <bruno@clisp.org>
53339
53340         * tests/uniwidth/test-uc_width2.c: New file.
53341         * tests/uniwidth/test-uc_width2.sh: New file.
53342         * modules/uniwidth/width-tests (Files): Add the new files.
53343         (TESTS): Add uniwidth/test-uc_width2.sh.
53344         (TESTS_ENVIRONMENT): New variable.
53345         (check_PROGRAMS): Add test-uc_width2.
53346         (test_uc_width2_SOURCES): New variable.
53347
53348         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
53349         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
53350         not 0x00AB.
53351         Reported by Alexander V. Lukyanov <lav@netis.ru>.
53352
53353 2008-08-22  Eric Blake  <ebb9@byu.net>
53354
53355         test-lock, test-tls: mention why a test is skipped
53356         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
53357         skipped.
53358         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
53359
53360         count-one-bits: relax license
53361         * modules/count-one-bits (License): Relicense to LGPLv2+.
53362         Suggested by Ludovic Courtès, approved by Ben Pfaff.
53363
53364 2008-08-22  Andreas Schwab  <schwab@suse.de>
53365
53366         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
53367         Remove spurious space in assignment.
53368
53369 2008-08-21  Simon Josefsson  <simon@josefsson.org>
53370
53371         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
53372         Paul Eggert <eggert@CS.UCLA.EDU>.
53373
53374 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
53375
53376         * modules/gettext: Add m4/threadlib.m4.
53377
53378 2008-08-19  Eric Blake  <ebb9@byu.net>
53379
53380         test-c-stack: fix compilation failure on FreeBSD 5.0
53381         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
53382         headers before <sys/resource.h>.
53383         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
53384         the bug.
53385         Reported by Nelson H. F. Beebe.
53386
53387         strverscmp: migrate from "strverscmp.h" to <string.h>
53388         * modules/string (Makefile.am): Add new hooks.
53389         * modules/strverscmp (Files): Remove strverscmp.h.
53390         (Depends-on): Add string.
53391         (configure.ac): Add indicator.
53392         (Include): Mention new header.
53393         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
53394         defaults.
53395         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
53396         results.
53397         * lib/strverscmp.h: Delete.
53398         * lib/string.in.h (strverscmp): Provide declaration, when needed.
53399         * tests/test-strverscmp.c (includes): Adjust client.
53400         * lib/check-version.c (includes): Likewise.
53401         * NEWS: Document the change.
53402
53403         strverscmp: add unit test
53404         * modules/strverscmp-tests: New file.
53405         * tests/test-strverscmp.c: Likewise.
53406
53407 2008-08-19  Simon Josefsson  <simon@josefsson.org>
53408
53409         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
53410         regarding Windows crypto stuff, from Mono.
53411
53412 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
53413
53414         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
53415         if present, for intel RND.  Return error on failures.
53416
53417 2008-08-18  Ben Pfaff  <blp@gnu.org>
53418
53419         gitlog-to-changelog: give better diagnostic for failed pipe-open
53420         * build-aux/gitlog-to-changelog: Improve error message: suggest
53421         that the version of Git may be too old.
53422
53423 2008-08-18  Simon Josefsson  <simon@josefsson.org>
53424
53425         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
53426         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
53427
53428 2008-08-18  Bruno Haible  <bruno@clisp.org>
53429
53430         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
53431         pthread_in_use().
53432
53433 2008-08-18  Bruno Haible  <bruno@clisp.org>
53434
53435         * lib/glthread/threadlib.c: Include <pthread.h>.
53436
53437 2008-08-18  Bruno Haible  <bruno@clisp.org>
53438
53439         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
53440         glthread_recursive_lock_* macros.
53441         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
53442         Fix syntax error.
53443
53444 2008-08-18  Bruno Haible  <bruno@clisp.org>
53445
53446         * lib/glthread/thread.c: Avoid forcing a context switch right after
53447         thread creation.
53448
53449 2008-08-17  Bruno Haible  <bruno@clisp.org>
53450
53451         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
53452         * lib/glthread/thread.h: Provide Win32 specific implementation.
53453         * modules/thread (Files): Add lib/glthread/thread.c.
53454         (Depends-on): Add lock.
53455         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
53456
53457 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53458
53459         New module 'yield'.
53460         * modules/yield: New file.
53461         * lib/glthread/yield.h: New file.
53462         * m4/yield.m4: New file.
53463         * MODULES.html.sh (Multithreading): Add yield.
53464
53465 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53466
53467         New module 'thread'.
53468         * modules/thread: New file.
53469         * lib/glthread/thread.h: New file.
53470         * m4/thread.m4: New file.
53471         * MODULES.html.sh (Multithreading): Add thread.
53472
53473 2008-08-17  Bruno Haible  <bruno@clisp.org>
53474
53475         * lib/glthread/lock.h: Include <stdlib.h> always.
53476         * lib/glthread/tls.h: Likewise.
53477         * lib/glthread/cond.h: Likewise.
53478
53479 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53480
53481         New module 'cond'.
53482         * modules/cond: New file.
53483         * lib/glthread/cond.h: New file.
53484         * lib/glthread/cond.c: New file.
53485         * m4/cond.m4: New file.
53486         * MODULES.html.sh (Multithreading): Add cond.
53487
53488 2008-08-16  Eric Blake  <ebb9@byu.net>
53489
53490         c-stack: fix regression on Irix 5.3 from 2008-06-21
53491         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
53492         sa_sigaction...
53493         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
53494         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
53495         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
53496         * modules/signal (Makefile.am): Use the value.
53497         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
53498         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
53499         * doc/posix-headers/signal.texi (signal.h): Document this
53500         portability issue.
53501         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
53502         Reported by Tom G. Christensen.
53503
53504 2008-08-17  Bruno Haible  <bruno@clisp.org>
53505
53506         New module 'threadlib'.
53507         * modules/threadlib: New file.
53508         * lib/glthread/threadlib.c: New file, extracted from
53509         lib/glthread/lock.c.
53510         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
53511         functions.
53512         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
53513         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
53514         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
53515         macros.
53516         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
53517         (gl_DISABLE_THREADS): Remove macro.
53518         * modules/lock (Files): Remove build-aux/config.rpath.
53519         (Depends-on): Remove havelib. Add threadlib.
53520         (configure.ac-early): Remove section.
53521         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
53522         * modules/tls (Depends-on): Remove lock. Add threadlib.
53523         (Link): New section, copied from threadlib.
53524         * MODULES.html.sh (Multithreading): Add threadlib.
53525
53526 2008-08-14  Bruno Haible  <bruno@clisp.org>
53527
53528         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
53529         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
53530         glthread_rwlock_unlock, glthread_rwlock_destroy,
53531         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
53532         glthread_recursive_lock_destroy): Define as macros always.
53533         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
53534         glthread_lock_lock.
53535         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
53536         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
53537         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
53538         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
53539         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
53540         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
53541         (glthread_recursive_lock_lock_func): Renamed from
53542         glthread_recursive_lock_lock.
53543         (glthread_recursive_lock_unlock_func): Renamed from
53544         glthread_recursive_lock_unlock.
53545         (glthread_recursive_lock_destroy_func): Renamed from
53546         glthread_recursive_lock_destroy.
53547
53548 2008-08-14  Bruno Haible  <bruno@clisp.org>
53549
53550         * lib/glthread/lock.h: Renamed from lib/lock.h.
53551         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
53552         * lib/glthread/tls.h: Renamed from lib/tls.h.
53553         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
53554         * lib/fstrcmp.c: Update includes.
53555         * lib/strsignal.c: Update includes.
53556         * modules/lock (Files, Makefile.am): Update.
53557         (Include): Change to "glthread/lock.h".
53558         * modules/tls (Files, Makefile.am): Update.
53559         (Include): Change to "glthread/tls.h".
53560         * tests/test-lock.c: Update includes.
53561         * tests/test-tls.c: Update includes.
53562         * NEWS: Mention the renamed header files.
53563
53564 2008-08-11  Jim Meyering  <meyering@redhat.com>
53565
53566         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
53567
53568 2008-08-11  Eric Blake  <ebb9@byu.net>
53569
53570         test-c-stack: avoid C99-ism
53571         * tests/test-c-stack.c (main): Fix whitespace, move declaration
53572         before statement.
53573         Reported by Alain Guibert.
53574
53575 2008-08-10  Jim Meyering  <meyering@redhat.com>
53576
53577         ensure that return value of uinttostr et al are not ignored
53578         * lib/inttostr.h (__GNUC_PREREQ): Define.
53579         (__attribute_warn_unused_result__): Define.
53580         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
53581
53582 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
53583
53584         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
53585         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
53586
53587 2008-08-07  Jim Meyering  <meyering@redhat.com>
53588
53589         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
53590
53591         * modules/mkstemp (License): Relicense under LGPLv2+.
53592         * modules/tempname (License): Likewise.
53593
53594 2008-08-06  Bruno Haible  <bruno@clisp.org>
53595
53596         * lib/poll.c (poll): Further micro-optimization.
53597
53598 2008-08-06  Jim Meyering  <meyering@redhat.com>
53599
53600         inet_pton.c: use locale-independent tolower
53601         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
53602         (inet_pton6): Use c_tolower rather than tolower.
53603         * modules/inet_pton (Depends-on): Add c-ctype.
53604
53605 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
53606
53607         * lib/poll.c (poll): Avoid division when timeout is 0, cache
53608         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
53609
53610 2008-08-06  Jim Meyering  <meyering@redhat.com>
53611
53612         * modules/inet_pton (License): Relicense under LGPLv2+.
53613
53614 2008-08-03  Bruno Haible  <bruno@clisp.org>
53615
53616         Additional non-aborting API for lock and tls.
53617         * lib/lock.h: Include <errno.h>.
53618         (glthread_lock_init): New macro/function.
53619         (gl_lock_init): Define as wrapper around glthread_lock_init.
53620         (glthread_lock_lock): New macro/function.
53621         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
53622         (glthread_lock_unlock): New macro/function.
53623         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
53624         (glthread_lock_destroy): New macro/function.
53625         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
53626         (glthread_rwlock_init): New macro/function.
53627         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
53628         (glthread_rwlock_rdlock): New macro/function.
53629         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
53630         (glthread_rwlock_wrlock): New macro/function.
53631         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
53632         (glthread_rwlock_unlock): New macro/function.
53633         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
53634         (glthread_rwlock_destroy): New macro/function.
53635         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
53636         (glthread_recursive_lock_init): New macro/function.
53637         (gl_recursive_lock_init): Define as wrapper around
53638         glthread_recursive_lock_init.
53639         (glthread_recursive_lock_lock): New macro/function.
53640         (gl_recursive_lock_lock): Define as wrapper around
53641         glthread_recursive_lock_lock.
53642         (glthread_recursive_lock_unlock): New macro/function.
53643         (gl_recursive_lock_unlock): Define as wrapper around
53644         glthread_recursive_lock_unlock.
53645         (glthread_recursive_lock_destroy): New macro/function.
53646         (gl_recursive_lock_destroy): Define as wrapper around
53647         glthread_recursive_lock_destroy.
53648         (glthread_once): New macro/function.
53649         (gl_once): Define as wrapper around glthread_once.
53650         Update function declarations.
53651         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
53652         glthread_rwlock_init. Return error code.
53653         (glthread_rwlock_rdlock_multithreaded): Renamed from
53654         glthread_rwlock_rdlock. Return error code.
53655         (glthread_rwlock_wrlock_multithreaded): Renamed from
53656         glthread_rwlock_wrlock. Return error code.
53657         (glthread_rwlock_unlock_multithreaded): Renamed from
53658         glthread_rwlock_unlock. Return error code.
53659         (glthread_rwlock_destroy_multithreaded): Renamed from
53660         glthread_rwlock_destroy. Return error code.
53661         (glthread_recursive_lock_init_multithreaded): Renamed from
53662         glthread_recursive_lock_init. Return error code.
53663         (glthread_recursive_lock_lock_multithreaded): Renamed from
53664         glthread_recursive_lock_lock. Return error code.
53665         (glthread_recursive_lock_unlock_multithreaded): Renamed from
53666         glthread_recursive_lock_unlock. Return error code.
53667         (glthread_recursive_lock_destroy_multithreaded): Renamed from
53668         glthread_recursive_lock_destroy. Return error code.
53669         (glthread_once_call): Make static.
53670         (glthread_once_multithreaded): Renamed from glthread_once.
53671         * lib/tls.h: Include <errno.h>.
53672         (glthread_tls_key_init): New macro/function.
53673         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
53674         (glthread_tls_set): New macro/function.
53675         (gl_tls_set): Define as wrapper around glthread_tls_set.
53676         (glthread_tls_key_destroy): New macro/function.
53677         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
53678         Update function declarations.
53679         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
53680         glthread_tls_get.
53681         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53682
53683 2008-08-04  Eric Blake  <ebb9@byu.net>
53684
53685         gnumakefile: use space, not TAB, outside of targets
53686         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
53687
53688 2008-08-02  Jim Meyering  <meyering@redhat.com>
53689
53690         getdate.y: avoid locale-dependent date parsing failure
53691         In Turkish locales, getdate would fail to recognize keywords
53692         containing a lowercase "i".  The solution is not to rely on
53693         locale-sensitive case-conversion.
53694         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
53695         (lookup_word): Use c_toupper in place of toupper.
53696         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
53697         Reported by Vefa Bicakci <bicave@superonline.com> in
53698         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
53699         * modules/getdate (Depends-on): Add c-ctype.
53700
53701 2008-08-02  Bruno Haible  <bruno@clisp.org>
53702
53703         * gnulib-tool (func_import): When updating or creating a .gitignore
53704         file, prepend each added line with a slash, and ignore leading slashes
53705         from the existing lines.
53706         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53707
53708 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53709
53710         Portability fix for GNU make 3.79.1.
53711         * top/GNUmakefile: Avoid 'else COND', which older GNU make
53712         versions do not understand.
53713
53714 2008-08-01  Bruno Haible  <bruno@clisp.org>
53715
53716         Work around bug of HP-UX 10.20 cc with -0.0 literal.
53717         * tests/test-isnanf.h (zero): New variable.
53718         (main): Avoid literal -0.0f.
53719         * tests/test-isnand.h (zero): New variable.
53720         (main): Avoid literal -0.0.
53721         * tests/test-isnanl.h (zero): New variable.
53722         (main): Avoid literal -0.0L.
53723         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
53724         (test_float, test_double, test_long_double): Avoid literals -0.0f,
53725         -0.0, -0.0L.
53726         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
53727         (test_signbitd): Avoid literal -0.0.
53728         (test_signbitl): Avoid literal -0.0L.
53729         * tests/test-ceilf1.c (zero): New variable.
53730         (main): Avoid literal -0.0f.
53731         * tests/test-ceill.c (zero): New variable.
53732         (main): Avoid literal -0.0L.
53733         * tests/test-floorf1.c (zero): New variable.
53734         (main): Avoid literal -0.0f.
53735         * tests/test-floorl.c (zero): New variable.
53736         (main): Avoid literal -0.0L.
53737         * tests/test-roundf1.c (zero): New variable.
53738         (main): Avoid literal -0.0f.
53739         * tests/test-round1.c (zero): New variable.
53740         (main): Avoid literal -0.0.
53741         * tests/test-roundl.c (zero): New variable.
53742         (main): Avoid literal -0.0L.
53743         * tests/test-truncf1.c (zero): New variable.
53744         (main): Avoid literal -0.0f.
53745         * tests/test-trunc1.c (zero): New variable.
53746         (main): Avoid literal -0.0.
53747         * tests/test-truncl.c (zero): New variable.
53748         (main): Avoid literal -0.0L.
53749         * tests/test-frexp.c (zero): New variable.
53750         (main): Avoid literal -0.0.
53751         * tests/test-frexpl.c (zero): New variable.
53752         (main): Avoid literal -0.0L.
53753         * tests/test-ldexpl.c (zero): New variable.
53754         (main): Avoid literal -0.0L.
53755         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53756         (zerod, zerol): New variables.
53757         (test_function): Avoid literals -0.0, -0.0L.
53758         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53759         (zerod, zerol): New variables.
53760         (test_function): Avoid literals -0.0, -0.0L.
53761         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53762         (zerod, zerol): New variables.
53763         (test_function): Avoid literals -0.0, -0.0L.
53764         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53765         (zerod, zerol): New variables.
53766         (test_function): Avoid literals -0.0, -0.0L.
53767         * tests/test-strtod.c (zero): New variable.
53768         (main): Avoid literal -0.0.
53769         Reported by Jonathan C. Patschke <jp@centtech.com>.
53770
53771 2008-07-31  Jim Meyering  <meyering@redhat.com>
53772
53773         sha256.h: correct definition of SHA224_DIGEST_SIZE
53774         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
53775         Reported by Paulie Pena IV <paulie4@gmail.com>.
53776         Define as 224 / 8, rather than as a literal.
53777         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
53778         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
53779         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
53780
53781 2008-07-31  Bruno Haible  <bruno@clisp.org>
53782
53783         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
53784         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
53785         Reported by Jonathan Patschke <jp@centtech.com>.
53786
53787 2008-07-31  Bruno Haible  <bruno@clisp.org>
53788
53789         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
53790         Reported by Paolo Bonzini <bonzini@gnu.org>.
53791
53792 2008-07-30  Eric Blake  <ebb9@byu.net>
53793
53794         test-strtod: allow compilation without -lm
53795         * tests/test-strtod.c (main): Avoid link dependence on fabs.
53796         Reported by Dennis Clarke <blastwave@gmail.com>.
53797
53798 2008-07-28  Jim Meyering  <meyering@redhat.com>
53799
53800         bootstrap: work also when there are no .po files in po/
53801         * build-aux/bootstrap (update_po_files): Complete the change
53802         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
53803
53804 2008-07-27  Jim Meyering  <meyering@redhat.com>
53805
53806         * users.txt: Add zile.
53807
53808 2008-07-26  Ben Pfaff  <blp@gnu.org>
53809
53810         Add missing dependencies on new m4/exponent[fdl].m4 files.
53811         * modules/isnanf-nolibm: Add m4/exponentf.m4.
53812         * modules/isnand-nolibm: Add m4/exponentd.m4.
53813         * modules/isnanl-nolibm: Add m4/exponentl.m4.
53814         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
53815         m4/isnan[fdl].m4, because the macros actually used moved.
53816         Reported by Jim Meyering.
53817
53818 2008-07-14  Ben Pfaff  <blp@gnu.org>
53819
53820         Add isinf module.
53821         * lib/isinf.c: New file.
53822         * lib/math.in.h: Define isinf macro if we have decided to replace
53823         it.
53824         * m4/isinf.m4: New file.
53825         * m4/math_h.m4: Initialize and substitute variables for isinf
53826         module.
53827         * modules/isinf: New file.
53828         * modules/isinf-tests: New file.
53829         * modules/math: Add substitutions for new module.
53830         * tests/test-isinf.c: New file.
53831         * doc/posix-functions/isinf.texi: Mention new module.
53832         * MODULES.html.sh: Mention new module.
53833
53834 2008-07-14  Ben Pfaff  <blp@gnu.org>
53835
53836         Factor out some macros for use by additional modules.
53837         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
53838         exponentf.m4.
53839         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
53840         exponentd.m4.
53841         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
53842         file exponentl.m4.
53843         * m4/exponentf.m4: New file.
53844         * m4/exponentd.m4: New file.
53845         * m4/exponentl.m4: New file.
53846         * modules/isnanf: Use new file m4/exponentf.m4.
53847         * modules/isnand: Use new file m4/exponentd.m4.
53848         * modules/isnanl: Use new file m4/exponentl.m4.
53849
53850 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
53851
53852         mktime.c: normalize tp->tm_isdst value to -1/0/1.
53853         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
53854         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
53855         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
53856
53857         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
53858         readlink on platforms without PATH_MAX.
53859
53860 2008-07-21  Eric Blake  <ebb9@byu.net>
53861
53862         Warn, not fail, on stale version.
53863         * top/GNUmakefile (_curr-ver): Tone down previous patch.
53864
53865         Don't allow installation with stale devel version number.
53866         * top/GNUmakefile (_is-install-target): New macro.
53867         (_curr-ver): Forbid installation with stale version number.
53868
53869 2008-07-20  Bruno Haible  <bruno@clisp.org>
53870
53871         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
53872         TESTS_ENVIRONMENT.
53873         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
53874
53875 2008-07-20  Bruno Haible  <bruno@clisp.org>
53876
53877         * lib/c-stack.h (c_stack_action): Add documentation.
53878         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
53879
53880 2008-07-20  Bruno Haible  <bruno@clisp.org>
53881
53882         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
53883         * modules/readlink (License): Likewise.
53884
53885 2008-07-17  Eric Blake  <ebb9@byu.net>
53886
53887         * modules/c-stack (Link): Fix typo.
53888
53889         Make c-stack use libsigsegv, when available.
53890         * modules/c-stack (Depends-on): Add libsigsegv.
53891         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
53892         needed.
53893         * lib/c-stack.c (SIGSTKSZ): Define fallback.
53894         (segv_handler, overflow_handler, c_stack_action)
53895         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
53896         implementation when libsigsegv is available, but only when using
53897         the library is necessary.
53898         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
53899         comment, explaining why XSI check fails on Linux.
53900         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
53901         * tests/test-c-stack2.sh: Tweak skip message.
53902         * NEWS: Document new link-time requirements.
53903
53904 2008-07-16  Eric Blake  <ebb9@byu.net>
53905
53906         c-stack: Expose false positives when not using libsigsegv.
53907         * modules/c-stack-tests (Files): Expand test.
53908         * tests/test-c-stack.c (main): Add means to conditionally trigger
53909         non-overflow SIGSEGV.
53910         * tests/test-c-stack2.sh: New file.
53911
53912 2008-07-14  Bruno Haible  <bruno@clisp.org>
53913
53914         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
53915         Reported by Eric Blake.
53916
53917 2008-07-14  Sam Steingold  <sds@gnu.org>
53918             Bruno Haible  <bruno@clisp.org>
53919
53920         New module libsigsegv.
53921         * modules/libsigsegv: New file.
53922         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
53923         modifications.
53924         * MODULES.html.sh (Signal handling): New section.
53925
53926 2008-07-14  Bruno Haible  <bruno@clisp.org>
53927
53928         * modules/unictype/ctype-* (Description): Add the word "function".
53929         Improves the resulting doc in MODULES.html.
53930
53931 2008-07-12  Ben Pfaff  <blp@gnu.org>
53932
53933         Add longlong module.
53934         * modules/longlong: New file.
53935
53936 2008-07-12  Bruno Haible  <bruno@clisp.org>
53937
53938         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
53939         to empty.
53940
53941 2008-07-10  Ben Pfaff  <blp@gnu.org>
53942
53943         Add isnan module.
53944         * doc/posix-functions/isnan.texi: Mention new module.
53945         * lib/math.in.h: Define isnan macro if we have decided to replace
53946         it.
53947         * m4/isnan.m4: New file.
53948         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
53949         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
53950         also.
53951         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
53952         redundancy.
53953         * m4/math_h.m4: Initialize and substitute variables for isnan
53954         module.
53955         * modules/isnan: New file.
53956         * modules/isnan-tests: New file.
53957         * modules/math: Add substitutions for new module.
53958         * tests/test-isnan.c: New file.
53959         * MODULES.html.sh: Mention new module.
53960
53961 2008-07-10  Ben Pfaff  <blp@gnu.org>
53962
53963         Add isnanf module.
53964         * lib/isnanf.m4: New file.
53965         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
53966         (gl_HAVE_ISNANF_IN_LIBM): New macro.
53967         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
53968         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
53969         * modules/isnanf: New file.
53970         * modules/isnanf-tests: New file.
53971         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
53972         files.
53973         * tests/test-isnanf-nolibm.c: factored most of its contents into
53974         new file tests/test-isnanf.h.
53975         * tests/test-isnanf.h: New file.
53976         * tests/test-isnanf.c: New file.
53977         * MODULES.html.sh: Mention new module.
53978         * doc/glibc-functions/isnanf.texi: Mention new module.
53979
53980 2008-07-10  Ben Pfaff  <blp@gnu.org>
53981
53982         Add isnand module.
53983         * lib/isnand.h: New file.
53984         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
53985         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
53986         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
53987         functionality also.
53988         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
53989         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
53990         (gl_HAVE_ISNAND_IN_LIBM): New macro.
53991         * modules/isnand: New file.
53992         * modules/isnand-tests: New file.
53993         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
53994         files.
53995         * tests/test-isnand-nolibm.c: factored most of its contents into
53996         new file tests/test-isnand.h.
53997         * tests/test-isnand.h: New file.
53998         * tests/test-isnand.c: New file.
53999         * MODULES.html.sh: Mention new module.
54000
54001 2008-07-10  Ben Pfaff  <blp@gnu.org>
54002
54003         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54004         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54005         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54006         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54007         * modules/isnanf-nolibm: Update references to renamed files.
54008         * modules/isnand-nolibm: Likewise.
54009         * modules/isnanf-nolibm-tests: Likewise.
54010         * modules/isnand-nolibm-tests: Likewise.
54011         * lib/frexp.c: Likewise.
54012         * lib/isfinite.c: Likewise.
54013         * lib/signbitd.c: Likewise.
54014         * lib/signbitf.c: Likewise.
54015         * lib/vasnprintf.c: Likewise.
54016         * tests/test-ceilf1.c: Likewise.
54017         * tests/test-ceilf2.c: Likewise.
54018         * tests/test-floorf1.c: Likewise.
54019         * tests/test-floorf2.c: Likewise.
54020         * tests/test-frexp.c: Likewise.
54021         * tests/test-round1.c: Likewise.
54022         * tests/test-round2.c: Likewise.
54023         * tests/test-roundf1.c: Likewise.
54024         * tests/test-strtod.c: Likewise.
54025         * tests/test-trunc1.c: Likewise.
54026         * tests/test-trunc2.c: Likewise.
54027         * tests/test-truncf1.c: Likewise.
54028         * tests/test-truncf2.c: Likewise.
54029         * NEWS: Mention the renamed header files.
54030
54031 2008-07-11  Jim Meyering  <meyering@redhat.com>
54032
54033         vc-list-files: make the last-resort awk code more portable
54034         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54035         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54036         does not support it.
54037
54038 2008-07-10  Eric Blake  <ebb9@byu.net>
54039
54040         Work with tar's bootstrap.
54041         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54042         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54043         an m4 comment.
54044
54045 2008-07-09  Jim Meyering  <meyering@redhat.com>
54046
54047         posix-shell.m4: fix typo that made this test malfunction
54048         * m4/posix-shell.m4: Remove capitalization in variable name.
54049
54050 2008-07-08  Bruno Haible  <bruno@clisp.org>
54051
54052         * m4/onceonly.m4: Update comments.
54053         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54054
54055 2008-07-04  Jim Meyering  <meyering@redhat.com>
54056
54057         * users.txt: Add vc-dwim.
54058         (bison, coreutils): Use the gitweb URL.
54059
54060 2008-07-03  Jim Meyering  <meyering@redhat.com>
54061
54062         * users.txt: Add libffcall.  From Sam Steingold.
54063
54064 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54065
54066         getdate.y: do not ignore TZ with relative day, month or year offset
54067         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54068         relative-date-handling, since otherwise, the latter would clobber the
54069         sole output (an updated Start value) of the tz-handling block.
54070         * tests/test-getdate.c: Tests for the fix
54071
54072 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54073
54074         Recognize 'foo_LIBRARIES += libgnu.a'.
54075         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54076         makefile snippet has already specified an installation location,
54077         also using '+='.
54078
54079 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54080
54081         getdate.y: factor out common actions
54082         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54083         Use them in place of open-coded actions.
54084
54085 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54086
54087         Add self-test for getdate module.
54088         * modules/getdate-tests: New file.
54089         * tests/test-getdate.c: New file.
54090
54091 2008-06-29  Bruno Haible  <bruno@clisp.org>
54092
54093         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
54094         .gitignore.
54095         Reported by Sylvain Beucler <beuc@beuc.net>.
54096
54097 2008-06-29  Bruno Haible  <bruno@clisp.org>
54098
54099         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
54100         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
54101
54102 2008-06-29  Bruno Haible  <bruno@clisp.org>
54103
54104         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
54105         EXTRA_DIST.
54106         Reported by Sylvain Beucler <beuc@beuc.net>.
54107
54108 2008-06-26  Jim Meyering  <meyering@redhat.com>
54109
54110         make several modules depend on the "open" module
54111         This provides slightly increased consistency when opening-for-write
54112         the name of a non-directory spelled with a trailing slash.
54113         * modules/chdir-safer: Likewise.
54114         * modules/chown: Likewise.
54115         * modules/clean-temp: Likewise.
54116         * modules/copy-file: Likewise.
54117         * modules/fchdir: Likewise.
54118         * modules/fcntl-safer: Likewise.
54119         * modules/pipe: Likewise.
54120         * modules/utime: Likewise.
54121         Prompted by Eric Blake and Bruno Haible.
54122
54123 2008-06-24  Andreas Schwab  <schwab@suse.de>
54124
54125         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
54126         literals can be used as initializers for global variables.
54127
54128 2008-06-23  Eric Blake  <ebb9@byu.net>
54129
54130         Make gnulib-cache.m4 easier to diff.
54131         * gnulib-tool (func_import): Allow newlines when reading cached
54132         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
54133
54134 2008-06-23  Bruno Haible  <bruno@clisp.org>
54135
54136         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
54137         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
54138         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
54139         m4/signalblocking.m4.
54140         (gl_PREREQ_SIGACTION): Don't invoke it.
54141         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
54142         gl_PREREQ_SIG_HANDLER_H.
54143         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54144         Don't check for sigaction here.
54145
54146 2008-06-23  Bruno Haible  <bruno@clisp.org>
54147
54148         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
54149         (install_handlers): Don't set the SA_RESETHAND flag.
54150
54151 2008-06-23  Bruno Haible  <bruno@clisp.org>
54152
54153         * m4/sigaction.m4: Comment fixes.
54154         * lib/signal.in.h: Likewise.
54155
54156 2008-06-23  Eric Blake  <ebb9@byu.net>
54157
54158         Fix typo.
54159         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
54160
54161         Avoid SA_ namespace.
54162         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
54163         Reported by Ralf Wildenhues.
54164
54165         Avoid test failure due to SA_RESTORER.
54166         * tests/test-sigaction.c (SA_MASK): New macro.
54167         (main): Avoid failing due to extension flags being set.
54168         Reported by Jim Meyering.
54169
54170         Revert use of sig-handler.h in sigprocmask.c.
54171         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
54172         it requires the existence of struct sigaction.
54173         * lib/sigprocmask.c (handler_t): Restore typedef.
54174         (rpl_signal, old_handlers): Use local type.
54175
54176 2008-06-22  Bruno Haible  <bruno@clisp.org>
54177
54178         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
54179         conditionally.
54180         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54181
54182 2008-06-22  Bruno Haible  <bruno@clisp.org>
54183
54184         * doc/posix-functions/siginterrupt.texi: Move note.
54185
54186         * lib/signal.in.h (SA_RESTART): New macro.
54187         * lib/sigaction.c: Update comment.
54188
54189         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
54190
54191         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
54192         (gl_PREREQ_SIGPROCMASK): Invoke it.
54193         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
54194
54195         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
54196
54197         * lib/sigprocmask.c: Update a comment.
54198
54199 2008-06-21  Eric Blake  <ebb9@byu.net>
54200
54201         Use sigaction module rather than signal().
54202         * modules/c-stack (Depends-on): Add sigaction.
54203         * modules/fatal-signal (Depends-on): Likewise.
54204         * modules/nanosleep (Depends-on): Likewise.
54205         * modules/sigprocmask (Files): Add sig-handler.h.
54206         * modules/sigaction (Files): Likewise.
54207         * lib/sig-handler.h (get_handler): New file, suggested by Paul
54208         Eggert.
54209         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
54210         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
54211         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
54212         (init_fatal_signals): Likewise.
54213         * lib/nanosleep.c (rpl_nanosleep): Likewise.
54214         (siginterrupt): Delete fallback.
54215         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
54216         instead.
54217         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
54218         siginterrupt.
54219
54220         New module sigaction, for mingw.
54221         * modules/sigaction: New module...
54222         * modules/sigaction-tests: ...and its test.
54223         * m4/sigaction.m4: New file.
54224         * lib/sigaction.c: Likewise.
54225         * tests/test-sigaction.c: Likewise.
54226         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
54227         * modules/signal (Makefile.am): Likewise.
54228         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
54229         needed.
54230         * doc/posix-headers/signal.texi (signal.h): Mention provided
54231         types.
54232         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
54233         that sigaction is preferable.
54234         * doc/posix-functions/sigaction.texi (sigaction): Mention new
54235         module.
54236         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54237         sigaction.
54238
54239         Improve robustness of sigprocmask by overriding signal.
54240         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
54241         is in use.
54242         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
54243         (SIGKILL, SIGSTOP): Provide fallbacks.
54244         (rpl_signal): Implement.
54245         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
54246         signal can be called inside handlers.
54247
54248         Fix nanosleep module on mingw.
54249         * modules/nanosleep (Depends-on): Add sys_select.
54250         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
54251
54252         Fix licensing of sigprocmask.
54253         * modules/raise (License): Relicense as LGPL.
54254
54255 2008-06-21  Bruno Haible  <bruno@clisp.org>
54256
54257         * lib/propername.c (proper_name_utf8): Don't use the transliterated
54258         result if it contains question marks.
54259         Reported by Michael Geng <linux@michaelgeng.de>.
54260
54261 2008-06-19  Bruno Haible  <bruno@clisp.org>
54262
54263         Fix CVS-ism.
54264         * doc/gnulib.texi: Include updated-stamp.texi.
54265         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
54266         (updated-stamp.texi): New rule.
54267         (gnulib.info): Depend on it.
54268         * doc/.gitignore: Add updated-stamp.texi.
54269         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
54270
54271 2008-06-19  Bruno Haible  <bruno@clisp.org>
54272
54273         * doc/Makefile (gnulib.info): Update and simplify dependencies.
54274         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54275
54276 2008-06-19  Eric Blake  <ebb9@byu.net>
54277
54278         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
54279         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
54280         Reported by Stepan Kasal.
54281
54282 2008-06-18  Bruno Haible  <bruno@clisp.org>
54283
54284         * lib/fatal-signal.c (init_fatal_signals): Add comment.
54285         Reported by Eric Blake.
54286
54287 2008-06-18  Eric Blake  <ebb9@byu.net>
54288
54289         Work around cygwin 1.5.25 strsignal bug.
54290         * tests/test-strsignal.c: Allow for const char *.
54291         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
54292
54293 2008-06-18  Simon Josefsson  <simon@josefsson.org>
54294
54295         * users.txt: Update URL to article and add author/date
54296         information.
54297
54298 2008-06-17  Bruno Haible  <bruno@clisp.org>
54299
54300         New macro gl_DISABLE_THREADS.
54301         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
54302         if the user did not pass --enable-threads or --disable-threads option.
54303         (gl_DISABLE_THREADS): New macro.
54304         Reported by Eric Blake <ebb9@byu.net>.
54305
54306 2008-06-17  Bruno Haible  <bruno@clisp.org>
54307
54308         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
54309         when the macro ignores it.
54310         Based on a patch by Eric Blake <ebb9@byu.net>.
54311
54312 2008-06-17  Bruno Haible  <bruno@clisp.org>
54313
54314         * modules/tls (License): Change to LGPLv2+.
54315         Reported by Eric Blake.
54316
54317 2008-06-17  Eric Blake  <ebb9@byu.net>
54318
54319         Simplify c-stack prerequisites.
54320         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
54321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
54322         no longer requires <ucontext.h> to exist.  Optimize setrlimit
54323         check.
54324         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
54325         <sys/resource.h>.
54326
54327         Move c-stack test into testsuite.
54328         * modules/c-stack-tests: New file.
54329         * lib/c-stack.c [DEBUG]: Move test program...
54330         * tests/test-c-stack.c: ...into this new file.  Skip rather than
54331         fail test if sigaltstack is lacking.
54332         * tests/test-c-stack.sh: New driver file.
54333
54334 2008-06-16  Eric Blake  <ebb9@byu.net>
54335
54336         Use raise module consistently.
54337         * modules/fatal-signal (Depends-on): Add raise.
54338         * modules/sigprocmask (Depends-on): Likewise.
54339         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
54340         * lib/sigprocmask.c (sigprocmask): Likewise.
54341         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54342         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
54343
54344         Fix compliance bug in sigpending.
54345         * lib/sigprocmask.c (sigpending): Return pending array via
54346         parameter, not return value.
54347
54348 2008-06-14  Eric Blake  <ebb9@byu.net>
54349
54350         Improve obstack-printf test code.
54351         * tests/test-obstack-printf.c (test_function): Fix comment, and
54352         simplify usage of obstack_* in macros.  Add a test for coverage.
54353         Reported by Bruno Haible.
54354
54355 2008-06-14  Bruno Haible  <bruno@clisp.org>
54356
54357         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
54358         array size as a constant, not as a const variable.
54359         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
54360         AC_USE_SYSTEM_EXTENSIONS.
54361         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
54362         Test whether the obstack_printf function actually exists.
54363         * modules/obstack-printf (Depends-on): Add extensions.
54364         (Include): Remove obstack.h.
54365         * modules/obstack-printf-posix (Depends-on): Add extensions.
54366         (Include): Remove obstack.h.
54367
54368 2008-06-13  Eric Blake  <ebb9@byu.net>
54369
54370         Add obstack-printf and obstack-printf-posix modules.
54371         * modules/obstack-printf: New file.
54372         * modules/obstack-printf-posix: Likewise.
54373         * MODULES.html.sh (Misc): Mention them.
54374         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
54375         Likewise.
54376         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
54377         Likewise.
54378         * modules/stdio (Makefile.am): Accomodate new modules.
54379         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54380         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
54381         Declare.
54382         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
54383         functions.
54384         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
54385         (gl_REPLACE_OBSTACK_PRINTF): New macros
54386         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
54387         * tests/test-obstack-printf.c: New file.
54388         * modules/obstack-printf-tests: Likewise.
54389         * modules/obstack-printf-posix-tests: Likewise.
54390
54391 2008-06-11  Bruno Haible  <bruno@clisp.org>
54392
54393         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
54394         * lib/open.c: Include errno.h.
54395         (open): Fail when attempting to write to a file that has a trailing
54396         slash.
54397         * tests/test-open.c (main): Test against trailing slash bug.
54398         * doc/posix-functions/open.texi: Mention the trailing slash bug.
54399
54400 2008-06-10  Bruno Haible  <bruno@clisp.org>
54401
54402         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
54403         for $? to work inside the trap command, with various /bin/sh-s.
54404         * tests/test-vc-list-files-cvs.sh: Likewise.
54405
54406 2008-06-10  Bruno Haible  <bruno@clisp.org>
54407
54408         * lib/acl-internal.h: Don't include gettext.h here.
54409         * lib/set-mode-acl.c: Include gettext.h here.
54410         * lib/copy-acl.c: Likewise.
54411
54412 2008-06-10  Bruno Haible  <bruno@clisp.org>
54413
54414         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
54415         * lib/wait-process.c (wait_subprocess): Likewise.
54416         * lib/execute.h (execute): Add termsigp argument.
54417         * lib/execute.c (execute): Likewise.
54418         * lib/csharpcomp.c (compile_csharp_using_pnet,
54419         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
54420         * lib/csharpexec.c (execute_csharp_using_pnet,
54421         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
54422         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
54423         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
54424         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
54425         is_jikes_present): Update.
54426         * lib/javaexec.c (execute_java_class): Update.
54427         * lib/javaversion.c (execute_and_read_line): Update.
54428         * NEWS: Document the changes.
54429         Reported by Eric Blake.
54430
54431 2008-06-10  Eric Blake  <ebb9@byu.net>
54432
54433         Add missing include.
54434         * tests/test-strstr.c (includes): Add <signal.h>.
54435         * tests/test-strcasestr.c (includes): Likewise.
54436         * tests/test-memmem.c (includes): Likewise.
54437
54438 2008-06-10  Bruno Haible  <bruno@clisp.org>
54439
54440         * lib/wait-process.c (wait_subprocess): Add an assertion.
54441
54442 2008-06-10  Bruno Haible  <bruno@clisp.org>
54443
54444         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
54445
54446 2008-06-10  Bruno Haible  <bruno@clisp.org>
54447
54448         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
54449         using alarm().
54450         * tests/test-strcasestr.c (main): Likewise.
54451         * tests/test-strstr.c (main): Likewise.
54452
54453 2008-06-09  Bruno Haible  <bruno@clisp.org>
54454
54455         Work around the Solaris 10 ACE ACLs ABI change.
54456         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
54457         declare if ACL_NO_TRIVIAL is present.
54458         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
54459         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
54460         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
54461         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
54462         define if ACL_NO_TRIVIAL is present.
54463         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
54464         and use the current ABI.
54465         (file_has_acl): Use same #if condition as elsewhere.
54466         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
54467         in use, and use the current ABI.
54468         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
54469         Reported by Jim Meyering.
54470
54471 2008-06-09  Eric Blake  <ebb9@byu.net>
54472
54473         Work around environments that (stupidly) ignore SIGALRM.
54474         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
54475         before using alarm().
54476         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54477         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54478         Reported by Ian Beckwith <ianb@erislabs.net>.
54479
54480         Produce autobuild blurb earlier in log.
54481         * modules/autobuild (configure.ac-early): Move AB_INIT here.
54482
54483 2008-06-09  Jim Meyering  <meyering@redhat.com>
54484         and OndÅ™ej Vašík  <ovasik@redhat.com>
54485
54486         utimens.c: correct kernel bug work-around
54487         OndÅ™ej Vašík found that the invalid return value of 280 indicates
54488         failure, not success, and the kernel bug we're trying to work
54489         around affects not just the utimensat call, but also the fallback
54490         futimens call.
54491         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
54492         not success.
54493         [HAVE_FUTIMENS]: Use the same work-around, here.
54494
54495 2008-06-09  Jim Meyering  <meyering@redhat.com>
54496
54497         add more guards around definition of ACE_-related code
54498         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
54499         ALLOW and ACE_OWNER are also defined.
54500
54501 2008-06-08  Bruno Haible  <bruno@clisp.org>
54502
54503         * lib/acl-internal.h: Add me as co-author.
54504         * lib/file-has-acl.c: Likewise.
54505         * lib/set-mode-acl.c: Likewise.
54506         * lib/copy-acl.c: Likewise.
54507
54508 2008-06-08  Bruno Haible  <bruno@clisp.org>
54509
54510         Add support for AIX ACLs.
54511         * lib/acl-internal.h (acl_nontrivial): New declaration.
54512         * lib/file-has-acl.c (acl_nontrivial): New function.
54513         (file_has_acl): Add implementation using AIX 4 ACL API.
54514         * lib/set-mode-acl.c (qset_acl): Likewise.
54515         * lib/copy-acl.c (qcopy_acl): Likewise.
54516
54517 2008-06-08  Bruno Haible  <bruno@clisp.org>
54518
54519         Add support for HP-UX ACLs.
54520         * lib/acl-internal.h (acl_nontrivial): New declaration.
54521         * lib/file-has-acl.c (acl_nontrivial): New function.
54522         (file_has_acl): Add implementation using HP-UX 11 ACL API.
54523         * lib/set-mode-acl.c (qset_acl): Likewise.
54524         * lib/copy-acl.c (qcopy_acl): Likewise.
54525
54526 2008-06-08  Bruno Haible  <bruno@clisp.org>
54527
54528         Add support for Cygwin ACLs.
54529         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
54530         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
54531         the chmod_or_fchmod call.
54532         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
54533
54534 2008-06-08  Bruno Haible  <bruno@clisp.org>
54535
54536         Fix bug with setuid modes in Solaris 10+ code.
54537         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
54538         succeeded, when the mode contains some special bits.
54539
54540 2008-06-08  Bruno Haible  <bruno@clisp.org>
54541
54542         Add support for Solaris 7..10 ACLs.
54543         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
54544         declarations.
54545         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
54546         functions.
54547         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
54548         * lib/set-mode-acl.c (qset_acl): Likewise.
54549         * lib/copy-acl.c (qcopy_acl): Likewise.
54550
54551 2008-06-08  Bruno Haible  <bruno@clisp.org>
54552
54553         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
54554         declaration.
54555         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
54556         (acl_access_nontrivial): Remove MacOS X case.
54557         (file_has_acl): Use acl_extended_nontrivial.
54558         * lib/copy-acl.c (qcopy_acl): Likewise.
54559
54560 2008-06-08  Bruno Haible  <bruno@clisp.org>
54561
54562         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
54563
54564 2008-06-08  Jim Meyering  <meyering@redhat.com>
54565
54566         * modules/acl (Maintainer): Add Bruno Haible.
54567
54568 2008-06-07  Bruno Haible  <bruno@clisp.org>
54569
54570         Improve support for Tru64 ACLs.
54571         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
54572         ACL on OSF/1.
54573
54574 2008-06-07  Bruno Haible  <bruno@clisp.org>
54575
54576         Add support for MacOS X ACLs.
54577         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
54578         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
54579         * lib/set-mode-acl.c (qset_acl): Likewise.
54580         * lib/copy-acl.c (qcopy_acl): Likewise.
54581
54582 2008-06-07  Bruno Haible  <bruno@clisp.org>
54583
54584         Fix memory leak introduced on 2008-05-22.
54585         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
54586         use.
54587
54588 2008-06-07  Bruno Haible  <bruno@clisp.org>
54589
54590         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
54591         to construct an empty ACL.
54592
54593 2008-06-07  Bruno Haible  <bruno@clisp.org>
54594
54595         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
54596         precisely.
54597         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
54598
54599 2008-06-07  Bruno Haible  <bruno@clisp.org>
54600
54601         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
54602         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
54603
54604 2008-06-07  Bruno Haible  <bruno@clisp.org>
54605
54606         * doc/posix-functions/_setjmp.texi: Explain the use of this function
54607         regardless of POSIX.
54608         * doc/posix-functions/_longjmp.texi: Likewise.
54609         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
54610         SystemV platform in this case.
54611
54612 2008-06-06  Eric Blake  <ebb9@byu.net>
54613
54614         Document abort() bugs.
54615         * doc/posix-functions/abort.texi (abort): Mention anomalies.
54616
54617         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
54618         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
54619         sigsetjmp.
54620         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
54621         siglongjmp, but only as a macro.
54622         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
54623         is obsolete.
54624         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
54625
54626         Tweak documentation to cover cygwin argz bugs.
54627         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
54628         argz bug fix; no code change needed since no cygwin releases
54629         occurred between the last fix and the bug being tested.
54630         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
54631         module and recently fixed cygwin bugs.
54632         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
54633         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
54634         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
54635         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
54636         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
54637         Likewise.
54638         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
54639         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
54640         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
54641         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
54642         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
54643         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
54644         Likewise.
54645
54646         Avoid gcc warning on cygwin.
54647         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
54648         !ACL_NO_TRIVIAL]: Avoid unused variable.
54649
54650 2008-06-05  Eric Blake  <ebb9@byu.net>
54651
54652         Be tolerant of UNKNOWN version in gnulib-tool test dir.
54653         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
54654         git-version-gen fails to come up with a version.
54655         Reported by Simon Josefsson.
54656
54657 2008-06-05  Jim Meyering  <meyering@redhat.com>
54658             Paul Eggert  <eggert@cs.ucla.edu>
54659
54660         utimens.c: work around a probable Linux kernel bug
54661         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
54662         appears to be a kernel bug that causes utimensat to return 280
54663         instead of 0, indicating success.
54664
54665 2008-06-04  Bruno Haible  <bruno@clisp.org>
54666
54667         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
54668         2008-06-01 commit.
54669
54670 2008-06-04  Bruno Haible  <bruno@clisp.org>
54671
54672         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
54673         * lib/file-has-acl.c (acl_access_nontrivial): New function.
54674         (file_has_acl): Use it. Save errno afterwards.
54675         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
54676
54677 2008-06-03  Bruno Haible  <bruno@clisp.org>
54678
54679         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
54680         draft code. Simplify #ifs.
54681         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
54682         Put Solaris code after POSIX-draft code. Fix comments regarding
54683         Solaris 10, HP-UX. Mention Cygwin.
54684         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
54685
54686 2008-06-03  Eric Blake  <ebb9@byu.net>
54687
54688         Provide fallback for older kernels.
54689         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
54690         Provide runtime fallback if kernel lacks support.
54691         Reported by Mike Frysinger.
54692
54693 2008-06-02  Bruno Haible  <bruno@clisp.org>
54694
54695         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
54696         it exists.
54697
54698 2008-06-02  Bruno Haible  <bruno@clisp.org>
54699
54700         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
54701         * lib/copy-acl.c (qcopy_acl): Update comment.
54702
54703 2008-06-02  Bruno Haible  <bruno@clisp.org>
54704
54705         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
54706         like ACL APIs.
54707
54708 2008-06-02  Bruno Haible  <bruno@clisp.org>
54709
54710         * tests/test-file-has-acl.sh: Use different code for Cygwin.
54711         * tests/test-set-mode-acl.sh: Likewise.
54712         * tests/test-copy-acl.sh: Likewise.
54713         * tests/test-copy-file.sh: Likewise.
54714
54715 2008-06-02  Bruno Haible  <bruno@clisp.org>
54716
54717         * tests/test-file-has-acl.sh: Remove unused code.
54718
54719 2008-06-01  Bruno Haible  <bruno@clisp.org>
54720
54721         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
54722         (copy_acl): Just a wrapper around qcopy_acl that emits the error
54723         messages.
54724         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
54725
54726 2008-06-01  Bruno Haible  <bruno@clisp.org>
54727
54728         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
54729         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
54730         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
54731         APIs.
54732         * modules/acl-tests (configure.ac): Remove tests now contained in
54733         m4/acl.m4.
54734
54735 2008-06-02  Jim Meyering  <meyering@redhat.com>
54736
54737         announce-gen: use a better key-server host name
54738         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
54739         it may be more consistently reliable.  Suggested by Werner Koch
54740         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
54741
54742 2008-06-01  Bruno Haible  <bruno@clisp.org>
54743
54744         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
54745         Reported by Voroskoi Andras <voroskoi@gmail.com>.
54746
54747 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
54748
54749         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
54750
54751 2008-06-01  Bruno Haible  <bruno@clisp.org>
54752
54753         New ACL tests.
54754         * tests/test-file-has-acl.sh: New file.
54755         * tests/test-file-has-acl.c: New file.
54756         * tests/test-set-mode-acl.sh: New file.
54757         * tests/test-set-mode-acl.c: New file.
54758         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
54759         * tests/test-copy-acl.c: New file.
54760         * modules/acl-tests: New file, based on modules/copy-file-tests.
54761         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
54762         (Depends-on): Add acl-tests.
54763         (configure.ac): Remove checks.
54764         (Makefile.am): Don't create test-sameacls program here any more.
54765
54766 2008-06-01  Bruno Haible  <bruno@clisp.org>
54767
54768         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
54769         * tests/test-sameacls.c: Include progname.h.
54770         (main): Invoke set_program_name. Portability fixes for MacOS X,
54771         Solaris, HP-UX.
54772
54773 2008-06-01  Bruno Haible  <bruno@clisp.org>
54774
54775         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
54776         function.
54777         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
54778
54779 2008-06-01  Bruno Haible  <bruno@clisp.org>
54780
54781         * modules/rpmatch (Depends-on): Add strdup.
54782
54783 2008-06-01  Bruno Haible  <bruno@clisp.org>
54784
54785         * lib/pipe.c: Include unistd-safer.h.
54786         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
54787         * modules/pipe (Depends-on): Add unistd-safer.
54788
54789 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54790
54791         * modules/autobuild (configure.ac): Call AB_INIT.
54792
54793 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54794
54795         * tests/test-getaddrinfo.c: Don't print debug messages by default.
54796         Suggested by Bruno Haible <bruno@clisp.org>.
54797
54798 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54799
54800         * tests/test-base64.c: Cast size_t to unsigned long when invoking
54801         printf.  Use %lu instead of %d.  Reported by Bruno Haible
54802         <bruno@clisp.org>.
54803
54804 2008-05-29  Eric Blake  <ebb9@byu.net>
54805
54806         Prefer new POSIX 200x interfaces over futimesat.
54807         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
54808         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
54809         when available.
54810         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
54811
54812 2008-05-28  Bruno Haible  <bruno@clisp.org>
54813
54814         * modules/stpcpy (License): Change to LGPLv2+.
54815         Requested by David Lutterkort <dlutter@redhat.com>.
54816
54817 2008-05-27  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
54820         current mingw.
54821         Reported by Jose E. Marchesi <jemarch@gnu.org>.
54822
54823 2008-05-27  Bruno Haible  <bruno@clisp.org>
54824
54825         * modules/iconv_open (Link): New section, from module 'iconv'.
54826         * modules/striconv (Link): Likewise.
54827         * modules/striconveh (Link): Likewise.
54828         * modules/xstriconv (Link): Likewise.
54829         * modules/unicodeio (Link): Likewise.
54830         * modules/propername (Link): Likewise.
54831         Reported by Jim Meyering.
54832
54833 2008-05-26  Jim Meyering  <meyering@redhat.com>
54834
54835         sha256: do not artificially restrict buffer length to be < 2^32
54836         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
54837         uint32_t to size_t.
54838         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
54839         to match.
54840
54841         avoid unaligned access errors, e.g., on sparc
54842         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
54843         direct access through a possibly-unaligned uint64* pointer.
54844         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
54845         direct access through a possibly-unaligned uint32* pointer.
54846         Prompted by this patch from Tom "spot" Callaway:
54847         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
54848
54849         sha512.c: fix typo in comment
54850         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
54851
54852 2008-05-25  Bruno Haible  <bruno@clisp.org>
54853
54854         * lib/set-mode-acl.c: Renamed from lib/acl.c.
54855         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
54856         (Makefile.am): Update lib_SOURCES.
54857
54858 2008-05-25  Bruno Haible  <bruno@clisp.org>
54859
54860         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
54861
54862 2008-05-25  Jim Meyering  <meyering@redhat.com>
54863
54864         useless-if-before-free: freed expr may have white-space differences
54865         * build-aux/useless-if-before-free: Recognize cases in which the
54866         freed expression differs from the tested one in embedded white
54867         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
54868         $1 was used, so we can't make any regexp shy.  Improved tests now
54869         detect this.
54870
54871         useless-if-before-free: accept white space in the expression.
54872         * build-aux/useless-if-before-free: For now, any white space
54873         in the expression must be identical in the free argument.
54874
54875         useless-if-before-free: efficiency tweak
54876         * build-aux/useless-if-before-free: Make the expression-matching
54877         regexp "shy".
54878         Make the *outer* regexp shy, not the expr-matching one.
54879
54880         update code-in-comment to accept cast of free arg
54881         * build-aux/useless-if-before-free: Update regexp.
54882
54883 2008-05-25  Bruno Haible  <bruno@clisp.org>
54884
54885         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
54886         * modules/copy-file-tests (Files, Makefile.am): Update.
54887         * tests/test-copy-file.c (func_test_copy): Update.
54888
54889 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
54890
54891         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
54892
54893 2008-05-23  Bruno Haible  <bruno@clisp.org>
54894
54895         Improve support for ACLs on OSF/1.
54896         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
54897         Remove fallback for unknown flavors of ACLs.
54898
54899 2008-05-22  Bruno Haible  <bruno@clisp.org>
54900
54901         Add support for ACLs on OSF/1.
54902         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
54903         replacements.
54904         (acl_free_text): New macro fallback.
54905         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
54906         acl_free.
54907         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
54908         acl_free_text function. Require AC_C_INLINE.
54909
54910 2008-05-22  Bruno Haible  <bruno@clisp.org>
54911
54912         Make copy_acl work on MacOS X 10.5.
54913         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
54914         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
54915         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
54916         If MODE_INSIDE_ACL, don't assume that every system has the same text
54917         representation for ACLs as FreeBSD.
54918         * lib/copy-acl.c (copy_acl): Add support for platforms with
54919         !MODE_INSIDE_ACL.
54920         * lib/file-has-acl.c (file_has_acl): Likewise.
54921         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
54922         FreeBSD, MacOS X, or IRIX, respectively.
54923
54924 2008-05-22  Bruno Haible  <bruno@clisp.org>
54925
54926         * lib/acl.h: Don't include <sys/acl.h>.
54927         (GETACLCNT): Move fallback to lib/acl-internal.h.
54928         * lib/acl-internal.h: Include <sys/acl.h> here.
54929         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
54930
54931 2008-05-22  Bruno Haible  <bruno@clisp.org>
54932
54933         Split off copy_acl function to separate file.
54934         * lib/copy-acl.c: New file, extracted from lib/acl.c.
54935         * lib/acl.c (copy_acl): Moved function to separate file.
54936         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
54937         * modules/acl (Files): Add lib/copy-acl.c.
54938         (Makefiles.am): Augment lib_SOURCES.
54939
54940 2008-05-22  Bruno Haible  <bruno@clisp.org>
54941
54942         * modules/copy-file-tests: New file.
54943         * tests/test-copy-file.sh: New file.
54944         * tests/test-copy-file.c: New file.
54945         * tests/test-copy-file-sameacls.c: New file.
54946
54947 2008-05-22  Eric Blake  <ebb9@byu.net>
54948
54949         Avoid gcc warning.
54950         * tests/test-memcmp.c (main): Pass NULL indirectly.
54951
54952 2008-05-21  Bruno Haible  <bruno@clisp.org>
54953
54954         Add reference doc about ACLs.
54955         * doc/acl-resources.txt: New file.
54956         * doc/acl-cygwin.txt: New file.
54957
54958 2008-05-21  Bruno Haible  <bruno@clisp.org>
54959
54960         Avoid one more warning from gcc.
54961         * lib/vasnprintf.c (IF_LINT): Update comments.
54962         (VASNPRINTF): Use it also for the 'prefix' array initializer.
54963
54964 2008-05-21  Jim Meyering  <meyering@redhat.com>
54965
54966         avoid a warning from gcc
54967         * lib/vasnprintf.c (IF_LINT): Define.
54968         (scale10_round_decimal_long_double):
54969         Use it to avoid a "may be used uninitialized" warning.
54970         (scale10_round_decimal_double): Likewise.
54971
54972 2008-05-21  Simon Josefsson  <simon@josefsson.org>
54973
54974         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
54975         declared.
54976
54977 2008-05-20  Bruno Haible  <bruno@clisp.org>
54978
54979         * tests/test-memcmp.c (main): Test also the sign of the result. Test
54980         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
54981
54982 2008-05-20  Simon Josefsson  <simon@josefsson.org>
54983
54984         * modules/memcmp-tests: New file.
54985         * tests/test-memcmp.c: New file.
54986
54987 2008-05-19  Bruno Haible  <bruno@clisp.org>
54988
54989         * modules/propername (Notice, configure.ac): Put quoted "..." into
54990         --keyword option.
54991         * lib/propername.h: Update comments accordingly.
54992         Reported by Eric Blake.
54993
54994 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
54995
54996         * modules/getpass-gnu (Depends-on): Add fseeko.
54997
54998 2008-05-19  Simon Josefsson  <simon@josefsson.org>
54999
55000         * modules/base64-tests: New file.
55001
55002 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55003
55004         * lib/base64.c (base64_decode_ctx): If a decode context structure
55005         was passed in use it to ignore newlines.  If a context structure
55006         was _not_ passed in, continue to treat newlines as garbage (this
55007         is the historical behavior).  Formerly base64_decode.
55008         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55009         takes a decode context structure.
55010         * lib/base64.h (base64_decode): Macro for four-argument calls.
55011         (base64_decode_alloc): Likewise.
55012         * lib/base64.c (base64_decode_ctx): If a decode context structure
55013         was passed in use it to ignore newlines.  If a context structure
55014         was _not_ passed in, continue to treat newlines as garbage (this
55015         is the historical behavior).  Formerly base64_decode.
55016         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55017         takes a decode context structure.
55018         * lib/base64.h (base64_decode): Macro for four-argument calls.
55019         (base64_decode_alloc): Likewise.
55020
55021 2008-05-19  Jim Meyering  <meyering@redhat.com>
55022
55023         avoid a warning from gcc
55024         * lib/trim.c (IF_LINT): Define.
55025         (trim2): Use it to avoid a "may be used uninitialized" warning.
55026
55027         Fix doc typo.
55028         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55029
55030 2008-05-19  Bruno Haible  <bruno@clisp.org>
55031
55032         * doc/glibc-functions/getpass.texi: Document limits of other
55033         implementations.
55034
55035 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55036             Bruno Haible <bruno@clisp.org>
55037
55038         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55039
55040 2008-05-18  Bruno Haible  <bruno@clisp.org>
55041
55042         * modules/propername: New file, from GNU gettext.
55043         * lib/propername.h: New file, from GNU gettext.
55044         * lib/propername.c: New file, from GNU gettext.
55045         * MODULES.html.sh (Internationalization functions): Add propername.
55046
55047 2008-05-16  Jim Meyering  <meyering@redhat.com>
55048             Bruno Haible  <bruno@clisp.org>
55049
55050         Avoid some warnings from "gcc -Wshadow".
55051         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55052
55053 2008-05-15  Eric Blake  <ebb9@byu.net>
55054
55055         Extend previous patch to cygwin 1.7.0.
55056         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55057         fast implementation in cygwin >= 1.7.0.
55058         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55059         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55060
55061 2008-05-15  Bruno Haible  <bruno@clisp.org>
55062
55063         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55064         implementation in glibc >= 2.9.
55065         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55066         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55067
55068 2008-05-15  Bruno Haible  <bruno@clisp.org>
55069
55070         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55071         (Unicode string functions): Add unilbrk/*.
55072         Reported by Karl Berry.
55073
55074 2008-05-15  Eric Blake  <ebb9@byu.net>
55075
55076         Fix violation of <stdbool.h> replacement in regex.
55077         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55078         * lib/regexec.c (re_search_internal): Likewise.
55079         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55080
55081 2008-05-15  Jim Meyering  <meyering@redhat.com>
55082
55083         avoid distracting test output when git or cvs is not found
55084         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55085         * tests/test-vc-list-files-git.sh: Likewise.
55086
55087 2008-05-15  Eric Blake  <ebb9@byu.net>
55088
55089         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55090         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55091         glibc version.
55092         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55093         * doc/posix-functions/strstr.texi (strstr): Likewise.
55094         * lib/str-two-way.h (MAX): Sychronize with glibc.
55095
55096 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
55097
55098         * lib/regcomp.c (optimize_utf8): Add a note on why we test
55099         opr.ctx_type.
55100         (calc_first): Initialize constraint field.
55101         (duplicate_node_closure): Use it instead of special casing ANCHORS.
55102         Fix grammar.
55103         (duplicate_node): Merge constraint field for all node types.
55104         (calc_eclosure_iter): Look at constraint field for all node types.
55105         * lib/regex_internal.c (create_cd_newstate): Don't look at
55106         opr.ctx_type.
55107
55108 2008-05-14  Bruno Haible  <bruno@clisp.org>
55109
55110         Help GCC to do better code generation.
55111         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
55112         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
55113         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
55114         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
55115         Declare with attribute 'malloc' if supported.
55116
55117 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
55118
55119         use "echo STR|wc -c" rather than unportable "expr length STR"
55120         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
55121         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
55122
55123 2008-05-14  Jim Meyering  <meyering@redhat.com>
55124
55125         use dd ibs=$n count=1 ... rather than less-portable head -c$n
55126         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
55127         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
55128         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
55129         via Collin Lasse.
55130
55131 2008-05-14  Eric Blake  <ebb9@byu.net>
55132
55133         Avoid quadratic growth in gl_LIBSOURCES.
55134         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
55135         Suggested by Bruno Haible.
55136
55137         Test xmemdup0.
55138         * modules/xmemdup0-tests: New file.
55139         * tests/test-xmemdup0.c: Likewise.
55140
55141 2008-05-13  Eric Blake  <ebb9@byu.net>
55142
55143         Split xmemdup0 into its own module.
55144         * modules/xmemdup0: New file.
55145         * lib/xmemdup0.h: Likewise.
55146         * lib/xmemdup0.c: Likewise.
55147         * MODULES.html.sh (Memory management functions): Add xmemdup0.
55148         * lib/xalloc.h (xmemdup0): Remove.
55149         * lib/xmalloc.c (xmemdup0): Likewise.
55150
55151 2008-05-13  Eric Blake  <ebb9@byu.net>
55152             Bruno Haible  <bruno@clisp.org>
55153
55154         Reduce number of forks required during autoconf.
55155         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
55156         and gl_LIBSOURCES_DIR.
55157         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
55158         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
55159         m4_syscmd per file.
55160         <m4_foreach_w>: Move...
55161         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
55162
55163 2008-05-13  Eric Blake  <ebb9@byu.net>
55164
55165         * gnulib-tool: Fix various comment typos.
55166
55167 2008-05-12  Bruno Haible  <bruno@clisp.org>
55168
55169         Tailor the linebreaking algorithm.
55170         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
55171
55172 2008-05-12  Bruno Haible  <bruno@clisp.org>
55173
55174         Update to Unicode 5.0.0.
55175         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55176         LBP_JV, LBP_JT. Redistribute values.
55177         (unilbrk_table): Change size.
55178         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
55179         Unicode TR#14 rev. 22.
55180         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55181         LBP_JV, LBP_JT. Redistribute values.
55182         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
55183         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
55184         Update.
55185         * lib/unilbrk/lbrkprop1.h: Regenerated.
55186         * lib/unilbrk/lbrkprop2.h: Regenerated.
55187         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
55188         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
55189         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
55190         Likewise.
55191         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
55192         Likewise.
55193         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
55194         result.
55195         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
55196         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
55197         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
55198         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
55199         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
55200         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
55201
55202 2008-05-11  Bruno Haible  <bruno@clisp.org>
55203
55204         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
55205
55206 2008-05-11  Bruno Haible  <bruno@clisp.org>
55207
55208         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
55209         * modules/unilbrk/gen-lbrk: New file.
55210
55211 2008-05-11  Bruno Haible  <bruno@clisp.org>
55212
55213         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
55214         * m4/sha512.m4 (gl_SHA512): Likewise.
55215
55216 2008-05-11  Jim Meyering  <meyering@redhat.com>
55217
55218         New modules: crypto/sha256, crypto/sha512 (from coreutils)
55219         * modules/crypto/sha256: New file.
55220         * modules/crypto/sha512: Likewise.
55221         * lib/sha256.c: Likewise.
55222         * lib/sha256.h: Likewise.
55223         * lib/sha512.c: Likewise.
55224         * lib/sha512.h: Likewise.
55225         * lib/u64.h: Likewise.
55226         * m4/sha256.m4: Likewise.
55227         * m4/sha512.m4: Likewise.
55228         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
55229
55230 2008-05-10  Bruno Haible  <bruno@clisp.org>
55231
55232         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
55233         (Input/Output <stdio.h>): Add xprintf.
55234         (Signal handling <signal.h>): Add strsignal.
55235         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
55236         (Core language properties): Add func.
55237         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
55238         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
55239         strings.
55240         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
55241         (Input/output): New section.
55242         (File system functions): Add openat-die, stat-macros.
55243         (Networking functions): Add sockets.
55244         (Unicode string functions): Add unictype/*.
55245         (Support for building libraries and executables): Add gperf.
55246         (Support for building documentation): Add agpl-3.0.
55247         (Misc): Add nocrash.
55248
55249 2008-05-10  Bruno Haible  <bruno@clisp.org>
55250
55251         * modules/unictype/gen-ctype: New file.
55252
55253 2008-05-10  Jim Meyering  <meyering@redhat.com>
55254
55255         Make chdir-safer.c more efficient on a system with no symlinks.
55256         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
55257         also if ELOOP is zero.  Suggested by Bruno Haible.
55258
55259         Make chdir-safer.c slightly safer.
55260         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
55261         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
55262
55263         Avoid compile failure on systems without ELOOP (like mingw).
55264         * lib/chdir-safer.c (ELOOP): Define if not already defined.
55265         Reported by Bruno Haible.
55266
55267 2008-05-10  Bruno Haible  <bruno@clisp.org>
55268
55269         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
55270         (is_utf8_encoding): Use a case-insensitive comparison.
55271         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
55272         streq.
55273
55274 2008-05-10  Bruno Haible  <bruno@clisp.org>
55275
55276         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
55277         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
55278         * lib/unilbrk/ulc-common.h (iconv_string_length,
55279         iconv_string_keeping_offsets): Remove declarations.
55280         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
55281         Don't include <iconv.h>, streq.h, xsize.h.
55282         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
55283         conversion.
55284         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
55285         <iconv.h>, streq.h, xsize.h.
55286         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
55287         conversion.
55288         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
55289         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
55290         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
55291         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
55292
55293 2008-05-10  Bruno Haible  <bruno@clisp.org>
55294
55295         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
55296         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
55297
55298         * modules/unilbrk/u32-width-linebreaks-tests: New file.
55299         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
55300
55301         * modules/unilbrk/u16-width-linebreaks-tests: New file.
55302         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
55303
55304         * modules/unilbrk/u8-width-linebreaks-tests: New file.
55305         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
55306
55307         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
55308         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
55309
55310         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
55311         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
55312
55313         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
55314         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
55315
55316         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
55317         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
55318
55319 2008-05-10  Bruno Haible  <bruno@clisp.org>
55320
55321         Split up 'linebreak' module.
55322         * lib/unilbrk.h: New file, based on lib/linebreak.h.
55323         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
55324         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
55325         modifications.
55326         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
55327         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
55328         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
55329         lib/linebreak.c.
55330         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
55331         lib/linebreak.c.
55332         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
55333         lib/linebreak.c.
55334         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
55335         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
55336         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
55337         lib/linebreak.c.
55338         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
55339         lib/linebreak.c.
55340         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
55341         lib/linebreak.c.
55342         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
55343         lib/linebreak.c.
55344         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
55345         lib/linebreak.c.
55346         * modules/unilbrk/base: New file.
55347         * modules/unilbrk/tables: New file.
55348         * modules/unilbrk/u8-possible-linebreaks: New file.
55349         * modules/unilbrk/u16-possible-linebreaks: New file.
55350         * modules/unilbrk/u32-possible-linebreaks: New file.
55351         * modules/unilbrk/ulc-common: New file.
55352         * modules/unilbrk/ulc-possible-linebreaks: New file.
55353         * modules/unilbrk/u8-width-linebreaks: New file.
55354         * modules/unilbrk/u16-width-linebreaks: New file.
55355         * modules/unilbrk/u32-width-linebreaks: New file.
55356         * modules/unilbrk/ulc-width-linebreaks: New file.
55357         * lib/linebreak.h: Remove file.
55358         * lib/linebreak.c: Remove file.
55359         * m4/linebreak.m4: Remove file.
55360         * modules/linebreak: Remove file.
55361         * NEWS: Mention the changes.
55362
55363 2008-05-09  Eric Blake  <ebb9@byu.net>
55364
55365         Add xmemdup0.
55366         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
55367         implementation.
55368         * lib/xmalloc.c (xmemdup0): New C implementation.
55369
55370 2008-05-08  Bruno Haible  <bruno@clisp.org>
55371
55372         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
55373
55374 2008-05-07  Eric Blake  <ebb9@byu.net>
55375
55376         Support cross-compilation of <wctype.h>.
55377         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
55378         AC_CACHE_CHECK.
55379
55380 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
55381
55382         * build-aux/vc-list-files: Add support for bzr.
55383
55384 2008-05-03  Jim Meyering  <meyering@redhat.com>
55385
55386         avoid failed assertion with tight malloc
55387         * tests/test-getndelim2.c: Correct an off-by-one assertion.
55388
55389 2008-05-03  Simon Josefsson  <simon@josefsson.org>
55390
55391         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
55392         are needed from arpa/inet.h.
55393         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
55394         Reported by Bruno Haible.
55395
55396 2008-05-02  Jim Meyering  <meyering@redhat.com>
55397
55398         avoid compilation error on FreeBSD 6
55399         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
55400
55401 2008-05-01  Jim Meyering  <meyering@redhat.com>
55402
55403         useless-if-before-free: correct --help's exit status description
55404         * build-aux/useless-if-before-free (usage): Like grep, exit 0
55405         for one or more matches, etc.  Reported by Bruno Haible.
55406
55407         vc-list-files: make the stand-alone gnulib test work
55408         * modules/vc-list-files-tests (configure.ac):
55409         Define and AC_SUBST abs_aux_dir.
55410         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
55411         $(abs_top_srcdir) to each script and having each of them
55412         duplicate the work of setting PATH, set PATH here, using
55413         the new variable, abs_aux_dir instead.
55414         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
55415         * tests/test-vc-list-files-git.sh: Likewise.
55416         Reported by Bruno Haible.
55417
55418 2008-05-01  Bruno Haible  <bruno@clisp.org>
55419
55420         * lib/getndelim2.c (getndelim2): Fix newsize computation during
55421         reallocation. Rename 'done' to 'found_delimiter'.
55422
55423 2008-05-01  Jim Meyering  <meyering@redhat.com>
55424
55425         vc-list-files: accommodate /bin/sh like the one from Solaris 10
55426         * build-aux/vc-list-files: Use `...`, not $(...).
55427
55428 2008-04-30  Jim Meyering  <meyering@redhat.com>
55429
55430         add tests for vc-list-files
55431         * modules/vc-list-files-tests: New module.
55432         * tests/test-vc-list-files-cvs.sh: New file.
55433         * tests/test-vc-list-files-git.sh: New file.
55434
55435         avoid a warning from gcc
55436         * lib/getndelim2.c (IF_LINT): Define.
55437         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
55438
55439         vc-list-files: work properly with build-aux/cvsu, too
55440         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
55441         to all cvs-based clauses.
55442
55443         vc-list-files: work properly in the CVS+awk case, too
55444         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
55445
55446         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
55447         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
55448         take more than one file argument, so .  Add quotes, just in case $dir
55449         ever contains a shell meta-character.  Prompted by Soren Hansen in
55450         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
55451
55452 2008-04-29  Eric Blake  <ebb9@byu.net>
55453
55454         Optimize getndelim2 to use block operations when possible.
55455         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
55456         freadseek, and memchr2.
55457         * lib/getndelim2.c (getndelim2): Use them for block reads.
55458
55459 2008-04-29  Bruno Haible  <bruno@clisp.org>
55460
55461         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
55462         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55463         * modules/inet_ntop (Depends-on): Add extensions.
55464         * modules/inet_pton (Depends-on): Likewise.
55465         Reported by Simon Josefsson.
55466
55467 2008-04-29  Jim Meyering  <meyering@redhat.com>
55468
55469         When the is more than one match in a block, match all of them.
55470         * build-aux/useless-if-before-free: Iterate through each block
55471         until there are no more matches.
55472
55473         Fix broken useless-if-before-free script.
55474         * build-aux/useless-if-before-free: Fix typo: missing "?" after
55475         the expression to match cast of argument to free-like function.
55476
55477 2008-04-29  Eric Blake  <ebb9@byu.net>
55478
55479         Use new header.
55480         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
55481
55482 2008-04-29  Jim Meyering  <meyering@redhat.com>
55483
55484         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
55485         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
55486         by gnulib to exist and to declare e.g., inet_ntop.
55487         Don't include "inet_ntop.h", now removed.
55488
55489         * m4/arpa_inet_h.m4: Remove trailing blanks.
55490
55491 2008-04-29  Eric Blake  <ebb9@byu.net>
55492
55493         Silence valgrind on safe reads beyond potential array bounds.
55494         * lib/rawmemchr.valgrind: New file.
55495         * lib/strchrnul.valgrind: Likewise.
55496         * modules/rawmemchr (Files): Distribute new file.
55497         * modules/strchrnul (Files): Likewise.
55498         Suggested by Bruno Haible.
55499
55500 2008-04-29  Bruno Haible  <bruno@clisp.org>
55501
55502         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
55503         (inet_ntop, inet_pton): Change portability warning's wording.
55504         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
55505         Invoke gl_CHECK_NEXT_HEADERS.
55506         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
55507         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
55508         set ARPA_INET_H.
55509         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55510         * modules/arpa_inet (Description): No longer only for systems that
55511         lack it.
55512         (Depends-on): Add include_next.
55513         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
55514         HAVE_ARPA_INET_H.
55515
55516 2008-04-29  Jim Meyering  <meyering@redhat.com>
55517
55518         * modules/mkdir (License): Re-license as LGPLv2+.
55519
55520 2008-04-29  Bruno Haible  <bruno@clisp.org>
55521
55522         * modules/rawmemchr (Maintainer): Set to Eric.
55523         * modules/strchrnul (Maintainer): Likewise.
55524
55525 2008-04-29  Simon Josefsson  <simon@josefsson.org>
55526
55527         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
55528         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
55529
55530         * modules/arpa_inet (arpa/inet.h): Use them.
55531
55532 2008-04-28  Eric Blake  <ebb9@byu.net>
55533
55534         Test getndelim2.
55535         * modules/getndelim2-tests: New file.
55536         * tests/test-getndelim2.c: Likewise.
55537         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
55538         stream.
55539         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
55540
55541         * MODULES.html.sh: Document new module.
55542
55543 2008-04-20  Bruno Haible  <bruno@clisp.org>
55544
55545         * lib/c-stack.c (die): Use raise.
55546         * modules/c-stack (Depends-on): Add raise.
55547
55548 2008-04-28  Bruno Haible  <bruno@clisp.org>
55549
55550         Expect rpmatch to be declared.
55551         * lib/yesno.c (rpmatch): Remove declaration.
55552
55553         Declare rpmatch.
55554         * lib/stdlib.in.h (rpmatch): New declaration.
55555         * lib/rpmatch.c: Include <stdlib.h> first.
55556         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
55557         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
55558         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
55559         HAVE_RPMATCH.
55560         * modules/rpmatch (Depends-on): Add stdlib, extensions.
55561         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55562         (Include): Set to <stdlib.h>.
55563         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
55564         HAVE_RPMATCH.
55565         * NEWS: Document the change.
55566
55567 2008-04-28  Bruno Haible  <bruno@clisp.org>
55568
55569         Change rpmatch to use nl_langinfo when appropriate.
55570         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
55571         (N_): New macro.
55572         (localized_pattern): New function/macro.
55573         (try): Remove match, nomatch arguments. Copy the pattern into safe
55574         memory before caching it.
55575         (rpmatch): Use localized_pattern. Add translator comments.
55576         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
55577         Suggested by Eric Blake.
55578         * modules/rpmatch (Depends-on): Add stdbool.
55579
55580 2008-04-28  Eric Blake  <ebb9@byu.net>
55581
55582         Add rawmemchr module, matching glibc.
55583         * modules/string (Makefile.am): New indicator.
55584         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
55585         * lib/string.in.h (rawmemchr): Declare when appropriate.
55586         * modules/rawmemchr: New file.
55587         * m4/rawmemchr.m4: Likewise.
55588         * lib/rawmemchr.c: Likewise.
55589         * modules/rawmemchr-tests: Likewise.
55590         * tests/test-rawmemchr.c: Likewise.
55591         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
55592         module.
55593         * modules/strchrnul (Depends-on): Add rawmemchr.
55594         * lib/strchrnul.c (strchrnul): Optimize a corner case.
55595
55596         Whitespace cleanup.
55597         * tests/test-strchrnul.c: Reindent.
55598         * lib/strchrnul.c: Likewise.
55599
55600         Optimize and test strchrnul.
55601         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
55602         * modules/strchrnul-tests: New file.
55603         * tests/test-strchrnul.c: Likewise.
55604
55605         Remove intprops dependency.
55606         * modules/memchr (Depends-on): Remove intprops.
55607         * modules/memrchr (Depends-on): Likewise.
55608         * modules/memchr2 (Depends-on): Likewise.
55609         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
55610         * lib/memrchr.c (__memrchr): Likewise.
55611         * lib/memrchr2.c (memchr2): Likewise.
55612         Reported by Simon Josefsson.
55613
55614 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55615
55616         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
55617         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55618
55619 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55620
55621         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
55622
55623         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
55624
55625         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
55626
55627         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
55628         declarations.
55629         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
55630
55631         * m4/inet_pton.m4: Don't check for header files.
55632
55633         * m4/inet_ntop.m4: Don't check for header files.
55634
55635 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55636
55637         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
55638         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
55639         trigger for cygwin).
55640         Reported by Bruno Haible  <bruno@clisp.org>.
55641
55642 2008-04-28  Bruno Haible  <bruno@clisp.org>
55643
55644         * doc/posix-functions/strdup.texi: Mention mingw problem.
55645
55646 2008-04-27  Bruno Haible  <bruno@clisp.org>
55647
55648         * modules/stat-time-tests (Depends-on): Add sleep.
55649         * tests/test-stat-time.c (force_unlink): New function.
55650         (cleanup): Use it.
55651         (test_mtime): Remove the ctime related tests.
55652         (test_ctime): New function, containing the ctime related tests.
55653         (main): Call test_ctime, except on native Windows platforms.
55654
55655 2008-04-27  Bruno Haible  <bruno@clisp.org>
55656
55657         * lib/rpmatch.c (rpmatch): Add some comments.
55658         Reported by James Youngman <jay@gnu.org>.
55659
55660 2008-04-27  Bruno Haible  <bruno@clisp.org>
55661
55662         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
55663         quiet NaNs.
55664
55665 2008-04-27  Bruno Haible  <bruno@clisp.org>
55666
55667         Make test-yesno.sh work on mingw.
55668         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
55669         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
55670         (main): Set stdin to binary mode.
55671         * modules/yesno-tests (Depends-on): Add binary-io.
55672
55673 2008-04-27  Bruno Haible  <bruno@clisp.org>
55674
55675         Fix 'isfinite' on x86, x86_64, ia64 platforms.
55676         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
55677         argument that lie outside the IEEE 854 domain.
55678         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
55679         (gl_ISFINITE): Use it.
55680         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
55681
55682 2008-04-27  Bruno Haible  <bruno@clisp.org>
55683
55684         Allow local renaming in config.h.
55685         * lib/memrchr.c (memrchr): Don't undefine outside libc.
55686
55687 2008-04-27  Bruno Haible  <bruno@clisp.org>
55688
55689         * lib/memchr.c (__memchr): Change type of 'i'.
55690         * lib/memchr2.c (memchr2): Likewise.
55691
55692 2008-04-26  Eric Blake  <ebb9@byu.net>
55693         and Bruno Haible  <bruno@clisp.org>
55694
55695         Optimize and test memrchr.
55696         * modules/memrchr (Depends-on): Add intprops.
55697         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
55698         * modules/memrchr-tests: New file.
55699         * tests/test-memrchr.c: New file.
55700
55701 2008-04-26  Bruno Haible  <bruno@clisp.org>
55702
55703         Add tentative support for DragonFly BSD.
55704         * lib/stdio-impl.h: Add macros for DragonFly BSD.
55705         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
55706         fp.
55707         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55708         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
55709         * lib/fpurge.c (fpurge): Likewise.
55710         * lib/freadable.c (freaadable): Likewise.
55711         * lib/freadahead.c (freadahead): Likewise.
55712         * lib/freading.c (freading): Likewise.
55713         * lib/freadptr.c (freadptr): Likewise.
55714         * lib/freadseek.c (freadptrinc): Likewise.
55715         * lib/fseeko.c (fseeko): Likewise.
55716         * lib/fseterr.c (fseterr): Likewise.
55717         * lib/fwritable.c (fwritable): Likewise.
55718         * lib/fwriting.c (fwriting): Likewise.
55719
55720 2008-04-26  Bruno Haible  <bruno@clisp.org>
55721
55722         * lib/stdio-impl.h: New file.
55723         * lib/fbufmode.c: Include stdio-impl.h.
55724         (fbufmode): Use fp_, remove redundant #defines.
55725         * lib/fflush.c: Include stdio-impl.h.
55726         (clear_ungetc_buffer): Remove redundant #defines.
55727         * lib/fpurge.c: Include stdio-impl.h.
55728         (fpurge): Remove redundant #defines.
55729         * lib/freadable.c: Include stdio-impl.h.
55730         (freadable): Remove redundant #defines.
55731         * lib/freadahead.c: Include stdio-impl.h.
55732         (freadahead): Remove redundant #defines.
55733         * lib/freading.c: Include stdio-impl.h.
55734         (freading): Remove redundant #defines.
55735         * lib/freadptr.c: Include stdio-impl.h.
55736         (freadptr): Remove redundant #defines.
55737         * lib/freadseek.c: Include stdio-impl.h.
55738         (freadptrinc): Remove redundant #defines.
55739         * lib/fseeko.c: Include stdio-impl.h.
55740         (rpl_fseeko): Remove redundant #defines.
55741         * lib/fseterr.c: Include stdio-impl.h.
55742         (fseterr): Remove redundant #defines.
55743         * lib/fwritable.c: Include stdio-impl.h.
55744         (fwritable: Remove redundant #defines.
55745         * lib/fwriting.c: Include stdio-impl.h.
55746         (fwriting): Remove redundant #defines.
55747         * modules/fbufmode (Files): Add lib/stdio-impl.h.
55748         * modules/fflush (Files): Likewise.
55749         * modules/fpurge (Files): Likewise.
55750         * modules/freadable (Files): Likewise.
55751         * modules/freadahead (Files): Likewise.
55752         * modules/freading (Files): Likewise.
55753         * modules/freadptr (Files): Likewise.
55754         * modules/freadseek (Files): Likewise.
55755         * modules/fseeko (Files): Likewise.
55756         * modules/fseterr (Files): Likewise.
55757         * modules/fwritable (Files): Likewise.
55758         * modules/fwriting (Files): Likewise.
55759
55760 2008-04-26  Bruno Haible  <bruno@clisp.org>
55761
55762         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55763         restore_seek_optimization, update_fpos_cache): New functions, extracted
55764         from rpl_fflush.
55765         (rpl_fflush): Use them.
55766         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
55767         (gl_REPLACE_FFLUSH): Use it.
55768
55769 2008-04-26  Bruno Haible  <bruno@clisp.org>
55770
55771         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
55772         on Solaris.
55773         * tests/test-xstrtoimax.sh: Likewise.
55774         * tests/test-xstrtoumax.sh: Likewise.
55775         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55776
55777 2008-04-26  Bruno Haible  <bruno@clisp.org>
55778
55779         * modules/memchr-tests: New file.
55780         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
55781
55782 2008-04-26  Eric Blake  <ebb9@byu.net>
55783             Bruno Haible  <bruno@clisp.org>
55784
55785         * lib/memchr.c: Include intprops.h.
55786         (__memchr): Optimize parallel detection of matching bytes. Rename local
55787         variables. Add explanatory comments.
55788
55789 2008-04-26  Bruno Haible  <bruno@clisp.org>
55790
55791         Fix module 'memchr', broken since 2000-10-28.
55792         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
55793
55794 2008-04-26  Bruno Haible  <bruno@clisp.org>
55795
55796         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
55797         comments.
55798
55799 2008-04-25  Eric Blake  <ebb9@byu.net>
55800
55801         Use native fstatat on cygwin 1.7.0.
55802         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
55803         first.
55804
55805 2008-04-23  Eric Blake  <ebb9@byu.net>
55806
55807         Improve memchr2 performance.
55808         * lib/memchr2.c (memchr2): Further optimize parallel detection of
55809         NUL bytes.
55810         * modules/memchr2 (Depends-on): Use intprops.h.
55811
55812 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55813
55814         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
55815         an inline function instead of a CPP macro.  Patch by Ben Pfaff
55816         <blp@cs.stanford.edu>.
55817
55818 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55819
55820         * lib/arpa_inet.in.h: New file.
55821
55822         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
55823         (Makefile.am): Sed in substitute header file.
55824
55825         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
55826         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
55827
55828         * modules/inet_ntop (configure.ac): Use
55829         gl_ARPA_INET_MODULE_INDICATOR.
55830
55831         * modules/inet_pton (configure.ac): Use
55832         gl_ARPA_INET_MODULE_INDICATOR.
55833
55834 2008-04-22  Jim Meyering  <meyering@redhat.com>
55835
55836         * modules/verify (License): Re-license as LGPLv2+.
55837
55838 2008-04-22  Simon Josefsson  <simon@josefsson.org>
55839
55840         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
55841         parameter to void* as per POSIX standard (MinGW uses char*).
55842
55843 2008-04-21  Bruno Haible  <bruno@clisp.org>
55844
55845         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55846         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55847         Define to replacements if REPLACE_ISWCNTRL is 1.
55848         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
55849         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
55850         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
55851         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
55852         what it fixes.
55853         * doc/posix-functions/iswalpha.texi: Likewise.
55854         * doc/posix-functions/iswblank.texi: Likewise.
55855         * doc/posix-functions/iswcntrl.texi: Likewise.
55856         * doc/posix-functions/iswdigit.texi: Likewise.
55857         * doc/posix-functions/iswgraph.texi: Likewise.
55858         * doc/posix-functions/iswlower.texi: Likewise.
55859         * doc/posix-functions/iswprint.texi: Likewise.
55860         * doc/posix-functions/iswpunct.texi: Likewise.
55861         * doc/posix-functions/iswspace.texi: Likewise.
55862         * doc/posix-functions/iswupper.texi: Likewise.
55863         * doc/posix-functions/iswxdigit.texi: Likewise.
55864         Reported by Alain Guibert.
55865
55866 2008-04-21  Bruno Haible  <bruno@clisp.org>
55867
55868         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
55869         Patch by Alain Guibert.
55870
55871 2008-04-21  Bruno Haible  <bruno@clisp.org>
55872
55873         Fix test failures on mingw.
55874         * tests/test-xstrtol.c (print_no_progname): New function.
55875         (main): Install it in error_print_progname hook.
55876         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
55877         * tests/test-xstrtoimax.sh: Likewise.
55878         * tests/test-xstrtoumax.sh: Likewise.
55879
55880 2008-04-21  Bruno Haible  <bruno@clisp.org>
55881
55882         Fix test failure on mingw.
55883         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
55884
55885 2008-04-21  Bruno Haible  <bruno@clisp.org>
55886
55887         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
55888         Actually assign a value.
55889
55890 2008-04-20  Bruno Haible  <bruno@clisp.org>
55891
55892         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
55893         take 2.
55894         * lib/canonicalize.c (canonicalize_file_name): Elide if the
55895         'canonicalize-lgpl' module is also used.
55896         * lib/canonicalize-lgpl.c: Undo last change.
55897         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
55898
55899 2008-04-20  Bruno Haible  <bruno@clisp.org>
55900
55901         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
55902         config.h. Provide _mkdir based fallback for mingw.
55903         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
55904         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
55905         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
55906         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
55907         rather than defining mkdir in config.h.
55908         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
55909         (gl_SYS_STAT_H_DEFAULTS): New macro.
55910         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
55911         HAVE_IO_H any more.
55912         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
55913         HAVE_DECL_MKDIR and HAVE_IO_H.
55914
55915 2008-04-20  Bruno Haible  <bruno@clisp.org>
55916
55917         * lib/isapipe.c: Port to native Windows platforms.
55918
55919 2008-04-20  Bruno Haible  <bruno@clisp.org>
55920
55921         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
55922
55923 2008-04-21  Eric Blake  <ebb9@byu.net>
55924
55925         Work around preprocessors that don't handle UINTMAX_MAX.
55926         * lib/memchr2.c (memchr2): Avoid embedded #if.
55927         Reported by Alain Guibert, fix suggested by Bruno Haible.
55928
55929 2008-04-21  Simon Josefsson  <simon@josefsson.org>
55930
55931         * doc/posix-functions/strftime.texi (strftime): Explain better
55932         Windows incompatibility.  Suggested by Micah Cowan
55933         <micah@cowan.name>.
55934
55935 2008-04-20  Bruno Haible  <bruno@clisp.org>
55936
55937         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
55938         unistr/u8-mblen.
55939
55940 2008-04-20  Bruno Haible  <bruno@clisp.org>
55941
55942         Fix test failure on platforms with non-GNU iconv.
55943         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
55944         (U_TO_U8): Use it, rather than u16_to_u8.
55945         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
55946         units at the end of the input string.
55947         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
55948
55949 2008-04-20  Bruno Haible  <bruno@clisp.org>
55950
55951         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
55952         when the resulting length is 0.
55953         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
55954
55955 2008-04-20  Bruno Haible  <bruno@clisp.org>
55956
55957         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
55958         works.
55959         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
55960
55961 2008-04-20  Bruno Haible  <bruno@clisp.org>
55962
55963         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
55964         * modules/tsearch-tests (configure.ac): Test for initstate function.
55965
55966 2008-04-20  Bruno Haible  <bruno@clisp.org>
55967
55968         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
55969         for nlink_t if missing.
55970         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
55971
55972 2008-04-19  Bruno Haible  <bruno@clisp.org>
55973
55974         Work around snprintf bug on Linux libc5.
55975         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
55976         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55977         gl_SNPRINTF_SIZE1.
55978         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55979         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
55980         that test failed.
55981         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
55982         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
55983         * modules/snprintf (Files): Add m4/printf.m4.
55984         * modules/vsnprintf (Files): Likewise.
55985         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
55986         * doc/posix-functions/vsnprintf.texi: Likewise.
55987
55988 2008-04-19  Bruno Haible  <bruno@clisp.org>
55989
55990         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
55991         from 0.0058 to less than 10^-7.
55992
55993 2008-04-19  Bruno Haible  <bruno@clisp.org>
55994
55995         Fix rounding when a precision is given.
55996         * lib/vasnprintf.c (is_borderline): New function.
55997         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
55998         9...9x.
55999         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56000         %e, %g.
56001         * tests/test-vasprintf-posix.c (test_function): Likewise.
56002         * tests/test-snprintf-posix.h (test_function): Likewise.
56003         * tests/test-sprintf-posix.h (test_function): Likewise.
56004         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56005         * tests/test-printf-posix.h (test_function): Likewise.
56006         * tests/test-printf-posix.output: Update.
56007         Reported by John Darrington <john@darrington.wattle.id.au> via
56008         Ben Pfaff <blp@cs.stanford.edu>.
56009
56010 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56011
56012         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56013         Suggested by Bruno Haible <bruno@clisp.org>.
56014
56015 2008-04-17  Bruno Haible  <bruno@clisp.org>
56016
56017         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56018         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56019         implementation.
56020         Patch by Bruce Merry <bmerry@gmail.com>.
56021
56022 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56023
56024         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56025         doesn't work under Windows.
56026
56027 2008-04-16  Bruno Haible  <bruno@clisp.org>
56028
56029         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56030         New macros.
56031         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56032         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56033         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56034         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56035         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56036         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56037         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56038         macros.
56039         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56040         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56041         Northern Sotho, Uighur.
56042
56043 2008-04-16  Bruno Haible  <bruno@clisp.org>
56044
56045         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56046         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56047         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56048         Reported by Daniel Bergström <daniel@octocode.com>.
56049
56050 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56051             Bruno Haible  <bruno@clisp.org>
56052
56053         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56054         function.
56055         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56056         New functions, mostly extracted from gl_locale_name_default.
56057         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56058
56059 2008-04-16  Eric Blake  <ebb9@byu.net>
56060
56061         Adjust strtod detection to catch glibc 2.7 bug.
56062         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56063         Reported by John Gatewood Ham.
56064
56065 2008-04-16  Bruno Haible  <bruno@clisp.org>
56066
56067         Add tentative support for Linux libc5.
56068         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56069         * lib/fpurge.c (fpurge): Likewise.
56070         * lib/freadable.c (freadable): Likewise.
56071         * lib/freadahead.c (freadahead): Likewise.
56072         * lib/freading.c (freading): Likewise.
56073         * lib/freadptr.c (freadptr): Likewise.
56074         * lib/freadseek.c (freadptrinc): Likewise.
56075         * lib/fseeko.c (rpl_fseeko): Likewise.
56076         * lib/fseterr.c (fseterr): Likewise.
56077         * lib/fwritable.c (fwritable): Likewise.
56078         * lib/fwriting.c (fwriting): Likewise.
56079         Reported by Alain Guibert <alguibert+bts@free.fr>.
56080
56081 2008-04-15  Bruno Haible  <bruno@clisp.org>
56082
56083         * modules/mathl (configure.ac): Define module indicator.
56084
56085 2008-04-15  Bruno Haible  <bruno@clisp.org>
56086
56087         * lib/logl.c (logl): Remove unused variables.
56088
56089 2008-04-15  Bruno Haible  <bruno@clisp.org>
56090
56091         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56092         fails.
56093
56094 2008-04-15  Bruno Haible  <bruno@clisp.org>
56095
56096         * lib/trim.c (trim2): Fix argument of isspace() macro.
56097
56098 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
56099
56100         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
56101         to 0.
56102         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
56103
56104 2008-04-14  Bruno Haible  <bruno@clisp.org>
56105
56106         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
56107         AC_LANG_PROGRAM argument.
56108         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
56109         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
56110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
56111         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56112         * m4/math_h.m4 (gl_MATH_H): Likewise.
56113         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
56114         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56115         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
56116         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
56117         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56118         * m4/regex.m4 (gl_REGEX): Likewise.
56119         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
56120         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
56121         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56122         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
56123         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56124         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56125         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56126         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56127
56128 2008-04-14  Jim Meyering  <meyering@redhat.com>
56129
56130         test-strtod: fix typos: s/abs/fabs/
56131         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
56132
56133 2008-04-13  Bruno Haible  <bruno@clisp.org>
56134
56135         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
56136         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
56137         module is also used and while not building the reloc-wrapper.
56138
56139 2008-04-13  Bruno Haible  <bruno@clisp.org>
56140
56141         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
56142
56143 2008-04-13  Bruno Haible  <bruno@clisp.org>
56144
56145         Fix AIX compilation failure introduced on 2008-04-02.
56146         * tests/test-frexp.c (exp): Undefine before redefining.
56147         * tests/test-frexpl.c (exp): Likewise.
56148
56149 2008-04-13  Bruno Haible  <bruno@clisp.org>
56150
56151         Work around a HP-UX stdio bug.
56152         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
56153         * tests/test-ftello.c (main): Likewise.
56154         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
56155         * doc/posix-functions/ftello.texi: Likewise.
56156
56157 2008-04-13  Bruno Haible  <bruno@clisp.org>
56158
56159         Make test-signbit pass on HP-UX/hppa.
56160         * tests/test-signbit.c (minus_zerol): New variable.
56161         (test_signbitl): Use it.
56162
56163 2008-04-13  Bruno Haible  <bruno@clisp.org>
56164
56165         Make truncl work on OSF/1 4.0.
56166         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
56167         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56168         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56169         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
56170         HAVE_DECL_TRUNCL.
56171         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
56172         HAVE_DECL_TRUNCL.
56173         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
56174
56175 2008-04-13  Bruno Haible  <bruno@clisp.org>
56176
56177         * lib/unictype.h: Remove trailing comma from enumeration definitions.
56178
56179 2008-04-13  Bruno Haible  <bruno@clisp.org>
56180
56181         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
56182         expression, so as to avoid HP-UX 11 cc compiler bug.
56183
56184 2008-04-13  Bruno Haible  <bruno@clisp.org>
56185
56186         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
56187
56188 2008-04-13  Bruno Haible  <bruno@clisp.org>
56189
56190         * lib/git-merge-changelog.c: Remove empty declaration outside of
56191         functions.
56192
56193 2008-04-13  Bruno Haible  <bruno@clisp.org>
56194
56195         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
56196
56197 2008-04-13  Bruno Haible  <bruno@clisp.org>
56198
56199         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
56200         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
56201         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
56202         also if it exists but lacks definitions of the SHUT_* macros.
56203         * modules/sys_socket (Description): Update.
56204         Reported by Elbert Pol <e.pol@chello.nl>.
56205
56206 2008-04-13  Bruno Haible  <bruno@clisp.org>
56207
56208         * lib/localcharset.c (OS2): Don't redefine if already defined.
56209         Reported by Elbert Pol <e.pol@chello.nl>.
56210
56211 2008-04-13  Bruno Haible  <bruno@clisp.org>
56212
56213         * lib/binary-io.h [__EMX__]: Include <io.h>.
56214         Reported by Elbert Pol <e.pol@chello.nl>.
56215
56216 2008-04-12  Bruno Haible  <bruno@clisp.org>
56217
56218         * lib/fpucw.h: Enable the definitions also for x86_64.
56219         Needed for NetBSD/x86_64.
56220         Reported by Thomas Klausner <tk@giga.or.at>.
56221
56222 2008-04-12  Bruno Haible  <bruno@clisp.org>
56223
56224         * tests/test-strtod.c: Include isnand.h.
56225         (main): Use isnand instead of isnan.
56226         Reported by Jim Meyering.
56227
56228 2008-04-12  Bruno Haible  <bruno@clisp.org>
56229
56230         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
56231         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56232
56233 2008-04-12  Jim Meyering  <meyering@redhat.com>
56234
56235         * m4/math_h.m4 (gl_MATH_H): Fix typos.
56236
56237 2008-04-12  Bruno Haible  <bruno@clisp.org>
56238
56239         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
56240         Reported by Elbert Pol <e.pol@chello.nl>.
56241
56242 2008-04-12  Eric Blake  <ebb9@byu.net>
56243
56244         Work around Solaris 10 math.h bug.
56245         * m4/math_h.m4 (gl_MATH_H): Check for bug.
56246         (gl_MATH_H_DEFAULTS): Set up default.
56247         * modules/math (Makefile.am): Replace new indicators.
56248         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
56249         * tests/test-math.c (main): Test this.
56250         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
56251         * doc/posix-headers/math.texi (math.h): Mention bug.
56252         Reported by Nelson H. F. Beebe and Jim Meyering.
56253
56254 2008-04-11  Bruno Haible  <bruno@clisp.org>
56255
56256         Adapt to future versions of Apple GCC.
56257         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
56258         Reported by Peter O'Gorman <peter@pogma.com>.
56259
56260 2008-04-11  Bruno Haible  <bruno@clisp.org>
56261
56262         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
56263
56264 2008-04-11  Bruno Haible  <bruno@clisp.org>
56265
56266         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
56267
56268         * modules/getaddrinfo-tests (Makefile.am): Define
56269         test_getaddrinfo_LDADD.
56270
56271 2008-04-11  Bruno Haible  <bruno@clisp.org>
56272
56273         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
56274         (init): Fix syntax error.
56275         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
56276         is declared.
56277
56278 2008-04-11  Bruno Haible  <bruno@clisp.org>
56279
56280         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
56281         * modules/glob (Depends-on): Add stdbool.
56282
56283 2008-04-11  Bruno Haible  <bruno@clisp.org>
56284
56285         * lib/trim.c: Include <string.h>.
56286
56287 2008-04-11  Eric Blake  <ebb9@byu.net>
56288
56289         Avoid compile failure on OS/2.
56290         * lib/regex_internal.h (internal_function): Disable optimization
56291         on OS/2 (__EMX__), where it caused compiler error.
56292         Reported by Elbert Pol.
56293
56294 2008-04-11  Bruno Haible  <bruno@clisp.org>
56295
56296         Flush the standard error stream before aborting. Needed on mingw.
56297         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
56298         * tests/test-array_list.c (ASSERT): Likewise.
56299         * tests/test-array_oset.c (ASSERT): Likewise.
56300         * tests/test-avltree_list.c (ASSERT): Likewise.
56301         * tests/test-avltree_oset.c (ASSERT): Likewise.
56302         * tests/test-avltreehash_list.c (ASSERT): Likewise.
56303         * tests/test-binary-io.c (ASSERT): Likewise.
56304         * tests/test-byteswap.c (ASSERT): Likewise.
56305         * tests/test-c-ctype.c (ASSERT): Likewise.
56306         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
56307         * tests/test-c-strcasestr.c (ASSERT): Likewise.
56308         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
56309         * tests/test-c-strstr.c (ASSERT): Likewise.
56310         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
56311         * tests/test-canonicalize.c (ASSERT): Likewise.
56312         * tests/test-carray_list.c (ASSERT): Likewise.
56313         * tests/test-ceilf1.c (ASSERT): Likewise.
56314         * tests/test-ceilf2.c (ASSERT): Likewise.
56315         * tests/test-ceill.c (ASSERT): Likewise.
56316         * tests/test-count-one-bits.c (ASSERT): Likewise.
56317         * tests/test-fbufmode.c (ASSERT): Likewise.
56318         * tests/test-fflush2.c (ASSERT): Likewise.
56319         * tests/test-floorf1.c (ASSERT): Likewise.
56320         * tests/test-floorf2.c (ASSERT): Likewise.
56321         * tests/test-floorl.c (ASSERT): Likewise.
56322         * tests/test-fopen.c (ASSERT): Likewise.
56323         * tests/test-fpending.c (ASSERT): Likewise.
56324         * tests/test-fprintf-posix.c (ASSERT): Likewise.
56325         * tests/test-fpurge.c (ASSERT): Likewise.
56326         * tests/test-freadable.c (ASSERT): Likewise.
56327         * tests/test-freadahead.c (ASSERT): Likewise.
56328         * tests/test-freading.c (ASSERT): Likewise.
56329         * tests/test-freadptr.c (ASSERT): Likewise.
56330         * tests/test-freadptr2.c (ASSERT): Likewise.
56331         * tests/test-freadseek.c (ASSERT): Likewise.
56332         * tests/test-freopen.c (ASSERT): Likewise.
56333         * tests/test-frexp.c (ASSERT): Likewise.
56334         * tests/test-frexpl.c (ASSERT): Likewise.
56335         * tests/test-fseek.c (ASSERT): Likewise.
56336         * tests/test-fseeko.c (ASSERT): Likewise.
56337         * tests/test-fstrcmp.c (ASSERT): Likewise.
56338         * tests/test-ftell.c (ASSERT): Likewise.
56339         * tests/test-ftello.c (ASSERT): Likewise.
56340         * tests/test-func.c (ASSERT): Likewise.
56341         * tests/test-fwritable.c (ASSERT): Likewise.
56342         * tests/test-fwriting.c (ASSERT): Likewise.
56343         * tests/test-getdelim.c (ASSERT): Likewise.
56344         * tests/test-getline.c (ASSERT): Likewise.
56345         * tests/test-i-ring.c (ASSERT): Likewise.
56346         * tests/test-iconv-utf.c (ASSERT): Likewise.
56347         * tests/test-iconv.c (ASSERT): Likewise.
56348         * tests/test-isfinite.c (ASSERT): Likewise.
56349         * tests/test-isnand.c (ASSERT): Likewise.
56350         * tests/test-isnanf.c (ASSERT): Likewise.
56351         * tests/test-isnanl.h (ASSERT): Likewise.
56352         * tests/test-ldexpl.c (ASSERT): Likewise.
56353         * tests/test-linked_list.c (ASSERT): Likewise.
56354         * tests/test-linkedhash_list.c (ASSERT): Likewise.
56355         * tests/test-localename.c (ASSERT): Likewise.
56356         * tests/test-lseek.c (ASSERT): Likewise.
56357         * tests/test-mbscasecmp.c (ASSERT): Likewise.
56358         * tests/test-mbscasestr1.c (ASSERT): Likewise.
56359         * tests/test-mbscasestr2.c (ASSERT): Likewise.
56360         * tests/test-mbscasestr3.c (ASSERT): Likewise.
56361         * tests/test-mbscasestr4.c (ASSERT): Likewise.
56362         * tests/test-mbschr.c (ASSERT): Likewise.
56363         * tests/test-mbscspn.c (ASSERT): Likewise.
56364         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
56365         * tests/test-mbspbrk.c (ASSERT): Likewise.
56366         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
56367         * tests/test-mbsrchr.c (ASSERT): Likewise.
56368         * tests/test-mbsspn.c (ASSERT): Likewise.
56369         * tests/test-mbsstr1.c (ASSERT): Likewise.
56370         * tests/test-mbsstr2.c (ASSERT): Likewise.
56371         * tests/test-mbsstr3.c (ASSERT): Likewise.
56372         * tests/test-memchr2.c (ASSERT): Likewise.
56373         * tests/test-memmem.c (ASSERT): Likewise.
56374         * tests/test-open.c (ASSERT): Likewise.
56375         * tests/test-printf-frexp.c (ASSERT): Likewise.
56376         * tests/test-printf-frexpl.c (ASSERT): Likewise.
56377         * tests/test-printf-posix.c (ASSERT): Likewise.
56378         * tests/test-quotearg.c (ASSERT): Likewise.
56379         * tests/test-rbtree_list.c (ASSERT): Likewise.
56380         * tests/test-rbtree_oset.c (ASSERT): Likewise.
56381         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
56382         * tests/test-round1.c (ASSERT): Likewise.
56383         * tests/test-roundf1.c (ASSERT): Likewise.
56384         * tests/test-roundl.c (ASSERT): Likewise.
56385         * tests/test-signbit.c (ASSERT): Likewise.
56386         * tests/test-sleep.c (ASSERT): Likewise.
56387         * tests/test-snprintf-posix.c (ASSERT): Likewise.
56388         * tests/test-snprintf.c (ASSERT): Likewise.
56389         * tests/test-sprintf-posix.c (ASSERT): Likewise.
56390         * tests/test-stat-time.c (ASSERT): Likewise.
56391         * tests/test-strcasestr.c (ASSERT): Likewise.
56392         * tests/test-strerror.c (ASSERT): Likewise.
56393         * tests/test-striconv.c (ASSERT): Likewise.
56394         * tests/test-striconveh.c (ASSERT): Likewise.
56395         * tests/test-striconveha.c (ASSERT): Likewise.
56396         * tests/test-strsignal.c (ASSERT): Likewise.
56397         * tests/test-strstr.c (ASSERT): Likewise.
56398         * tests/test-strtod.c (ASSERT): Likewise.
56399         * tests/test-trunc1.c (ASSERT): Likewise.
56400         * tests/test-trunc2.c (ASSERT): Likewise.
56401         * tests/test-truncf1.c (ASSERT): Likewise.
56402         * tests/test-truncf2.c (ASSERT): Likewise.
56403         * tests/test-truncl.c (ASSERT): Likewise.
56404         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
56405         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
56406         * tests/test-vasnprintf.c (ASSERT): Likewise.
56407         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
56408         * tests/test-vasprintf.c (ASSERT): Likewise.
56409         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
56410         * tests/test-vprintf-posix.c (ASSERT): Likewise.
56411         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
56412         * tests/test-vsnprintf.c (ASSERT): Likewise.
56413         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
56414         * tests/test-wcwidth.c (ASSERT): Likewise.
56415         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
56416         * tests/test-xprintf-posix.c (ASSERT): Likewise.
56417         * tests/test-xvasprintf.c (ASSERT): Likewise.
56418         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
56419         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
56420         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
56421         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
56422         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
56423         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
56424         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
56425         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
56426         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
56427         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
56428         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
56429         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
56430         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
56431         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
56432         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
56433         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
56434         * tests/unictype/test-block_list.c (ASSERT): Likewise.
56435         * tests/unictype/test-block_of.c (ASSERT): Likewise.
56436         * tests/unictype/test-block_test.c (ASSERT): Likewise.
56437         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
56438         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
56439         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
56440         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
56441         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
56442         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
56443         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
56444         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
56445         * tests/unictype/test-combining.c (ASSERT): Likewise.
56446         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
56447         * tests/unictype/test-digit.c (ASSERT): Likewise.
56448         * tests/unictype/test-mirror.c (ASSERT): Likewise.
56449         * tests/unictype/test-numeric.c (ASSERT): Likewise.
56450         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
56451         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
56452         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
56453         * tests/unictype/test-scripts.c (ASSERT): Likewise.
56454         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
56455         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
56456         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
56457         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
56458         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
56459         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
56460         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
56461         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
56462         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
56463         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
56464         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
56465         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
56466         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
56467         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
56468         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
56469         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
56470         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
56471         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
56472         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
56473         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
56474         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
56475         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
56476         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
56477         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
56478         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
56479         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
56480         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
56481         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
56482         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
56483         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
56484         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
56485         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
56486         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
56487         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
56488         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
56489         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
56490         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
56491         Reported by Eric Blake.
56492
56493 2008-04-11  Bruno Haible  <bruno@clisp.org>
56494
56495         * lib/wchar.in.h: Tweak comment.
56496
56497 2008-04-11  Bruno Haible  <bruno@clisp.org>
56498
56499         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
56500         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
56501         gl_COMMON.
56502         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
56503
56504 2008-04-11  Bruno Haible  <bruno@clisp.org>
56505
56506         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
56507
56508 2008-04-11  Simon Josefsson  <simon@josefsson.org>
56509
56510         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
56511         of attempting to use non-existing /dev/*random.  Based on patch
56512         from Adam Strzelecki <ono@java.pl> in
56513         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
56514
56515 2008-04-08  Bruno Haible  <bruno@clisp.org>
56516
56517         Add tentative support for emx+gcc.
56518         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
56519         * lib/fpurge.c (fpurge): Likewise.
56520         * lib/freadable.c (freadable): Likewise.
56521         * lib/freadahead.c (freadahead): Likewise.
56522         * lib/freading.c (freading): Likewise.
56523         * lib/freadptr.c (freadptr): Likewise.
56524         * lib/freadseek.c (freadptrinc): Likewise.
56525         * lib/fseeko.c (rpl_fseeko): Likewise.
56526         * lib/fseterr.c (fseterr): Likewise.
56527         * lib/fwritable.c (fwritable): Likewise.
56528         * lib/fwriting.c (fwriting): Likewise.
56529         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
56530
56531 2008-04-09  Eric Blake  <ebb9@byu.net>
56532
56533         Avoid some autoconf warnings.
56534         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
56535         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
56536         * m4/afs.m4 (gl_AFS): Likewise.
56537         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
56538         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
56539         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56540         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
56541         (gl_INTEGER_TYPE_SUFFIX): Likewise.
56542         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
56543         (AC_CHECK_DECLS_ONCE): Likewise.
56544         Rename file...
56545         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
56546         gnulib-tool requires autoconf 2.59 or better.
56547         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
56548
56549 2008-04-08  Eric Blake  <ebb9@byu.net>
56550
56551         Use 'git describe --match' if present (added in git 1.5.5).
56552         * build-aux/git-version-gen: Limit result to tags that match 'v*'
56553         if possible.
56554
56555 2008-04-08  Bruno Haible  <bruno@clisp.org>
56556
56557         Add tentative support for OpenServer.
56558         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
56559         _ptr, _cnt.
56560         * lib/fpurge.c (fpurge): Likewise.
56561         * lib/freadable.c (freadable): Likewise.
56562         * lib/freadahead.c (freadahead): Likewise.
56563         * lib/freading.c (freading): Likewise.
56564         * lib/freadptr.c (freadptr): Likewise.
56565         * lib/freadseek.c (freadptrinc): Likewise.
56566         * lib/fseeko.c (rpl_fseeko): Likewise.
56567         * lib/fseterr.c (fseterr): Likewise.
56568         * lib/fwritable.c (fwritable): Likewise.
56569         * lib/fwriting.c (fwriting): Likewise.
56570         Reported by Roger Cornelius <rac@tenzing.org> and
56571         Brian K. White <brian@aljex.com>.
56572
56573 2008-04-06  Jim Meyering  <meyering@redhat.com>
56574
56575         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
56576
56577 2008-04-06  Bruno Haible  <bruno@clisp.org>
56578
56579         Avoid possible error with non-ASCII bytes in UTF-8 locales.
56580         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
56581         * tests/test-printf-posix.sh: Likewise.
56582         * tests/test-vfprintf-posix.sh: Likewise.
56583         * tests/test-vprintf-posix.sh: Likewise.
56584         * tests/test-xprintf-posix.sh: Likewise.
56585
56586 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56587
56588         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
56589         hide error from 'ls', needed on OS/2.
56590         Report by Elbert Pol <elbert.pol@gmail.com>.
56591
56592 2008-04-04  Eric Blake  <ebb9@byu.net>
56593
56594         Make test-fseeko.c failures meaningful.
56595         * tests/test-fseeko.c: Print line number on failure.
56596         * tests/test-fseek.c: Likewise.
56597         Reported by Nelson H. F. Beebe.
56598
56599         Improve strtod bug detection check.
56600         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
56601         required for Solaris 10.
56602         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
56603
56604 2008-04-04  Bruno Haible  <bruno@clisp.org>
56605
56606         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
56607         by m4/setenv.m4.
56608
56609 2008-04-03  Eric Blake  <ebb9@byu.net>
56610
56611         Ensure sane .version contents.
56612         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
56613         version string.
56614         * build-aux/git-version-gen: Improve documentation.
56615
56616         Make GNU make output nicer.
56617         * top/GNUmakefile [!_have-Makefile]: Add dependency on
56618         MAKECMDGOALS to enforce message for all command line targets.  Set
56619         srcdir for use in maint.mk.
56620
56621         Another maintainer tweak.
56622         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
56623         a target that regenerates version.
56624
56625 2008-04-03  Jim Meyering  <meyering@redhat.com>
56626
56627         vc-list-files: don't cause coreutils "make po-check" failure
56628         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
56629
56630 2008-04-03  Eric Blake  <ebb9@byu.net>
56631
56632         Allow VPATH usage of vc-list-files.
56633         * build-aux/vc-list-files (scriptversion): Add timestamp.
56634         (options): Add --help, --version, -C.
56635         (CVS): Support installed cvsu.
56636
56637 2008-04-02  Bruno Haible  <bruno@clisp.org>
56638
56639         Avoid some "statement with no effect" warnings from gcc.
56640         * tests/test-wctype.c (main): Explicitly ignore unused values.
56641         Reported by Jim Meyering.
56642
56643 2008-04-02  Jim Meyering  <meyering@redhat.com>
56644
56645         Avoid some warnings from "gcc -Wshadow".
56646         * tests/test-frexp.c (exp): Define to a different identifier.
56647         * tests/test-frexpl.c (exp): Likewise.
56648
56649 2008-04-03  Jim Meyering  <meyering@redhat.com>
56650
56651         bootstrap: remove dangling *.[ch] symlinks from lib
56652         * build-aux/bootstrap [dangling symlink removal]: Move find's
56653         -depth option to precede all others, to avoid a warning.
56654         Remove *.[ch] files too, and from "$source_base" (usually lib/).
56655
56656 2008-04-02  Bruno Haible  <bruno@clisp.org>
56657
56658         Avoid some warnings from "gcc -Wshadow".
56659         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
56660         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
56661         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
56662         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
56663         Reported by Jim Meyering.
56664
56665 2008-04-01  Bruno Haible  <bruno@clisp.org>
56666
56667         Fix test to work on IRIX 6.5 with cc.
56668         * tests/test-math.c (numeric_equal): New function.
56669         (main): Use it.
56670
56671 2008-04-01  Bruno Haible  <bruno@clisp.org>
56672
56673         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
56674
56675 2008-04-01  Bruno Haible  <bruno@clisp.org>
56676
56677         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
56678         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56679         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
56680         (Depends-on): Remove math.
56681
56682         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
56683         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56684         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
56685         (Depends-on): Remove math.
56686
56687         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
56688         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56689         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
56690         (Depends-on): Remove math.
56691         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
56692         (Depends-on): Remove math.
56693
56694         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
56695         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56696         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
56697         (Depends-on): Remove math.
56698         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
56699         (Depends-on): Remove math.
56700
56701         * tests/test-round1.c: Include nan.h.
56702         (main): Use NaNd instead of NAN.
56703         * modules/round-tests (Files): Add tests/nan.h.
56704
56705         * tests/test-trunc1.c: Include nan.h.
56706         (main): Use NaNd instead of NAN.
56707         * modules/trunc-tests (Files): Add tests/nan.h.
56708
56709         * tests/test-roundf1.c: Include nan.h.
56710         (main): Use NaNf instead of NAN.
56711         * modules/roundf-tests (Files): Add tests/nan.h.
56712
56713         * tests/test-truncf1.c: Include nan.h.
56714         (main): Use NaNf instead of NAN.
56715         * modules/truncf-tests (Files): Add tests/nan.h.
56716
56717         * tests/test-ceilf1.c: Include nan.h.
56718         (main): Use NaNf instead of NAN.
56719         * modules/ceilf-tests (Files): Add tests/nan.h.
56720
56721         * tests/test-floorf1.c: Include nan.h.
56722         (main): Use NaNf instead of NAN.
56723         * modules/floorf-tests (Files): Add tests/nan.h.
56724
56725         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
56726         (main): Use NaNf instead of NAN.
56727         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
56728
56729         * tests/test-isnand.c: Include nan.h instead of <math.h>.
56730         (main): Use NaNd instead of NAN.
56731         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
56732
56733         * tests/test-frexp.c: Include nan.h.
56734         (main): Use NaNd instead of NAN.
56735         * modules/frexp-tests (Files): Add tests/nan.h.
56736
56737         * lib/isnan.c: Don't include <math.h>.
56738         (FUNC): Don't use NAN macro.
56739         * modules/isnand-nolibm (Depends-on): Remove math.
56740         * modules/isnanf-nolibm (Depends-on): Remove math.
56741         * modules/isnanl (Depends-on): Remove math.
56742         * modules/isnanl-nolibm (Depends-on): Remove math.
56743
56744         * tests/nan.h: New file.
56745
56746 2008-04-01  Eric Blake  <ebb9@byu.net>
56747
56748         Fix typos.
56749         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
56750         values to be the right type.
56751
56752         For now, cater to gnulib strtod inaccuracies.
56753         * tests/test-strtod.c (main): Allow 1-ulp error on expected
56754         fractional results.  While not as nice from a QoI perspective, it
56755         is a quicker patch than correctly implementing decimal to binary
56756         rounding.
56757
56758 2008-03-31  Eric Blake  <ebb9@byu.net>
56759
56760         Guarantee a definition of NAN.
56761         * lib/math.in.h (NAN): Define if missing.
56762         * tests/test-math.c (main): Test it.
56763         * doc/posix-headers/math.texi (math.h): Document this.
56764         * lib/isnan.c (rpl_isnand): Use it.
56765         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
56766         * tests/test-floorf1.c (NaN): Likewise.
56767         * tests/test-frexp.c (NaN): Likewise.
56768         * tests/test-isnand.c (NaN): Likewise.
56769         * tests/test-isnanf.c (NaN): Likewise.
56770         * tests/test-round1.c (NaN): Likewise.
56771         * tests/test-roundf1.c (NaN): Likewise.
56772         * tests/test-snprintf-posix.h (NaN): Likewise.
56773         * tests/test-sprintf-posix.h (NaN): Likewise.
56774         * tests/test-trunc1.c (NaN): Likewise.
56775         * tests/test-truncf1.c (NaN): Likewise.
56776         * tests/test-vasnprintf-posix.c (NaN): Likewise.
56777         * tests/test-vasprintf-posix.c (NaN): Likewise.
56778         * modules/isnand-nolibm (Depends-on): Add math.
56779         * modules/isnanf-nolibm (Depends-on): Likewise.
56780         * modules/isnanl (Depends-on): Likewise.
56781         * modules/isnanl-nolibm (Depends-on): Likewise.
56782         * modules/snprintf-posix-tests (Depends-on): Likewise.
56783         * modules/sprintf-posix-tests (Depends-on): Likewise.
56784         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
56785         * modules/vsprintf-posix-tests (Depends-on): Likewise.
56786         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
56787         * modules/vasprintf-posix-tests (Depends-on): Likewise.
56788
56789 2008-03-31  Bruno Haible  <bruno@clisp.org>
56790
56791         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
56792         * doc/posix-functions/strtod.texi: Likewise.
56793
56794 2008-03-31  Bruno Haible  <bruno@clisp.org>
56795
56796         * tests/test-strtod.c (main): Don't use C99 syntax.
56797
56798 2008-03-31  Bruno Haible  <bruno@clisp.org>
56799
56800         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
56801         Reported by Eric Blake.
56802
56803 2008-03-31  Jim Meyering  <meyering@redhat.com>
56804
56805         Don't compare actual signbit return values.
56806         * tests/test-strtod.c (main): Rather, compare only their
56807         zero/non-zero nature.
56808
56809 2008-03-31  Eric Blake  <ebb9@byu.net>
56810
56811         More strtod documentation.
56812         * doc/posix-functions/strtod.texi (strtod): Interpret more test
56813         failures as distinct bugs.
56814
56815 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56816
56817         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
56818         Problem reported by Erik Benada in
56819         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
56820
56821 2008-03-30  Bruno Haible  <bruno@clisp.org>
56822
56823         * tests/test-strtod.c: Add comments about which assertion fails on which
56824         platform.
56825         * doc/posix-functions/strtod.texi: Add info about many more platforms.
56826
56827 2008-03-30  Eric Blake  <ebb9@byu.net>
56828
56829         Test signbit behavior on zeros.
56830         * tests/test-signbit.c (test_signbitf): Add tests for zero.
56831         (test_signbitd, test_signbitl): Likewise.
56832
56833         More strtod touchups.
56834         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
56835         sign of negative underflow, for now.  Use .5, not .1.
56836         * doc/posix-functions/strtod.texi (strtod): Mention these
56837         limitations.
56838         Reported by Jim Meyering.
56839
56840 2008-03-30  Bruno Haible  <bruno@clisp.org>
56841
56842         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
56843         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
56844
56845 2008-03-30  Bruno Haible  <bruno@clisp.org>
56846
56847         Avoid failure when attempting to return empty iconv results on some
56848         platforms.
56849         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
56850         allocation, don't report ENOMEM when the resulting string is empty.
56851
56852 2008-03-30  Bruno Haible  <bruno@clisp.org>
56853
56854         Fix buffer overrun.
56855         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
56856         Don't consider the width for tmp_length. Check count against tmp_length
56857         before doing the padding. Ensure enough allocation during padding.
56858
56859 2008-03-30  Eric Blake  <ebb9@byu.net>
56860
56861         strtod touchups.
56862         * lib/strtod.c (strtod): Avoid compiler warnings.
56863         Reported by Jim Meyering.
56864
56865 2008-03-30  Bruno Haible  <bruno@clisp.org>
56866
56867         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
56868         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
56869         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
56870         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
56871         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
56872         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
56873         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
56874         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
56875
56876         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
56877         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
56878         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
56879         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
56880         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
56881         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
56882         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
56883         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
56884
56885         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
56886         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
56887         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
56888         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
56889         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
56890         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
56891         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
56892         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
56893
56894         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
56895         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
56896
56897         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
56898         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
56899
56900         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
56901         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
56902
56903         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
56904         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
56905         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
56906
56907         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
56908         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
56909         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
56910
56911         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
56912         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
56913         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
56914
56915         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
56916         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
56917         * modules/vasprintf (Depends-on): Add EOVERFLOW.
56918
56919         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
56920         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
56921         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
56922         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
56923         (Depends-on): Add EOVERFLOW.
56924         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
56925         (Depends-on): Add EOVERFLOW.
56926         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
56927         (Depends-on): Add EOVERFLOW.
56928         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
56929         (Depends-on): Add EOVERFLOW.
56930         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
56931         (Depends-on): Add EOVERFLOW.
56932         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
56933         (Depends-on): Add EOVERFLOW.
56934         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
56935         (Depends-on): Add EOVERFLOW.
56936         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
56937         (Depends-on): Add EOVERFLOW.
56938
56939         * lib/sprintf.c (EOVERFLOW): Remove fallback.
56940         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
56941         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
56942
56943         * lib/snprintf.c (EOVERFLOW): Remove fallback.
56944         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
56945         * modules/snprintf (Depends-on): Add EOVERFLOW.
56946
56947         * lib/poll.c (EOVERFLOW): Remove fallback.
56948         * modules/poll (Depends-on): Add EOVERFLOW.
56949
56950         * lib/getugroups.c (EOVERFLOW): Remove fallback.
56951         * modules/getugroups (Depends-on): Add EOVERFLOW.
56952
56953         * lib/getdelim.c (EOVERFLOW): Remove fallback.
56954         * modules/getdelim (Depends-on): Add EOVERFLOW.
56955
56956         * lib/ftell.c (EOVERFLOW): Remove fallback.
56957         * modules/ftell (Depends-on): Add EOVERFLOW.
56958
56959         * lib/fprintf.c (EOVERFLOW): Remove fallback.
56960         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
56961         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
56962
56963         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
56964
56965         * modules/EOVERFLOW-tests: New file.
56966         * tests/test-EOVERFLOW.c: New file.
56967
56968         * modules/EOVERFLOW: New file.
56969         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
56970
56971 2008-03-30  Bruno Haible  <bruno@clisp.org>
56972
56973         Fix bug introduced on 2007-06-10.
56974         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
56975         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
56976
56977 2008-03-30  Bruno Haible  <bruno@clisp.org>
56978
56979         Improve freadseek's efficiency after ungetc.
56980         * lib/freadseek.c: Include freadahead.h.
56981         (freadptrinc): New function, extracted from freadseek.
56982         (freadseek): Use it in a loop. Use freadahead to determine the number
56983         of loop iterations.
56984         * modules/freadseek (Depends-on): Add freadahead.
56985         (configure.ac): Require AC_C_INLINE.
56986
56987 2008-03-30  Bruno Haible  <bruno@clisp.org>
56988
56989         * lib/freadseek.c (freadseek): Don't ignore the return value of
56990         freadptr.
56991
56992 2008-03-29  Eric Blake  <ebb9@byu.net>
56993
56994         Add hex float support.
56995         * modules/strtod (Depends-on): Add c-ctype.
56996         (Link): Mention POW_LIB.
56997         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
56998         whitespace between 'e' and exponent.
56999         * tests/test-strtod.c (main): Enable hex float tests.
57000         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57001         now provides.
57002
57003         Document various strtod bugs, with some fixes.
57004         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57005         "-0x", "inf", "nan", and hex constants.
57006         * doc/posix-functions/atof.texi (atof): Likewise.
57007         * modules/stdlib (Makefile.am): Support strtod.
57008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57009         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57010         detect additional strtod bugs.
57011         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57012         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57013         bool where appropriate.  Parse 'inf' and 'nan'.
57014         * tests/test-strtod.c: New file.
57015         * modules/strtod (Depends-on): Add stdbool, stdlib.
57016         (configure.ac): Turn on module indicator.
57017         * modules/strtod-tests: New module.
57018
57019 2008-03-29  Eric Blake  <ebb9@byu.net>
57020
57021         Fix ftell on mingw.
57022         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57023         * modules/ftell-tests (Depends-on): Add binary-io.
57024         * modules/ftello-tests (Depends-on): Likewise.
57025         * tests/test-ftell.c (main): Enhance test to cover behavior after
57026         ungetc.  Enforce binary mode.
57027         * tests/test-ftello.c (main): Likewise.
57028
57029         Pass test-freadseek on cygwin.
57030         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57031         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57032         ungetc buffer.
57033
57034         * tests/test-fflush2.c (main): Fix typo.
57035
57036 2008-03-29  Bruno Haible  <bruno@clisp.org>
57037
57038         * tests/test-fflush2.c (main): Temporarily disable the contents of
57039         this test.
57040         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57041         Reported by Eric Blake.
57042
57043 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57044
57045         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57046         (GC_SHA224_DIGEST_SIZE): Add.
57047
57048         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57049         (gc_hash_digest_length): Likewise.
57050         (gc_hash_buffer): Likewise.
57051
57052 2008-03-25  Bruno Haible  <bruno@clisp.org>
57053
57054         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57055         detail which gettext release to use.
57056         Reported by Simon Josefsson.
57057
57058 2008-03-26  Jim Meyering  <meyering@redhat.com>
57059
57060         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57061         * modules/gnumakefile (clean-GNUmakefile): Also, use
57062         test ... && ... || : syntax rather than if-then ... fi.
57063
57064         gnumakefile: Don't double-quote-expand $(VPATH) value.
57065         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57066
57067 2008-03-24  Eric Blake  <ebb9@byu.net>
57068
57069         Alter GNUmakefile to install into top directory.
57070         * modules/maintainer-makefile: Split, and add dependency...
57071         * modules/gnumakefile: to this new module.
57072         * build-aux/GNUmakefile: Move...
57073         * top/GNUmakefile: ...here.
57074         * build-aux/maint.mk: Move...
57075         * top/maint.mk: ...here.
57076         * MODULES.html.sh (Support for maintaining...): Document new
57077         module.
57078
57079 2008-03-23  Bruno Haible  <bruno@clisp.org>
57080
57081         * gnulib-tool: New options --vc-files, --no-vc-files.
57082         (func_usage): Document them.
57083         (vc_files): New variable.
57084         (func_import): Consider vc_files.
57085         (func_create_testdir): Set vc_files to empty.
57086         Suggested by Jim Meyering and Karl Berry.
57087
57088 2008-03-23  Bruno Haible  <bruno@clisp.org>
57089
57090         Fix regex compilation error on HP-UX 11.
57091         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57092         * modules/regex (Files): Add m4/mbstate_t.m4.
57093         Reported by Ton Voon <ton.voon@altinity.com>.
57094
57095 2008-03-23  Bruno Haible  <bruno@clisp.org>
57096
57097         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
57098
57099 2008-03-23  Eric Blake  <ebb9@byu.net>
57100             Bruno Haible  <bruno@clisp.org>
57101
57102         Install files from top/ in the destination directory.
57103         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57104         augmentation also for the files from top/.
57105         (func_import, func_create_testdir): Rewrite file names:
57106         top/filename -> filename.
57107
57108 2008-03-23  Bruno Haible  <bruno@clisp.org>
57109
57110         Tweak "gnulib --version" output.
57111         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
57112
57113 2008-03-23  Bruno Haible  <bruno@clisp.org>
57114
57115         Tweak "gnulib --version" output.
57116         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
57117         rather than contents of ChangeLog, when possible.
57118
57119 2008-03-21  Eric Blake  <ebb9@byu.net>
57120
57121         More --version tweaks.
57122         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
57123         date of last ChangeLog entry.
57124
57125 2008-03-21  Jim Meyering  <meyering@redhat.com>
57126
57127         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
57128
57129 2008-03-20  Eric Blake  <ebb9@byu.net>
57130
57131         VPATH fix.
57132         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
57133
57134 2008-03-20  Simon Josefsson  <simon@josefsson.org>
57135
57136         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
57137         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
57138
57139 2008-03-20  Eric Blake  <ebb9@byu.net>
57140
57141         Sync GNUmakefile with coreutils.
57142         * build-aux/GNUmakefile (have-Makefile): Rename...
57143         (_have-Makefile): ...to this, for namespace consideration.
57144         (GNUmakefile.cfg): Include, if present.
57145         (_autoreconf): Define a default.
57146         (_is-dist-target): New rule for rebuilds to pick up intra-release
57147         version.
57148         (maint-cfg.mk): Rename...
57149         (cfg.mk): ...to this.
57150
57151 2008-03-18  Jim Meyering  <meyering@redhat.com>
57152
57153         New script and module: mktempd
57154         * MODULES.html.sh (maint+release support): Add mktempd.
57155         * build-aux/mktempd: New file.
57156         * modules/mktempd: New file.
57157
57158 2008-03-15  Jim Meyering  <meyering@redhat.com>
57159
57160         Undo last change.
57161         * lib/sha1.c, lib/md5.c: 63 != ~63.
57162         Reported by Andreas Schwab.
57163
57164         sha1.c, md5.c: Hoist a redundant expression.
57165         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
57166         "ctx->buflen" only once, before calling *_process_block.
57167         * lib/md5.c (md5_process_bytes): Likewise.
57168
57169 2008-03-14  Eric Blake  <ebb9@byu.net>
57170
57171         Bump copyright year in files generated by gnulib-tool.
57172         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
57173         gnulib-tool, rather than hard-coding it.
57174
57175         Fix 'gnulib-tool --version' output to work with git.
57176         * gnulib-tool (func_gnulib_dir): New function, extracted from...
57177         (startup): ...here.
57178         (func_version): Use it to invoke git-version-gen, rather than
57179         relying on CVS keyword expansion.  Modernize wording.
57180         (cvsdatestamp, last_checkin_date, version): Kill unused
57181         variables.
57182
57183 2008-03-12  Jim Meyering  <meyering@redhat.com>
57184
57185         Recognize optional cast of the argument to free.
57186         * build-aux/useless-if-before-free: Update regexps.
57187
57188         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
57189
57190 2008-03-11  Bruno Haible  <bruno@clisp.org>
57191
57192         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
57193         by a single package.
57194         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
57195         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
57196         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
57197         Reported by Sam Steingold <sds@gnu.org>.
57198
57199 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57200
57201         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
57202         repositories.
57203
57204 2008-03-11  Bruno Haible  <bruno@clisp.org>
57205
57206         Avoid conflicts between local macro definitions.
57207         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57208         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
57209
57210 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
57211             Bruno Haible  <bruno@clisp.org>
57212
57213         Make va_copy work with some version of xlc on AIX 5.1.
57214         * lib/stdarg.in.h: New file.
57215         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
57216         On AIX, use a <stdarg.h> file substitute.
57217         * modules/stdarg (Files): Add lib/stdarg.in.h.
57218         (Depends-on): Add include_next.
57219         (Makefile.am): Build a stdarg.h substitute if requested.
57220         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
57221
57222 2008-03-10  Bruno Haible  <bruno@clisp.org>
57223
57224         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
57225         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57226         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57227
57228 2008-03-10  Bruno Haible  <bruno@clisp.org>
57229
57230         * modules/stdlib (Depends-on): Add include_next, remove
57231         absolute-header.
57232
57233 2008-03-09  Bruno Haible  <bruno@clisp.org>
57234
57235         * lib/freadahead.h (freadahead): Document more precisely.
57236         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
57237         the sum of both buffer sizes.
57238         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
57239         * NEWS: Document the change.
57240
57241 2008-03-09  Bruno Haible  <bruno@clisp.org>
57242
57243         Extend freadptr to return also the buffer size.
57244         * lib/freadptr.h (freadptr): Add sizep argument.
57245         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
57246         (freadptr): Add sizep argument. Determine buffer size like freadahead
57247         does.
57248         * tests/test-freadptr.c: Don't include freadahead.h.
57249         (main): Adapt for new calling convention of freadptr.
57250         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
57251         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
57252         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
57253         tests/test-freadptr2.sh.
57254         (Depends): Remove freadahead.
57255         (TESTS): Add test-freadptr2.sh.
57256         (check_PROGRAMS): Add test-freadptr2.
57257
57258 2008-03-09  Bruno Haible  <bruno@clisp.org>
57259
57260         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
57261         Report and solution by Simon Josefsson.
57262
57263 2008-03-06  Bruno Haible  <bruno@clisp.org>
57264
57265         Make fflush after ungetc work on BSD platforms.
57266         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
57267         * tests/test-fflush2.c: New file.
57268         * tests/test-fflush2.sh: New file.
57269         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
57270         tests/test-fflush2.c.
57271         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
57272         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
57273
57274 2008-03-06  Eric Blake  <ebb9@byu.net>
57275
57276         Likewise for ftello.
57277         * modules/ftello (Dependencies): Add extensions.
57278         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
57279
57280 2008-03-06  Bruno Haible  <bruno@clisp.org>
57281
57282         * modules/fseeko (Dependencies): Add extensions.
57283         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
57284         Needed on glibc systems.
57285
57286 2008-03-06  Bruno Haible  <bruno@clisp.org>
57287
57288         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
57289         email address.
57290         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57291
57292 2008-03-06  Bruno Haible  <bruno@clisp.org>
57293
57294         * users.txt: Add libgnupdf.
57295
57296 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57297
57298         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
57299         (Header File Substitutes, Function Substitutes,
57300         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
57301         (Build robot for gnulib): Fix typo.
57302
57303 2008-03-06  Bruno Haible  <bruno@clisp.org>
57304
57305         * doc/gnulib-tool.texi (VCS Issues): Small updates.
57306         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57307
57308 2008-03-06  Bruno Haible  <bruno@clisp.org>
57309
57310         * doc/func.texi: New file, extracted from doc/gnulib.texi.
57311         * doc/gnulib.texi: Include it.
57312
57313 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57314
57315         * modules/func (License): Change license to unlimited; there was
57316         no LGPL parts in the module anyway.
57317
57318 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57319
57320         * modules/__func__: Renamed to modules/func.
57321         * modules/__func__-tests: Renamed to modules/func-tests.
57322         * tests/test-__func__.c: Renamed to tests/test-func.c.
57323         * m4/__func__.m4: Renamed to m4/func.m4.
57324         * doc/gnulib.texi (__func__): Section renamed to func.
57325         Suggested by Eric Blake <ebb9@byu.net>.
57326
57327 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57328
57329         * doc/gnulib.texi (__func__): Use C99 terminology when talking
57330         about __func__.  Make example self-contained.  Suggested by Eric
57331         Blake <ebb9@byu.net>.
57332
57333         * tests/test-__func__.c (main): Avoid extraneous () around __func.
57334         Suggested by Eric Blake <ebb9@byu.net>.
57335
57336 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57337
57338         * modules/__func__: New file.
57339         * modules/__func__-tests: New file.
57340         * tests/test-__func__.c: New file.
57341         * m4/__func__.m4: New file.
57342         * doc/gnulib.texi (__func__): Document __func__ module.
57343
57344 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57345
57346         * modules/byteswap (License): Re-license as LGPLv2+.
57347
57348 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57349
57350         * doc/Makefile: Add pdf target.
57351
57352 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57353
57354         * modules/inline (License): Use 'unlimited', since there are only
57355         *.m4 files in this module.
57356
57357 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57358             Bruno Haible  <bruno@clisp.org>
57359
57360         Add support for HP C 7.1 on OpenVMS 8.3.
57361         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
57362
57363 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57364
57365         Update VMS specifics.
57366         * lib/getopt.c [VMS]: Remove include of unixlib.h.
57367
57368 2008-03-02  Jim Meyering  <meyering@redhat.com>
57369
57370         Remove the last dependency on the "free" module.
57371         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
57372         Reported by Bob Proulx.
57373
57374         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
57375
57376         Remove useless "if" tests before free.  Deprecate "free" module.
57377         * doc/posix-functions/free.texi: Mention that this
57378         module is no longer useful.
57379         * modules/free (Notice): Say this module is obsolete.
57380         * modules/readutmp (Depends-on): Remove free.
57381         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
57382         * lib/putenv.c (putenv): Likewise.
57383         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
57384         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
57385         * tests/test-c-strcasestr.c (main): Likewise.
57386         * tests/test-c-strstr.c (main): Likewise.
57387         * tests/test-mbscasestr1.c (main): Likewise.
57388         * tests/test-mbscasestr2.c (main): Likewise.
57389         * tests/test-mbsstr1.c (main): Likewise.
57390         * tests/test-mbsstr2.c (main): Likewise.
57391         * tests/test-memmem.c (main): Likewise.
57392         * tests/test-strcasestr.c (main): Likewise.
57393         * tests/test-striconv.c (main): Likewise.
57394         * tests/test-striconveh.c (main): Likewise.
57395         * tests/test-striconveha.c (main): Likewise.
57396         * tests/test-strstr.c (main): Likewise.
57397
57398         * build-aux/git-version-gen: Adjust a comment and the Usage string.
57399
57400         bootstrap: sync from coreutils again
57401         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
57402
57403 2008-03-01  Jim Meyering  <meyering@redhat.com>
57404
57405         bootstrap: sync from coreutils
57406         * build-aux/bootstrap (update_po_files): Copy a .po file into place
57407         also when the target doesn't exist.
57408
57409 2008-03-01  Eric Blake  <ebb9@byu.net>
57410
57411         Fix bugs in last patch.
57412         * lib/memchr2.c (memchr2): Fix typo.
57413         * tests/test-memchr2.c: Test previous bug, and don't use GNU
57414         extension.
57415         Reported by Bruce Korb.
57416
57417         New module 'memchr2'.
57418         * modules/memchr2: New file.
57419         * modules/memchr2-tests: Likewise.
57420         * lib/memchr2.h: Likewise.
57421         * lib/memchr2.c: Likewise, based on memchr.c.
57422         * tests/test-memchr2.c: New test.
57423         * MODULES.html.sh (String handling): Add memchr2.
57424
57425 2008-02-29  Bruno Haible  <bruno@clisp.org>
57426
57427         * modules/freadseek-tests: New file.
57428         * tests/test-freadseek.sh: New file.
57429         * tests/test-freadseek.c: New file.
57430
57431         New module 'freadseek'.
57432         * modules/freadseek: New file.
57433         * lib/freadseek.h: New file.
57434         * lib/freadseek.c: New file.
57435         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
57436
57437 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
57438
57439         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
57440         wydawca.
57441
57442         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
57443         program_invocation_name and program_invocation_short_name are
57444         present.
57445
57446 2008-02-28  Bruno Haible  <bruno@clisp.org>
57447
57448         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
57449         * tests/test-freadptr.sh: Also test non-seekable stdin.
57450
57451 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
57452
57453         * build-aux/bootstrap (source_base, m4_base)
57454         (doc_base, tests_base): New variables.
57455         (gnulib_tool_options): Do not hardcode base directories, use
57456         the above variables instead.
57457
57458 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
57459
57460         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
57461
57462 2008-02-28  Bruno Haible  <bruno@clisp.org>
57463
57464         * modules/freadptr-tests: New file.
57465         * tests/test-freadptr.sh: New file.
57466         * tests/test-freadptr.c: New file.
57467
57468         New module 'freadptr'.
57469         * modules/freadptr: New file.
57470         * lib/freadptr.h: New file.
57471         * lib/freadptr.c: New file.
57472         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
57473
57474 2008-02-26  Karl Berry  <karl@freefriends.org>
57475
57476         Sync from Libtool:
57477         * libltdl/argz.c (argz_add, argz_count): New functions.
57478         * libltdl/argz.in.h: Declare them.
57479         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
57480
57481 2008-02-22  Bruno Haible  <bruno@clisp.org>
57482
57483         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
57484         is a pointer type.  Needed for HP-UX 10.
57485         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
57486         * doc/posix-functions/gmtime_r.texi: Likewise.
57487         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57488
57489 2008-02-24  Bruno Haible  <bruno@clisp.org>
57490
57491         * modules/environ-tests: New file.
57492         * tests/test-environ.c: New file.
57493
57494         New module 'environ'.
57495         * modules/environ: New file.
57496         * lib/unistd.in.h (environ): New declaration.
57497         * m4/environ.m4: New file.
57498         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
57499         after use.
57500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
57501         HAVE_DECL_ENVIRON.
57502         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
57503         HAVE_DECL_ENVIRON.
57504         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
57505         wrong claim that 'environ' is missing on some systems.
57506         * modules/execute (Depends-on): Add environ.
57507         * lib/execute.c (environ): Remove fallback declaration.
57508         * modules/pipe (Depends-on): Add environ.
57509         * lib/pipe.c (environ): Remove fallback declaration.
57510         * modules/setenv (Depends-on): Add environ.
57511         * lib/setenv.c (environ): Remove fallback declaration.
57512         * modules/unsetenv (Depends-on): Add environ.
57513         * lib/unsetenv.c (environ): Remove fallback declaration.
57514         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
57515         m4/environ.m4.
57516         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
57517         (gl_PREREQ_UNSETENV): Likewise.
57518
57519 2008-02-24  Bruno Haible  <bruno@clisp.org>
57520
57521         * doc/posix-functions/environ.texi: Document the MacOS X problem.
57522
57523 2008-02-20  Bob Proulx  <bob@proulx.com>
57524
57525         Enable use of older two part flavor 'git describe'.
57526         * build-aux/git-version-gen: If using the older two part flavor of
57527         git version then recreate the third part now present in the
57528         newer three part flavor of git describe.
57529
57530 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
57531
57532         * lib/fts.c (fts_build): Typo correction to comment.
57533
57534 2008-02-17  Bruno Haible  <bruno@clisp.org>
57535
57536         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
57537         generating no-op conflicts.
57538
57539 2008-02-17  Bruno Haible  <bruno@clisp.org>
57540
57541         Speed up by 10%.
57542         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
57543         result_entries, rather than an index-based loop.
57544
57545 2008-02-17  Bruno Haible  <bruno@clisp.org>
57546
57547         Speed up by 25%.
57548         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
57549         'hashcode_cached'.
57550         (entry_create): New function.
57551         (entry_hashcode): Use the cached hashcode if possible.
57552         (read_changelog_file, try_split_merged_entry): Use entry_create.
57553
57554 2008-02-17  Bruno Haible  <bruno@clisp.org>
57555
57556         Speed up from O(n^2) to O(n) for long ChangeLog files.
57557         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
57558         (read_changelog_file): Change implementation of entries_reversed list
57559         to rbtreehash.
57560         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
57561
57562 2008-02-17  Bruno Haible  <bruno@clisp.org>
57563
57564         New option --split-merged-entry.
57565         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
57566         (find_paragraph_end, try_split_merged_entry): New functions.
57567         (long_options): Add option --split-merged-entry.
57568         (usage): Document option --split-merged-entry.
57569         (main): Implement option --split-merged-entry.
57570         Reported by Eric Blake.
57571
57572 2008-02-17  Bruno Haible  <bruno@clisp.org>
57573
57574         * lib/git-merge-changelog.c: Include c-strstr.h.
57575         (main): Support the "git pull --rebase" situation.
57576         * modules/git-merge-changelog (Depends-on): Add c-strstr.
57577         Reported by Eric Blake.
57578
57579 2008-02-16  Eric Blake  <ebb9@byu.net>
57580
57581         Avoid doubling \ in common case of "c-maybe" quoting style.
57582         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
57583         eliding outer quotes.
57584         * lib/quotearg.h: Document this.
57585         * tests/test-quotearg.c (result_strings, inputs, results_g)
57586         (flag_results, locale_results): Test it by adding a new string to
57587         each test group.
57588         (compare_strings): Test new string.
57589
57590 2008-02-13  Eric Blake  <ebb9@byu.net>
57591
57592         Avoid trigraph quoting in default output.
57593         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
57594         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
57595         unless explicitly requested.
57596         * tests/test-quotearg.c (flag_results, main): Add additional tests.
57597
57598 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
57599
57600         Don't rely on signed integer overflowing to negative value.
57601         * lib/getugroups.c (getugroups): Include <limits.h>.
57602         Instead, compare against INT_MAX, and increment only if the test passes.
57603
57604 2008-02-13  Jim Meyering  <meyering@redhat.com>
57605         and Eric Blake  <ebb9@byu.net>
57606
57607         Avoid shadowing warning and compile errors on Linux.
57608         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
57609         forwarding macros on Linux.
57610         (dcgettext): Define a stub, for Linux.
57611         (results_g, main): Avoid warnings.
57612
57613 2008-02-12  Eric Blake  <ebb9@byu.net>
57614
57615         Silence warning in last patch.
57616         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
57617
57618         Quotearg part 4: add tests, fix c-maybe colon quoting.
57619         * lib/quotearg.h: Improve documentation.
57620         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
57621         escapes when adding outer quotes.  When quoting trigraphs, use
57622         valid C notation.  When quoting NUL, omit extra characters if next
57623         character is not digit.  Alter prototype.
57624         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
57625         callers.
57626         * modules/quotearg-tests: New module.
57627         * tests/test-quotearg.c: New test.
57628
57629 2008-02-07  Eric Blake  <ebb9@byu.net>
57630
57631         Quotearg part 3: add flag to control outer quote elision.
57632         * lib/quotearg.h (c_maybe_quoting_style): New style.
57633         (enum quoting_flags): Better documentation of flags.
57634         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
57635         c-maybe style.
57636         (quotearg_buffer_restyled): Handle new flag to elide outer
57637         quotes.
57638
57639         Quotearg part 2: add flag that can control NUL elision.
57640         * lib/quotearg.h (set_quoting_flags): New prototype.
57641         * lib/quotearg.c (struct quoting_options): Add flag field.
57642         (set_quoting_flags): New function.
57643         (quotearg_buffer_restyled): Add flags parameter.
57644         (quotearg_alloc_mem): Set the flag if length cannot be returned.
57645         (quotearg_n_options): Set the flag, since length cannot be
57646         returned.
57647         (quoting_options_from_style): Default flags correctly.
57648
57649         Quotearg part 1: more wrappers, restore quotearg_char state.
57650         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
57651         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
57652         (quotearg_colon_mem): New wrappers.
57653         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
57654         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
57655         functions.
57656         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
57657         (quotearg_colon_mem): New functions.
57658
57659 2008-02-11  Bruno Haible  <bruno@clisp.org>
57660
57661         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
57662         library in the current directory: it does not work with parallel make.
57663         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57664
57665 2008-02-11  Bruno Haible  <bruno@clisp.org>
57666
57667         * .gitattributes: New file.
57668
57669 2008-02-11  Jim Meyering  <meyering@redhat.com>
57670
57671         useless-if-before-free: Fix reversed exit values.
57672         * build-aux/useless-if-before-free: Use correct values
57673         for EXIT_MATCH and EXIT_NO_MATCH.
57674
57675         * build-aux/useless-if-before-free: Close stdout carefully.
57676
57677 2008-02-10  Bruno Haible  <bruno@clisp.org>
57678
57679         New module 'git-merge-changelog'.
57680         * modules/git-merge-changelog: New file.
57681         * lib/git-merge-changelog.c: New file.
57682
57683 2008-02-10  Jim Meyering  <meyering@redhat.com>
57684
57685         useless-if-before-free: New option: --list (-l).
57686
57687         useless-if-before-free: Don't exit immediately upon open failure.
57688         * build-aux/useless-if-before-free: Exit 2 for errors.
57689         Upon failure to open a file, don't exit immediately.
57690         Rather, just warn and continue with any remaining files.
57691
57692 2008-02-10  Bruno Haible  <bruno@clisp.org>
57693
57694         New abstract list operation 'node_set_value'.
57695         * lib/gl_list.h (gl_list_node_set_value): New function.
57696         (struct gl_list_implementation): New field node_set_value.
57697         * lib/gl_list.c (gl_list_node_set_value): New function.
57698         * lib/gl_array_list.c (gl_array_node_set_value): New function.
57699         (gl_array_list_implementation): Update.
57700         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
57701         (gl_carray_list_implementation): Update.
57702         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
57703         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57704         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57705         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
57706         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57707         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57708         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57709         Update.
57710         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57711         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
57712         (gl_sublist_list_implementation): Update.
57713
57714 2008-02-10  Bruno Haible  <bruno@clisp.org>
57715
57716         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
57717         Needed when ELEMENT is #defined to 'some_type *'.
57718
57719 2008-02-10  Jim Meyering  <meyering@redhat.com>
57720
57721         New script and module: useless-if-before-free
57722         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
57723         * build-aux/useless-if-before-free: New file.
57724         * modules/useless-if-before-free: New file.
57725
57726         * build-aux/gitlog-to-changelog: Use committer date, not author date.
57727
57728         xstrtol_error: Fix typo.
57729         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
57730         s/exit_failure/exit_status/.
57731
57732 2008-02-09  Jim Meyering  <meyering@redhat.com>
57733
57734         New script and module: gitlog-to-changelog
57735         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
57736         * modules/gitlog-to-changelog: New file.
57737         * build-aux/gitlog-to-changelog: New file.
57738
57739 2008-02-08  Jim Meyering  <meyering@redhat.com>
57740
57741         Avoid two "parameter unused" warnings.
57742         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
57743         Mark "st" as used.
57744
57745         Use "git COMMAND", not "git-COMMAND".
57746         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
57747         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
57748         * build-aux/git-version-gen: Use "git status", not "git-status".
57749
57750 2008-02-07  Bruno Haible  <bruno@clisp.org>
57751
57752         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
57753         Avoids a crash on Windows Vista.
57754         Reported by Adam Strzelecki <ono@java.pl> via
57755         Simon Josefsson <simon@josefsson.org>.
57756
57757 2008-02-06  Bruno Haible  <bruno@clisp.org>
57758
57759         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
57760         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
57761         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
57762         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
57763         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57764         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57765         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
57766         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
57767         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57768         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57769         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57770         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57771         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57772         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57773         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57774         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
57775         left-adjust flag.
57776         * tests/test-snprintf-posix.h (test_function): Likewise.
57777         * tests/test-sprintf-posix.h (test_function): Likewise.
57778         * tests/test-vasprintf-posix.c (test_function): Likewise.
57779         * doc/posix-functions/fprintf.texi: Update.
57780         * doc/posix-functions/printf.texi: Update.
57781         * doc/posix-functions/snprintf.texi: Update.
57782         * doc/posix-functions/sprintf.texi: Update.
57783         * doc/posix-functions/vfprintf.texi: Update.
57784         * doc/posix-functions/vprintf.texi: Update.
57785         * doc/posix-functions/vsnprintf.texi: Update.
57786         * doc/posix-functions/vsprintf.texi: Update.
57787         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57788
57789 2008-02-06  Bruno Haible  <bruno@clisp.org>
57790
57791         Fix bug introduced on 2008-01-26.
57792         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
57793
57794 2008-02-06  Bruno Haible  <bruno@clisp.org>
57795
57796         Fix bug introduced on 2007-06-10.
57797         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
57798         !NEED_PRINTF_FLAG_ZERO.
57799
57800 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
57801
57802         getloadavg: use libperfstat on AIX5
57803         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
57804
57805 2008-02-03  Bruno Haible  <bruno@clisp.org>
57806
57807         * lib/diffseq.h: Add comments about required #includes.
57808         Reported by Michael Biggs <gnulib@doubleplum.net>.
57809
57810 2008-02-01  Bruno Haible  <bruno@clisp.org>
57811
57812         * users.txt: Add gnuit.
57813
57814 2008-01-31  Bruno Haible  <bruno@clisp.org>
57815
57816         * lib/md4.c (set_uint32): Mark as inline.
57817         * lib/md5.c (set_uint32): Likewise.
57818         * lib/sha1.c (set_uint32): Likewise.
57819         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
57820         * m4/md5.m4 (gl_MD5): Likewise.
57821         * m4/sha1.m4 (gl_SHA1): Likewise.
57822
57823 2008-01-31  Jim Meyering  <meyering@redhat.com>
57824
57825         Use "sizeof VAR", rather than a literal "4".
57826         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
57827         * lib/md4.c (md4_read_ctx): Likewise.
57828         * lib/sha1.c (sha1_read_ctx): Likewise.
57829
57830 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57831
57832         * tests/test-sha1.c: New file, based on test-md5.c.
57833
57834         * modules/crypto/sha1-tests: New file.
57835
57836 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57837
57838         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
57839
57840 2008-01-31  Jim Meyering  <meyering@redhat.com>
57841
57842         Prefer "sizeof v" over the equivalent "4".
57843         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
57844         * lib/md5.c (set_uint32): Likewise.
57845         * lib/sha1.c (set_uint32): Likewise.
57846
57847 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57848
57849         * lib/sha1.c (set_uint32): Mark function as static.
57850
57851 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57852
57853         md2: clarify comments to say that alignment is not required.
57854         * lib/md2.h: Remove warning about alignment in comment.
57855         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
57856         never been required.
57857
57858 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57859
57860         md4: adapt alignment constraint fix from sha1.
57861         * lib/md4.c (set_uint32): New function, from sha1.c
57862         (md4_read_ctx): Use it.
57863         (md4_finish_ctx): Doc fix.
57864         * lib/md4.h: Doc fix.
57865
57866 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57867
57868         md5: adapt alignment constraint fix from sha1.
57869         * lib/md5.c (set_uint32): New function, from sha1.c
57870         (md5_read_ctx): Use it.
57871         (md5_finish_ctx): Doc fix.
57872         * lib/md5.h: Doc fix.
57873
57874 2008-01-30  Peter Palfrader  <weasel@debian.org>
57875
57876         sha1: remove the result buffer alignment constraint
57877         * lib/sha1.c (set_uint32): New function.
57878         (sha1_read_ctx): Rewrite to remove the result buffer alignment
57879         constraint.
57880         (sha1_finish_ctx): Remove comment warning about alignment constraint.
57881         * lib/sha1.h: Likewise.
57882
57883 2008-01-30  Andreas Schwab  <schwab@suse.de>
57884             Bruno Haible  <bruno@clisp.org>
57885
57886         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
57887         correct definition of LDBL_MIN_EXP.
57888
57889 2008-01-30  Karl Berry  <karl@gnu.org>
57890
57891         * config/srclist-update: try to preserve x bit on updates.
57892         * config/srclistvars.sh: update for karl.
57893
57894 2008-01-29  Jim Meyering  <meyering@redhat.com>
57895
57896         vasnprintf.c: Avoid warning about unused label
57897         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
57898         "overflow" label definition and associated code with the
57899         same cpp condition that guards the sole use of that label.
57900
57901 2008-01-26  Bruno Haible  <bruno@clisp.org>
57902
57903         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
57904         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
57905         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
57906         * lib/isnanl-nolibm.h (isnanl): Likewise.
57907         Reported by Paul Eggert <eggert@cs.ucla.edu>.
57908
57909 2008-01-26  Bruno Haible  <bruno@clisp.org>
57910
57911         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
57912         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
57913
57914 2008-01-26  Bruno Haible  <bruno@clisp.org>
57915
57916         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
57917         GCC >= 4.0 built-in.
57918         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
57919
57920 2008-01-26  Bruno Haible  <bruno@clisp.org>
57921
57922         Rename isnan, applicable to 'double' only, to isnand.
57923         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
57924         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
57925         (configure.ac): Update.
57926         (Include): Replace "isnan.h" with "isnand.h".
57927         * m4/isnand.m4: Renamed from m4/isnan.m4.
57928         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
57929         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
57930         instead of isnan.c.
57931         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
57932         instead of HAVE_ISNAN_IN_LIBC.
57933         (isnand): Renamed from isnan.
57934         * lib/isnand.c: New file.
57935         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
57936         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
57937         (Makefile.am): Update.
57938         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
57939         Include isnand.h instead of isnan.h.
57940         (main): Test isnand instead of isnan.
57941         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
57942         isnan-nolibm.
57943         * modules/frexp (Depends-on): Likewise.
57944         * modules/frexp-tests (Depends-on): Likewise.
57945         * modules/frexp-nolibm (Depends-on): Likewise.
57946         * modules/frexp-nolibm-tests (Depends-on): Likewise.
57947         * modules/isfinite (Depends-on): Likewise.
57948         * modules/round-tests (Depends-on): Likewise.
57949         * modules/signbit (Depends-on): Likewise.
57950         * modules/signbit-tests (Depends-on): Likewise.
57951         * modules/snprintf-posix (Depends-on): Likewise.
57952         * modules/sprintf-posix (Depends-on): Likewise.
57953         * modules/trunc-tests (Depends-on): Likewise.
57954         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57955         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57956         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57957         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57958         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57959         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57960         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57961         * modules/vasnprintf-posix (Depends-on): Likewise.
57962         * modules/vasprintf-posix (Depends-on): Likewise.
57963         * modules/vfprintf-posix (Depends-on): Likewise.
57964         * modules/vsnprintf-posix (Depends-on): Likewise.
57965         * modules/vsprintf-posix (Depends-on): Likewise.
57966         * lib/frexp.c: Include isnand.h instead of isnan.h.
57967         (ISNAN): Set to isnand instead of isnan.
57968         * lib/isfinite.c: Include isnand.h instead of isnan.h.
57969         (gl_isfinited): Use isnand instead of isnan.
57970         * lib/signbitd.c: Include isnand.h instead of isnan.h.
57971         (gl_signbitd): Use isnand instead of isnan.
57972         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
57973         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
57974         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
57975         (main): Use isnand instead of isnan.
57976         * tests/test-round1.c: Include isnand.h.
57977         (main): Use isnand instead of isnan.
57978         * tests/test-round2.c: Include isnand.h instead of isnan.h.
57979         (ISNAN): Set to isnand instead of isnan.
57980         * tests/test-trunc1.c: Include isnand.h.
57981         (main): Use isnand instead of isnan.
57982         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
57983         (equal): Use isnand instead of isnan.
57984         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
57985         isnand-nolibm.
57986         * NEWS: Mention the change.
57987
57988 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
57989             Bruno Haible  <bruno@clisp.org>
57990
57991         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
57992         the GCC builtins for signbits are present and set
57993         REPLACE_SIGNBIT_USING_GCC if so.
57994         * lib/math.in.h (signbit): Define using GCC builtins if
57995         REPLACE_SIGNBIT_USING_GCC is set.
57996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
57997         REPLACE_SIGNBIT_USING_GCC.
57998         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
57999
58000 2008-01-25  Jim Meyering  <meyering@redhat.com>
58001
58002         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58003         * lib/poll.c: Include <config.h>, not "config.h".
58004         * tests/test-getaddrinfo.c: Likewise.
58005
58006 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58007
58008         * modules/sockets-tests: New file.
58009
58010 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58011
58012         * modules/sockets: New module, can be used to call WSA_Startup and
58013         WSA_Cleanup when needed.
58014
58015         * lib/sockets.h, lib/sockets.c: New files.
58016
58017         * m4/sockets.m4: New file.
58018
58019         * tests/test-sockets.c: New file.
58020
58021 2008-01-19  Bruno Haible  <bruno@clisp.org>
58022
58023         * doc/posix-headers: Renamed from doc/headers.
58024         * doc/posix-functions: Renamed from doc/functions.
58025         * doc/gnulib.texi: Update.
58026
58027 2008-01-19  Bruno Haible  <bruno@clisp.org>
58028
58029         * doc/glibc-functions/strcasestr.texi: Include contents of
58030         doc/functions/strcasestr.texi, fixing the list of platforms.
58031         * doc/functions/strcasestr.texi: Remove file.
58032
58033 2008-01-19  Bruno Haible  <bruno@clisp.org>
58034
58035         * doc/glibc-functions/memmem.texi: Include contents of
58036         doc/functions/memmem.texi.
58037         * doc/functions/memmem.texi: Remove file.
58038
58039 2008-01-18  Bruno Haible  <bruno@clisp.org>
58040
58041         * doc/glibc-functions/*.texi: New files.
58042         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58043         to use the new files.
58044
58045 2008-01-17  Bruno Haible  <bruno@clisp.org>
58046
58047         * tests/test-gethostname.c (main): Fix printf statement.
58048
58049 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58050
58051         * modules/gethostname-tests: New file.
58052
58053         * tests/test-gethostname.c: New file.
58054
58055 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58056
58057         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58058         used by the UNAME case.  Reported by Bruno Haible
58059         <bruno@clisp.org>.
58060
58061 2008-01-17  Eric Blake  <ebb9@byu.net>
58062
58063         Convert c-strcasestr to be more efficient.
58064         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58065         (Depends-on): Add c-strcase, remove malloca, strnlen.
58066         * tests/test-c-strcasestr.c (main): Enhance test.
58067         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58068
58069 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58070
58071         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58072         Use it in creating po/Makevars.
58073
58074 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58075
58076         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58077         Applications that requires it should initialize libgcrypt
58078         manually.
58079
58080 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58081
58082         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58083
58084 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58085
58086         Fix problem with getdate on mingw32 reported by Simon Josefsson
58087         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58088         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58089         tzname", when deciding whether to declare tzname.
58090         * lib/strftime.c (tzname): Likewise.
58091
58092 2008-01-15  Bruno Haible  <bruno@clisp.org>
58093
58094         Work around a MacOS X 10.5 bug in frexpl().
58095         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
58096         * doc/functions/frexpl.texi: Document the bug.
58097         Reported by Elias Pipping <pipping@gentoo.org>.
58098
58099 2008-01-14  Eric Blake  <ebb9@byu.net>
58100
58101         Touch up previous patch.
58102         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
58103         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
58104
58105         Convert strcasestr module to use Two-Way algorithm.
58106         * modules/strcasestr-simple: New module, based on the old
58107         strcasestr, but with Two-Way rather than KMP.
58108         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
58109         * lib/string.in.h (rpl_strcasestr): Declare.
58110         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
58111         performance.
58112         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
58113         * modules/string (Makefile.am): Support strcasestr.
58114         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
58115         * modules/strcasestr-tests (Depends-on): Check for alarm.
58116         * tests/test-strcasestr.c: Augment test.
58117         * lib/str-two-way.h: Clean up stray macro.
58118         * NEWS: Document new module.
58119         * MODULES.html.sh (string handling): Likewise.
58120         * doc/functions/strcasestr.texi: New file.
58121         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
58122         here, since it is not a POSIX function.
58123
58124 2008-01-14  Colin Watson  <cjwatson@debian.org>
58125             Bruno Haible  <bruno@clisp.org>
58126
58127         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
58128         works fine; if not, set REPLACE_STRSIGNAL.
58129         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
58130         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58131         REPLACE_STRSIGNAL.
58132         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
58133         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
58134         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
58135
58136 2008-01-14  Bruno Haible  <bruno@clisp.org>
58137
58138         * modules/strsignal (Include): Change to <string.h>.
58139
58140 2008-01-14  Colin Watson  <cjwatson@debian.org>
58141
58142         * modules/argp (Notice): Add a notice recommending to change
58143         XGETTEXT_OPTIONS.
58144         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
58145
58146 2008-01-13  Colin Watson  <cjwatson@debian.org>
58147
58148         * modules/strsignal-tests: New file.
58149         * tests/test-strsignal.c: New file.
58150
58151         * lib/strsignal.c: New file, from glibc with modifications.
58152         * lib/siglist.h: New file, from glibc with modifications.
58153         * lib/string.in.h (strsignal): New declaration.
58154         * m4/strsignal.m4: New file.
58155         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58156         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
58157         * modules/strsignal: New file.
58158         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
58159         HAVE_DECL_STRSIGNAL.
58160
58161 2008-01-13  Bruno Haible  <bruno@clisp.org>
58162
58163         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
58164         locale encoding is not ASCII. Needed for OpenBSD 4.0.
58165         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58166         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58167
58168 2008-01-13  Bruno Haible  <bruno@clisp.org>
58169
58170         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
58171         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
58172         * lib/argp.h (__attribute__): Likewise.
58173         * lib/c-stack.c (__attribute__): Likewise.
58174         * lib/error.h (__attribute__): Likewise.
58175         * lib/fts.c (__attribute__): Likewise.
58176         * lib/openat.h (__attribute__): Likewise.
58177         * lib/stdio.in.h (__attribute__): Likewise.
58178         * lib/string.in.h (__attribute__): Likewise.
58179         * lib/utimens.c (__attribute__): Likewise.
58180         * lib/vasnprintf.h (__attribute__): Likewise.
58181         * lib/xalloc.h (__attribute__): Likewise.
58182         * lib/xprintf.h (__attribute__): Likewise.
58183         * lib/xstrtol.h (__attribute__): Likewise.
58184         * lib/xvasprintf.h (__attribute__): Likewise.
58185
58186 2008-01-12  Bruno Haible  <bruno@clisp.org>
58187
58188         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
58189         * doc/glibc-headers/a.out.texi: New file.
58190         * doc/glibc-headers/aliases.texi: New file.
58191         * doc/glibc-headers/alloca.texi: New file.
58192         * doc/glibc-headers/ar.texi: New file.
58193         * doc/glibc-headers/argp.texi: New file.
58194         * doc/glibc-headers/argz.texi: New file.
58195         * doc/glibc-headers/byteswap.texi: New file.
58196         * doc/glibc-headers/crypt.texi: New file.
58197         * doc/glibc-headers/endian.texi: New file.
58198         * doc/glibc-headers/envz.texi: New file.
58199         * doc/glibc-headers/err.texi: New file.
58200         * doc/glibc-headers/error.texi: New file.
58201         * doc/glibc-headers/execinfo.texi: New file.
58202         * doc/glibc-headers/fpu_control.texi: New file.
58203         * doc/glibc-headers/fstab.texi: New file.
58204         * doc/glibc-headers/fts.texi: New file.
58205         * doc/glibc-headers/getopt.texi: New file.
58206         * doc/glibc-headers/ieee754.texi: New file.
58207         * doc/glibc-headers/ifaddrs.texi: New file.
58208         * doc/glibc-headers/libintl.texi: New file.
58209         * doc/glibc-headers/mcheck.texi: New file.
58210         * doc/glibc-headers/mntent.texi: New file.
58211         * doc/glibc-headers/obstack.texi: New file.
58212         * doc/glibc-headers/paths.texi: New file.
58213         * doc/glibc-headers/printf.texi: New file.
58214         * doc/glibc-headers/pty.texi: New file.
58215         * doc/glibc-headers/resolv.texi: New file.
58216         * doc/glibc-headers/shadow.texi: New file.
58217         * doc/glibc-headers/sysexits.texi: New file.
58218         * doc/glibc-headers/ttyent.texi: New file.
58219
58220 2008-01-12  Jim Meyering  <meyering@redhat.com>
58221
58222         announce-gen: emit Gnulib's git-based version string.
58223         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
58224         New option --gnulib-version=V, where V is expected to be
58225         the output of running git describe in the gnulib directory.
58226         (get_tool_versions): Request feedback on xdelta.  I suspect it's
58227         not useful, and plan to stop publishing an xdelta file with each
58228         coreutils release.
58229
58230         * build-aux/announce-gen: Also check for lzma-compressed files.
58231
58232 2008-01-11  Bruno Haible  <bruno@clisp.org>
58233
58234         * tests/test-memmem.c (main): Increase maximum allowed time.
58235         * tests/test-strstr.c (main): Likewise.
58236
58237 2008-01-11  Bruno Haible  <bruno@clisp.org>
58238
58239         * doc/functions/memmem.texi: Add more precisions about platforms.
58240         * doc/functions/strstr.texi: Likewise.
58241
58242 2008-01-10  Eric Blake  <ebb9@byu.net>
58243
58244         * m4/strstr.m4: Delete cruft from copy-n-paste.
58245         Reported by Bruno Haible.
58246
58247 2008-01-10  Bruno Haible  <bruno@clisp.org>
58248
58249         Make c-strstr rely on strstr.
58250         * lib/c-strstr.c: Don't include str-kmp.h.
58251         (c_strstr): Define in terms of strstr.
58252         * modules/c-strstr (Files): Remove lib/str-kmp.h.
58253         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
58254
58255 2008-01-10  Bruno Haible  <bruno@clisp.org>
58256
58257         * doc/gnulib.texi (String Functions in C Locale): New section.
58258         * doc/c-ctype.texi: New file.
58259         * doc/c-strcase.texi: New file.
58260         * doc/c-strcaseeq.texi: New file.
58261         * doc/c-strcasestr.texi: New file.
58262         * doc/c-strstr.texi: New file.
58263         * doc/c-strtod.texi: New file.
58264         * doc/c-strtold.texi: New file.
58265
58266 2008-01-10  Eric Blake  <ebb9@byu.net>
58267
58268         * lib/relocatable.h: Fix a comment.
58269
58270 2008-01-10  Eric Blake  <ebb9@byu.net>
58271
58272         Share two-way algorithm.
58273         * lib/str-two-way.h: New file, merged from...
58274         * lib/memmem.c: ...here...
58275         * lib/strstr.c: ...and here.
58276         * modules/memmem (Files): Use it.
58277         * modules/strstr (Files): Likewise.
58278
58279         Avoid quadratic strstr implementations.
58280         * lib/strstr.c: New file.
58281         * m4/strstr.m4: Likewise.
58282         * modules/strstr: Likewise.
58283         * modules/strstr-tests: Likewise.
58284         * tests/test-strstr.c: Likewise.
58285         * lib/string.in.h (rpl_strstr): Declare.
58286         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
58287         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
58288         * modules/string (Makefile.am): Likewise.
58289         * MODULES.html.sh (string handling): Mention new module.
58290         * doc/functions/strstr.texi (strstr): Document the bug.
58291
58292 2008-01-10  Bruno Haible  <bruno@clisp.org>
58293
58294         * lib/relocatable.h (relocate): State whether result is freshly
58295         allocated or not.
58296         * lib/relocatable.c (relocate): Return a freshly allocated string
58297         instead of a pointer to a privately held string.
58298         Reported by Sylvain Beucler <beuc@gnu.org>.
58299
58300 2008-01-10  Colin Watson  <cjwatson@debian.org>
58301
58302         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
58303         s/S_ISNLK/S_ISLNK/.
58304
58305 2008-01-09  Bruno Haible  <bruno@clisp.org>
58306
58307         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
58308         and other files.
58309         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
58310         if it's only a guess.
58311         * modules/memmem: Simplify by depending on memmem-simple.
58312
58313 2008-01-09  Bruno Haible  <bruno@clisp.org>
58314
58315         Work around OpenBSD 4.0 tdelete() bug.
58316         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
58317         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
58318         macros and don't redefine the enum values.
58319         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
58320         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
58321         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
58322
58323 2008-01-09  Bruno Haible  <bruno@clisp.org>
58324
58325         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
58326         (main): Don't perform the tests if setlocale did not install a UTF-8
58327         locale. Needed on OpenBSD 4.0.
58328         * modules/wcwidth-tests (Depends-on): Add localcharset.
58329
58330 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58331
58332         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
58333         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
58334         * NEWS: announce this.
58335         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
58336
58337 2008-01-09  Simon Josefsson  <simon@josefsson.org>
58338         and Eric Blake  <ebb9@byu.net>
58339
58340         Add memmem-simple module.
58341         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
58342         (gl_FUNC_MEMMEM): Separate performance from presence checks.
58343         * modules/memmem-simple: New file.
58344         * modules/memmem (Description): Tweak.
58345         * MODULES.html.sh (string handling): Mention new module.
58346         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
58347         addressed by memmem-simple.
58348         * NEWS: Document the difference.
58349
58350 2008-01-09  Eric Blake  <ebb9@byu.net>
58351
58352         Give gcc some memmem optimization hints.
58353         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
58354         (strcasestr): Declare as pure.
58355         * modules/memmem (Maintainer): Claim my implementation.
58356
58357 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58358
58359         Support AIX 6.1 and higher.
58360         * build-aux/config.libpath: Likewise.
58361         * build-aux/config.rpath: Likewise.
58362
58363 2008-01-08  Jim Meyering  <meyering@redhat.com>
58364             Bruno Haible  <bruno@clisp.org>
58365
58366         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
58367         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
58368         Reported by Peter Fales in
58369         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
58370
58371 2008-01-08  Bruno Haible  <bruno@clisp.org>
58372
58373         * modules/unictype/category-of (Depends-on): Add
58374         unictype/category-none.
58375         * modules/unictype/category-and-tests (Depends-on): Add
58376         unictype/category-{L,N,Lu,Nd}.
58377         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
58378         * modules/unictype/category-or-tests (Depends-on): Add
58379         unictype/category-{L,N}.
58380         * modules/unictype/category-name-tests (Depends-on): Add
58381         unictype/category-{Z,Nl}.
58382         Reported by Simon Josefsson.
58383
58384 2008-01-08  Bruno Haible  <bruno@clisp.org>
58385
58386         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
58387         convention better.
58388         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
58389         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
58390         Reported by Peter Miller <millerp@canb.auug.org.au>.
58391
58392 2008-01-08  Eric Blake  <ebb9@byu.net>
58393
58394         Rewrite memmem to guarantee linear complexity without malloc.
58395         * lib/memmem.c (memmem): Use Two-Way rather than
58396         Knuth-Morris-Pratt, to allow O(1) space usage.
58397         (critical_factorization, two_way_short_needle)
58398         (two_way_long_needle): New functions.
58399         (knuth_morris_pratt): Delete.
58400         * modules/memmem (Depends-on): No longer need malloca or stdbool.
58401         Add stdint.
58402         * tests/test-memmem.c (main): Add tests for periodic needle and
58403         sublinear performance.
58404         * doc/functions/memmem.texi (memmem): Document other deficiencies
58405         in cygwin and older glibc.
58406
58407 2008-01-08  Bruno Haible  <bruno@clisp.org>
58408
58409         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
58410         augmentation.
58411
58412 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
58413
58414         Add a configure time option: --disable-acl.
58415         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
58416         AC_ARG_ENABLE(acl).
58417
58418 2008-01-06  Simon Josefsson  <simon@josefsson.org>
58419
58420         * tests/test-localename.c: Don't include obsolete "setenv.h".
58421
58422         * modules/localename-tests (Depends-on): Need unsetenv.
58423
58424 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58425
58426         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
58427
58428 2008-01-06  Colin Watson  <cjwatson@debian.org>
58429
58430         * users.txt: Add man-db.
58431
58432 2008-01-07  Bruno Haible  <bruno@clisp.org>
58433
58434         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
58435         previous section name.
58436
58437 2008-01-07  Bruno Haible  <bruno@clisp.org>
58438
58439         * lib/progname.c (set_program_name): Don't strip off a leading
58440         "lt-" prefix outside a .libs directory.
58441         Suggested by Paul Eggert.
58442
58443 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
58444             Bruno Haible  <bruno@clisp.org>
58445
58446         Improve memory cleanup in 'relocatable' module.
58447         * lib/relocatable.h (compute_curr_prefix): Change return type to
58448         'char *'.
58449         * lib/relocatable.c (compute_curr_prefix): Change return type to
58450         'char *'. Free curr_installdir after use.
58451         (relocate): Free curr_prefix_better after use.
58452         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
58453
58454 2008-01-01  Bruno Haible  <bruno@clisp.org>
58455
58456         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
58457         failure on older glibc systems.
58458         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58459
58460 2008-01-05  Eric Blake  <ebb9@byu.net>
58461
58462         Avoid quadratic system memmem.
58463         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
58464         Reported by Ralf Wildenhues.
58465
58466         Fix memmem test for mingw.
58467         * modules/memmem-tests (configure.ac): Check for alarm.
58468         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
58469         it.
58470         * doc/functions/memmem.texi: New file.
58471         * doc/gnulib.texi (Function Substitutes): Add memmem.
58472         Reported by Bruno Haible.
58473
58474 2008-01-04  Bruno Haible  <bruno@clisp.org>
58475
58476         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
58477         Require gl_HEADER_STRINGS_H_DEFAULTS, not
58478         gl_HEADER_STRING_H_DEFAULTS.
58479
58480 2008-01-04  Eric Blake  <ebb9@byu.net>
58481
58482         Shorten duration of memmem test.
58483         * tests/test-memmem.c (main): Use alarm to declare failure if test
58484         is taking too long.
58485         Reported by Ralf Wildenhues.
58486
58487 2007-12-21  Simon Josefsson  <simon@josefsson.org>
58488
58489         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
58490         string, needed by strerror.
58491
58492 2008-01-03  Colin Watson  <cjwatson@debian.org>
58493             Bruno Haible  <bruno@clisp.org>
58494
58495         * doc/gnulib-tool.texi (Localization): New section.
58496
58497 2008-01-02  Bruno Haible  <bruno@clisp.org>
58498
58499         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
58500         variables to 'unsigned char *' type.
58501         Reported by Paul Eggert.
58502
58503 2008-01-02  Jim Meyering  <jim@meyering.net>
58504
58505         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
58506
58507 2007-12-31  Jim Meyering  <jim@meyering.net>
58508
58509         Avoid use of private FTS type name.
58510         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
58511
58512 2007-12-30  Karl Berry  <karl@gnu.org>
58513
58514         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
58515         work around defect in Texinfo and/or the standalone Info browser.
58516
58517 2007-12-30  Bruno Haible  <bruno@clisp.org>
58518
58519         Unify 5 copies of the KMP code.
58520         * lib/str-kmp.h: New file.
58521         * lib/c-strcasestr.c: Include str-kmp.h.
58522         (knuth_morris_pratt): Remove function.
58523         (c_strcasestr): Update.
58524         * lib/c-strstr.c: Include str-kmp.h.
58525         (knuth_morris_pratt): Remove function.
58526         (c_strcasestr): Update.
58527         * lib/mbscasestr.c: Include str-kmp.h.
58528         (knuth_morris_pratt_unibyte): Remove function.
58529         * lib/mbsstr.c: Include str-kmp.h.
58530         (knuth_morris_pratt_unibyte): Remove function.
58531         * lib/strcasestr.c: Include str-kmp.h.
58532         (knuth_morris_pratt): Remove function.
58533         (strcasestr): Update.
58534         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
58535         * modules/c-strstr (Files): Likewise.
58536         * modules/mbscasestr (Files): Likewise.
58537         * modules/mbsstr (Files): Likewise.
58538         * modules/strcasestr (Files): Likewise.
58539         Suggested by Paul Eggert.
58540
58541 2007-12-30  Bruno Haible  <bruno@clisp.org>
58542
58543         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
58544         defined.
58545
58546 2007-12-30  Bruno Haible  <bruno@clisp.org>
58547
58548         * lib/xmalloca.h: Include xalloc.h.
58549         (xnmalloca): New macro.
58550
58551 2007-12-30  Bruno Haible  <bruno@clisp.org>
58552
58553         * lib/malloca.h (nmalloca): New macro.
58554         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
58555         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
58556         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
58557         knuth_morris_pratt_multibyte): Likewise.
58558         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
58559         knuth_morris_pratt_multibyte): Likewise.
58560         * lib/memmem.c (knuth_morris_pratt): Likewise.
58561         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
58562
58563 2007-12-25  Bruno Haible  <bruno@clisp.org>
58564
58565         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
58566         * lib/glob.c: Don't include openat.h.
58567         (link_exists2_p): Add back the code that deals with the
58568         !GLOB_ALTDIRFUNC case.
58569         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
58570         let it do the filename concatenation.
58571         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
58572         * modules/glob (Depends-on): Remove openat.
58573
58574 2007-12-31  Bruno Haible  <bruno@clisp.org>
58575
58576         * modules/dirfd (License): Change to LGPLv2+.
58577         Approved by Jim Meyering.
58578
58579 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58580
58581         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
58582         when multiplying M by sizeof (size_t).
58583
58584 2007-12-10  Martin Lambers  <marlam@marlam.de>
58585
58586         Override getpagesize on mingw.
58587         * lib/getpagesize.c: New file.
58588         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
58589         * modules/getpagesize (Files): Add lib/getpagesize.c.
58590         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
58591         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
58592         REPLACE_GETPAGESIZE.
58593         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
58594
58595 2007-12-25  Bruno Haible  <bruno@clisp.org>
58596
58597         * modules/localcharset (Notice): New field.
58598         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
58599         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
58600
58601 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58602             Bruno Haible  <bruno@clisp.org>
58603
58604         Avoid using the syntax symbol() in formatted documentation.
58605         * MODULES.html.sh (func_module): When replacing symbol() with a
58606         hyperlink, remove the parentheses. Show an error if some remain.
58607         Recognize and render the '...' syntax.
58608         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
58609         Rework. Add paragraph about GCC's inlining.
58610         * doc/alloca.texi: Likewise.
58611         * doc/error.texi: Remove parentheses from symbol reference.
58612         * doc/gnulib-intro.texi: Likewise.
58613         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
58614         * modules/fnmatch (Description): Reword to say "the ... function".
58615         * modules/full-read (Description): Likewise.
58616         * modules/full-write (Description): Likewise.
58617         * modules/safe-read (Description): Likewise.
58618         * modules/safe-write (Description): Likewise.
58619         * modules/strchrnul (Description): Likewise.
58620         * modules/trim (Description): Likewise.
58621         * modules/error (Description): Remove parentheses from symbol
58622         references.
58623         * modules/verror (Description): Likewise.
58624         Reported by Karl Berry.
58625
58626 2007-12-25  Bruno Haible  <bruno@clisp.org>
58627
58628         Fixup after 2007-10-16 commit.
58629         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
58630
58631 2007-12-24  Bruno Haible  <bruno@clisp.org>
58632
58633         Make --enable-relocatable work with DESTDIR.
58634         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
58635         to compute installdir from destprog.
58636         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
58637         also set the RELOC_DESTDIR variable.
58638         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58639
58640 2007-12-24  Bruno Haible  <bruno@clisp.org>
58641
58642         Fix link error due to xalloc_die().
58643         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
58644         of xreadlink.
58645         * lib/relocwrapper.c: Update comments.
58646         * build-aux/install-reloc: Remove xreadlink.c from file list.
58647         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
58648         xreadlink.c.
58649         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58650
58651 2007-12-24  Bruno Haible  <bruno@clisp.org>
58652
58653         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
58654         * lib/setenv.h: Remove file.
58655         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
58656         lib/setenv.h.
58657         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
58658         (Depends-on): Add stdlib.
58659         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
58660         gl_FUNC_UNSETENV.
58661         (Include): Replace setenv.h with <stdlib.h>.
58662         * modules/unsetenv: New file.
58663         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
58664         * lib/unsetenv.c: Include <stdlib.h> first.
58665         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
58666         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
58667         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
58668         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
58669         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
58670         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
58672         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58673         * doc/functions/unsetenv.texi: Update.
58674         * modules/xsetenv (Depends-on): Add unsetenv.
58675         * modules/getdate (Depends-on): Likewise.
58676         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
58677         * lib/xsetenv.c: Don't include setenv.h.
58678         * lib/getdate.y: Likewise.
58679         * lib/relocwrapper.c: Likewise.
58680         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
58681         (Depends-on): Add stdlib.
58682         * NEWS: Mention the changes.
58683         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58684
58685 2007-12-23  Bruno Haible  <bruno@clisp.org>
58686
58687         * lib/memmem.c (memmem): Use lowercase variable names. Tab
58688         indentation.
58689
58690 2007-12-23  Bruno Haible  <bruno@clisp.org>
58691
58692         * lib/c-strcasestr.c: Add more comments.
58693         * lib/c-strstr.c: Likewise.
58694         * lib/mbscasestr.c: Likewise.
58695         * lib/mbsstr.c: Likewise.
58696         * lib/strcasestr.c: Likewise.
58697         * lib/memmem.c: Likewise.
58698
58699 2007-12-23  Bruno Haible  <bruno@clisp.org>
58700
58701         * tests/test-memmem.c: Include <string.h> first.
58702
58703 2007-12-22  Bruno Haible  <bruno@clisp.org>
58704
58705         * gnulib-tool (func_create_testdir): Change $auxdir while generating
58706         the contents of $testsbase.
58707         Reported by Ralf Wildenhues.
58708
58709 2007-12-22  Bruno Haible  <bruno@clisp.org>
58710
58711         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
58712         two variables local_ldadd_before, local_ldadd_last.
58713
58714 2007-12-20  Eric Blake  <ebb9@byu.net>
58715
58716         Work around circular library issue when cross-compiling.
58717         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
58718         that progname.o does not need to pull in rpl_memcmp.
58719
58720 2007-12-19  Eric Blake  <ebb9@byu.net>
58721
58722         Fix memmem to avoid O(n^2) worst-case complexity.
58723         * lib/memmem.c (knuth_morris_pratt): New function.
58724         (memmem): Use it if first few naive iterations fail.
58725         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
58726         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
58727         * modules/memchr (License): Likewise.
58728         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
58729         malloca.
58730         * tests/test-memmem.c: Rewrite, borrowing ideas from
58731         test-mbsstr1.c; the old version wouldn't even compile!
58732         * modules/memmem-tests: New file.
58733         * lib/string.in.h (rpl_memmem): Add declaration.
58734         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
58735         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
58736         REPLACE_MEMMEM.
58737
58738 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58739
58740         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
58741         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
58742         before any system include files, and undef after them all.  This
58743         should fix a problem on VMS reported by John E. Malmberg in
58744         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
58745
58746 2007-12-17  Eric Blake  <ebb9@byu.net>
58747
58748         Revert addition of verify, for BSD/OS.
58749         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
58750         can't handle large files, for the sake of obsolete platforms.
58751         * modules/fseeko (Depends-on): Remove verify.
58752         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
58753         * doc/functions/ftello.texi (ftello): Likewise.
58754         * doc/functions/fgetpos.texi (fgetpos): Likewise.
58755         Reported by Larry Jones.
58756
58757 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
58758
58759         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
58760         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
58761
58762 2007-12-17  Jim Meyering  <meyering@redhat.com>
58763
58764         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
58765         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
58766         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
58767         * modules/getcwd (Depends-on): Add openat.
58768         Reported by Petr Salinger.
58769
58770 2007-12-17  Bruno Haible  <bruno@clisp.org>
58771
58772         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
58773         avoid a segmentation fault of the configure test on x86_64 systems.
58774
58775 2007-12-15  Jim Meyering  <meyering@redhat.com>
58776
58777         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
58778
58779 2007-12-13  Eric Blake  <ebb9@byu.net>
58780
58781         Another fseek test.
58782         * tests/test-fseek.c (main): Also test ungetc handling.
58783         * tests/test-fseeko.c (main): Likewise.
58784         * modules/fseeko (Depends-on): Add verify.
58785         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
58786         large.
58787         Reported by Larry Jones.
58788
58789         Fix fseeko on mingw.
58790         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
58791         seek.
58792
58793         Beef up fseek tests.
58794         * tests/test-fseek.c (main): Also test eof handling.
58795         * tests/test-fseeko.c (main): Likewise.
58796         Reported by Larry Jones.
58797
58798 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
58799
58800         Fix fseeko on BSD-based platforms.
58801         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
58802         successful seek.
58803
58804 2007-12-12  Eric Blake  <ebb9@byu.net>
58805
58806         Allow circular dependency of separate libtests.a
58807         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
58808         when use_libtests.
58809
58810 2007-12-11  Eric Blake  <ebb9@byu.net>
58811
58812         Fix bug with -0.0L in previous patch.
58813         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
58814         * tests/test-isnan.c (main): Also test on zeroes.
58815         * tests/test-isnanf.c (main): Likewise.
58816         * tests/test-isnanl.h (main): Likewise.
58817
58818         Detect pseudo-denormals on x86 even when cross-compiling.
58819         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
58820         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
58821         invalid bit patterns that happen to satisfy ==.
58822
58823         Avoid link failures with separate libtests.a.
58824         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
58825         last, to satisfy circular dependencies.
58826
58827 2007-12-11  Eric Blake  <ebb9@byu.net>
58828         and Bruno Haible  <bruno@clisp.org>
58829
58830         Fix OpenBSD 4.0 <float.h> handling of long double.
58831         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
58832         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
58833         * doc/headers/float.texi (float.h): Document OpenBSD bug.
58834
58835 2007-12-11  Jim Meyering  <meyering@redhat.com>
58836
58837         * users.txt: Add libvirt.
58838
58839         Support versions of autoconf prior to 2.59c.
58840         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
58841         if it is not already defined.
58842
58843 2007-12-09  Bruno Haible  <bruno@clisp.org>
58844
58845         Let 'gnulib-tool --import' collect sources needed for the tests in
58846         tests/ rather than in lib/.
58847         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
58848         argument. If true, add rules to generate libtests.a, and put libtests.a
58849         into $(LDADD). Consider source files in subdirectories and set
58850         uses_subdirs.
58851         (func_emit_initmacro_start, func_emit_initmacro_end,
58852         func_emit_initmacro_done): Pass all arguments explicitly.
58853         (func_import): Determine two module lists main_modules,
58854         testsrelated_modules. Determine use_libtests. Determine two variables
58855         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
58856         instead of just sed_transform_lib_file. Determine two variables
58857         main_files and testsrelated_files. Compute 'files' as the union of
58858         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
58859         func_add_or_update. In the generated gnulib-comp.m4, collect the
58860         object files for tests/ in different variables than those for lib/.
58861         Substitute LIBTESTS_LIBDEPS.
58862         (func_create_testdir): Combine the uses_subdirs results from
58863         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
58864
58865 2007-12-09  Bruno Haible  <bruno@clisp.org>
58866
58867         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
58868         the build-aux directory.
58869
58870 2007-12-09  Bruno Haible  <bruno@clisp.org>
58871
58872         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
58873         introduced on 2006-09-09.
58874
58875 2007-12-07  Jim Meyering  <meyering@redhat.com>
58876
58877         Let these macros work also with autoconf-2.59.
58878         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
58879         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
58880         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
58881
58882 2007-12-06  Jim Meyering  <meyering@redhat.com>
58883
58884         Avoid a configure-time syntax error in gl_FUNC_ACL.
58885         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
58886         function in each branch, before testing the cache variable.
58887
58888 2007-12-04  Eric Blake  <ebb9@byu.net>
58889
58890         Make scripts executable.
58891         * build-aux/config.guess: Add execute permissions.
58892         * build-aux/config.sub: Likewise.
58893         * build-aux/gendocs.sh: Likewise.
58894
58895         Fix frexp on mingw.
58896         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
58897         cross-compiling.
58898         * doc/functions/frexp.texi (frexp): Document the bug.
58899
58900         Make cygwin fseeko check more reliable.
58901         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
58902         version numbers, rather than unrelated feature check.
58903         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
58904         * doc/functions/ftello.texi (ftello): Likewise.
58905         Reported by Bruno Haible.
58906
58907         * m4/strerror.m4: Bump version number.
58908
58909 2007-12-03  Bruno Haible  <bruno@clisp.org>
58910
58911         * doc/functions/mprotect.texi: Mention the mingw problem.
58912
58913 2007-12-03  Eric Blake  <ebb9@byu.net>
58914
58915         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
58916         REPLACE_STRERROR is initialized before this macro.
58917
58918 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
58919
58920         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
58921         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
58922         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
58923         put -lsec in even for programs other than 'ls'.  This fixes a problem
58924         for gettext reported by Bruno Haible in
58925         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
58926         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
58927         Add support for Solaris 10.  This isn't efficient, but should get the
58928         job done for now.
58929
58930 2007-12-03  James Youngman  <jay@gnu.org>
58931
58932         * doc/regexprops-generic.texi: change "an close-group" to "a
58933         close-group" and "illegal" to "not allowed".
58934
58935 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58936
58937         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
58938         pr_byname.h. Needed for the rare case when the maintainer has done
58939         "make maintainer-clean" in the source directory and then attempts a
58940         build outside the source directory.
58941         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
58942         scripts_byname.h.
58943
58944 2007-12-02  Martin Lambers <marlam@marlam.de>
58945             Bruno Haible  <bruno@clisp.org>
58946
58947         * lib/getpagesize.h: Remove file.
58948         * lib/unistd.in.h: Include declaration of getpagesize here.
58949         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
58950         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
58951         HAVE_SYS_PARAM_H.
58952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
58953         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
58954         * modules/getpagesize (Files): Remove lib/getpagesize.h.
58955         (Depends-on): Add unistd.
58956         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58957         (Include): Use <unistd.h> instead of getpagesize.h.
58958         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
58959         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
58960         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
58961         gl_GETPAGESIZE invocation, already handled by module dependency.
58962         * lib/pagealign_alloc.c: Don't include getpagesize.h.
58963
58964 2007-12-02  Bruno Haible  <bruno@clisp.org>
58965
58966         * modules/strings-tests: New file.
58967         * tests/test-strings.c: New file.
58968
58969         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
58970         * lib/strings.in.h: New file.
58971         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
58972         * m4/strings_h.m4: New file.
58973         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
58974         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
58975         * modules/strings: New file.
58976         * modules/string (Makefile.am): Update.
58977         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
58978         Reported by Karl Berry.
58979
58980 2007-12-01  Eric Blake  <ebb9@byu.net>
58981
58982         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
58983         accomodate fix in cygwin 1.5.25.
58984
58985 2007-12-01  Jim Meyering  <meyering@redhat.com>
58986
58987         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
58988         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
58989         that would inhibit utf8-optimization of a regexp containing line-
58990         or buffer-anchors, e.g., `^', `$'.
58991
58992 2007-11-30  Bruno Haible  <bruno@clisp.org>
58993
58994         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
58995         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
58996         glthread_recursive_lock_init.
58997         * lib/lock.c (glthread_recursive_lock_init)
58998         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
58999         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59000
59001 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59002
59003         New function qset_acl, like set_acl but with syscall semantics.
59004         * lib/acl.h (qset_acl): New decl.
59005         * lib/acl.c (qset_acl): New function.
59006         (set_acl): Use new function.  Use more-consistent diagnostics.
59007
59008 2007-11-28  Jim Meyering  <meyering@redhat.com>
59009
59010         * modules/physmem (License): Change from GPL to LGPLv2+.
59011
59012 2007-11-26  Bruno Haible  <bruno@clisp.org>
59013
59014         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59015         'long double' type has excess precision.
59016         Reported by Jim Meyering in
59017         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59018
59019 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59020
59021         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59022         Sync from <http://gnu.org/licenses>.
59023         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59024         with license text from same location.
59025         * doc/maintain.texi, doc/standards.texi:  Sync from
59026         <http://savannah.gnu.org/projects/gnustandards>.
59027
59028 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59029         and Jim Meyering  <meyering@redhat.com>
59030
59031         Adjust getdate' grammar to accept a slightly more regular language.
59032         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59033         Before, the former was rejected.
59034         * lib/getdate.y (digits_to_date_time): New function, factored
59035         out of ...
59036         (number): ...here.  Just call digits_to_date_time.
59037         (hybrid): New non-terminal to handle an <unsigned number,
59038         signed relative offset> sequence consistently.
59039
59040 2007-11-18  Jim Meyering  <meyering@redhat.com>
59041
59042         Pull my changes from coreutils:
59043         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59044         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59045         use of $gnulib_tool_option_extras, so that it's separated from the
59046         preceding argument.
59047
59048         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59049         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59050         parent destination directories before copying a file into place.
59051
59052 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59053
59054         bootstrap: work also with 4-argument variant of AC_INIT
59055         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59056
59057 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59058
59059         Port test-getaddrinfo to Solaris.
59060         Problem reported by Bruno Haible in
59061         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59062         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59063         explanation of setting 'hints'.
59064         Don't reject an implementation merely because it returns EAI_SERVICE.
59065         (EAI_SERVICE): Define to 0 if not defined.
59066
59067 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59068
59069         The license of gnu-make and posix-shell is now "GPLed build tool".
59070         * modules/gnu-make (License): Likewise.
59071         * modules/posix-shell (License): Likewise.
59072
59073         New module posix-shell, for determining a POSIX shell
59074         or perhaps something that is close enough to a POSIX shell.
59075         * m4/posix-shell.m4: New file.
59076         * modules/posix-shell: New file.
59077
59078         * MODULES.html.sh: Mention new module.
59079
59080         New module gnu-make, for determining whether we're using GNU Make.
59081         * m4/gnu-make.m4: New file.
59082         * modules/gnu-make: New file.
59083         * MODULES.html.sh: Mention new module.
59084
59085 2007-11-14  Jim Meyering  <meyering@redhat.com>
59086
59087         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59088         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59089         use this macro to create a function _definition_.
59090         Remove useless "#undef ARGMATCH_DIE".
59091
59092 2007-11-14  Bruno Haible  <bruno@clisp.org>
59093
59094         * lib/config.charset: Update for OpenBSD 4.1.
59095         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
59096
59097 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
59098
59099         Document 64-bit #if problems in stdint.texi.
59100         * doc/headers/stdint.texi (stdint.h): Mention problems with
59101         64-bit-#if, and how to work around them.
59102
59103         Don't insist on 'long long int' support in the preprocessor.  It
59104         breaks too many things.  For example, PRIdMAX still uses a 'long
59105         long int' format with the latest Sun compiler, even though
59106         HAVE_LONG_LONG_INT isn't defined due to that compiler's
59107         preprocessor problem.  This causes the latest coreutils to dump
59108         core on Solaris 10 sparc with the Sun C compiler.
59109         Instead, fix the 2007-10-16 problem in a different way, by evaluating
59110         the troublesome expressions at configure-time, not at #if-time.
59111         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
59112         preprocessor.
59113         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
59114         compile-time C checks, done at 'configure'-time.
59115         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
59116         * modules/inttypes (Makefile): Substitute the new symbols that
59117         gl_INTTYPES_H now generates.
59118         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
59119
59120 2007-11-12  Bruno Haible  <bruno@clisp.org>
59121
59122         Tests for Unicode character classification functions.
59123
59124         * modules/unictype/bidicategory-byname-tests: New file.
59125         * modules/unictype/bidicategory-name-tests: New file.
59126         * modules/unictype/bidicategory-of-tests: New file.
59127         * modules/unictype/bidicategory-test-tests: New file.
59128         * modules/unictype/block-list-tests: New file.
59129         * modules/unictype/block-of-tests: New file.
59130         * modules/unictype/block-test-tests: New file.
59131         * modules/unictype/category-C-tests: New file.
59132         * modules/unictype/category-Cc-tests: New file.
59133         * modules/unictype/category-Cf-tests: New file.
59134         * modules/unictype/category-Cn-tests: New file.
59135         * modules/unictype/category-Co-tests: New file.
59136         * modules/unictype/category-Cs-tests: New file.
59137         * modules/unictype/category-L-tests: New file.
59138         * modules/unictype/category-Ll-tests: New file.
59139         * modules/unictype/category-Lm-tests: New file.
59140         * modules/unictype/category-Lo-tests: New file.
59141         * modules/unictype/category-Lt-tests: New file.
59142         * modules/unictype/category-Lu-tests: New file.
59143         * modules/unictype/category-M-tests: New file.
59144         * modules/unictype/category-Mc-tests: New file.
59145         * modules/unictype/category-Me-tests: New file.
59146         * modules/unictype/category-Mn-tests: New file.
59147         * modules/unictype/category-N-tests: New file.
59148         * modules/unictype/category-Nd-tests: New file.
59149         * modules/unictype/category-Nl-tests: New file.
59150         * modules/unictype/category-No-tests: New file.
59151         * modules/unictype/category-P-tests: New file.
59152         * modules/unictype/category-Pc-tests: New file.
59153         * modules/unictype/category-Pd-tests: New file.
59154         * modules/unictype/category-Pe-tests: New file.
59155         * modules/unictype/category-Pf-tests: New file.
59156         * modules/unictype/category-Pi-tests: New file.
59157         * modules/unictype/category-Po-tests: New file.
59158         * modules/unictype/category-Ps-tests: New file.
59159         * modules/unictype/category-S-tests: New file.
59160         * modules/unictype/category-Sc-tests: New file.
59161         * modules/unictype/category-Sk-tests: New file.
59162         * modules/unictype/category-Sm-tests: New file.
59163         * modules/unictype/category-So-tests: New file.
59164         * modules/unictype/category-Z-tests: New file.
59165         * modules/unictype/category-Zl-tests: New file.
59166         * modules/unictype/category-Zp-tests: New file.
59167         * modules/unictype/category-Zs-tests: New file.
59168         * modules/unictype/category-and-not-tests: New file.
59169         * modules/unictype/category-and-tests: New file.
59170         * modules/unictype/category-byname-tests: New file.
59171         * modules/unictype/category-name-tests: New file.
59172         * modules/unictype/category-none-tests: New file.
59173         * modules/unictype/category-of-tests: New file.
59174         * modules/unictype/category-or-tests: New file.
59175         * modules/unictype/category-test-withtable-tests: New file.
59176         * modules/unictype/combining-class-tests: New file.
59177         * modules/unictype/ctype-alnum-tests: New file.
59178         * modules/unictype/ctype-alpha-tests: New file.
59179         * modules/unictype/ctype-blank-tests: New file.
59180         * modules/unictype/ctype-cntrl-tests: New file.
59181         * modules/unictype/ctype-digit-tests: New file.
59182         * modules/unictype/ctype-graph-tests: New file.
59183         * modules/unictype/ctype-lower-tests: New file.
59184         * modules/unictype/ctype-print-tests: New file.
59185         * modules/unictype/ctype-punct-tests: New file.
59186         * modules/unictype/ctype-space-tests: New file.
59187         * modules/unictype/ctype-upper-tests: New file.
59188         * modules/unictype/ctype-xdigit-tests: New file.
59189         * modules/unictype/decimal-digit-tests: New file.
59190         * modules/unictype/digit-tests: New file.
59191         * modules/unictype/mirror-tests: New file.
59192         * modules/unictype/numeric-tests: New file.
59193         * modules/unictype/property-alphabetic-tests: New file.
59194         * modules/unictype/property-ascii-hex-digit-tests: New file.
59195         * modules/unictype/property-bidi-arabic-digit-tests: New file.
59196         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
59197         * modules/unictype/property-bidi-block-separator-tests: New file.
59198         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
59199         * modules/unictype/property-bidi-common-separator-tests: New file.
59200         * modules/unictype/property-bidi-control-tests: New file.
59201         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
59202         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
59203         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
59204         * modules/unictype/property-bidi-european-digit-tests: New file.
59205         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
59206         * modules/unictype/property-bidi-left-to-right-tests: New file.
59207         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
59208         * modules/unictype/property-bidi-other-neutral-tests: New file.
59209         * modules/unictype/property-bidi-pdf-tests: New file.
59210         * modules/unictype/property-bidi-segment-separator-tests: New file.
59211         * modules/unictype/property-bidi-whitespace-tests: New file.
59212         * modules/unictype/property-byname-tests: New file.
59213         * modules/unictype/property-combining-tests: New file.
59214         * modules/unictype/property-composite-tests: New file.
59215         * modules/unictype/property-currency-symbol-tests: New file.
59216         * modules/unictype/property-dash-tests: New file.
59217         * modules/unictype/property-decimal-digit-tests: New file.
59218         * modules/unictype/property-default-ignorable-code-point-tests: New file.
59219         * modules/unictype/property-deprecated-tests: New file.
59220         * modules/unictype/property-diacritic-tests: New file.
59221         * modules/unictype/property-extender-tests: New file.
59222         * modules/unictype/property-format-control-tests: New file.
59223         * modules/unictype/property-grapheme-base-tests: New file.
59224         * modules/unictype/property-grapheme-extend-tests: New file.
59225         * modules/unictype/property-grapheme-link-tests: New file.
59226         * modules/unictype/property-hex-digit-tests: New file.
59227         * modules/unictype/property-hyphen-tests: New file.
59228         * modules/unictype/property-id-continue-tests: New file.
59229         * modules/unictype/property-id-start-tests: New file.
59230         * modules/unictype/property-ideographic-tests: New file.
59231         * modules/unictype/property-ids-binary-operator-tests: New file.
59232         * modules/unictype/property-ids-trinary-operator-tests: New file.
59233         * modules/unictype/property-ignorable-control-tests: New file.
59234         * modules/unictype/property-iso-control-tests: New file.
59235         * modules/unictype/property-join-control-tests: New file.
59236         * modules/unictype/property-left-of-pair-tests: New file.
59237         * modules/unictype/property-line-separator-tests: New file.
59238         * modules/unictype/property-logical-order-exception-tests: New file.
59239         * modules/unictype/property-lowercase-tests: New file.
59240         * modules/unictype/property-math-tests: New file.
59241         * modules/unictype/property-non-break-tests: New file.
59242         * modules/unictype/property-not-a-character-tests: New file.
59243         * modules/unictype/property-numeric-tests: New file.
59244         * modules/unictype/property-other-alphabetic-tests: New file.
59245         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
59246         * modules/unictype/property-other-grapheme-extend-tests: New file.
59247         * modules/unictype/property-other-id-continue-tests: New file.
59248         * modules/unictype/property-other-id-start-tests: New file.
59249         * modules/unictype/property-other-lowercase-tests: New file.
59250         * modules/unictype/property-other-math-tests: New file.
59251         * modules/unictype/property-other-uppercase-tests: New file.
59252         * modules/unictype/property-paired-punctuation-tests: New file.
59253         * modules/unictype/property-paragraph-separator-tests: New file.
59254         * modules/unictype/property-pattern-syntax-tests: New file.
59255         * modules/unictype/property-pattern-white-space-tests: New file.
59256         * modules/unictype/property-private-use-tests: New file.
59257         * modules/unictype/property-punctuation-tests: New file.
59258         * modules/unictype/property-quotation-mark-tests: New file.
59259         * modules/unictype/property-radical-tests: New file.
59260         * modules/unictype/property-sentence-terminal-tests: New file.
59261         * modules/unictype/property-soft-dotted-tests: New file.
59262         * modules/unictype/property-space-tests: New file.
59263         * modules/unictype/property-terminal-punctuation-tests: New file.
59264         * modules/unictype/property-test-tests: New file.
59265         * modules/unictype/property-titlecase-tests: New file.
59266         * modules/unictype/property-unassigned-code-value-tests: New file.
59267         * modules/unictype/property-unified-ideograph-tests: New file.
59268         * modules/unictype/property-uppercase-tests: New file.
59269         * modules/unictype/property-variation-selector-tests: New file.
59270         * modules/unictype/property-white-space-tests: New file.
59271         * modules/unictype/property-xid-continue-tests: New file.
59272         * modules/unictype/property-xid-start-tests: New file.
59273         * modules/unictype/property-zero-width-tests: New file.
59274         * modules/unictype/scripts-tests: New file.
59275         * modules/unictype/syntax-c-ident-tests: New file.
59276         * modules/unictype/syntax-c-whitespace-tests: New file.
59277         * modules/unictype/syntax-java-ident-tests: New file.
59278         * modules/unictype/syntax-java-whitespace-tests: New file.
59279         * tests/unictype/test-bidi_byname.c: New file.
59280         * tests/unictype/test-bidi_name.c: New file.
59281         * tests/unictype/test-bidi_of.c: New file.
59282         * tests/unictype/test-bidi_test.c: New file.
59283         * tests/unictype/test-block_list.c: New file.
59284         * tests/unictype/test-block_of.c: New file.
59285         * tests/unictype/test-block_test.c: New file.
59286         * tests/unictype/test-categ_and.c: New file.
59287         * tests/unictype/test-categ_and_not.c: New file.
59288         * tests/unictype/test-categ_byname.c: New file.
59289         * tests/unictype/test-categ_name.c: New file.
59290         * tests/unictype/test-categ_none.c: New file.
59291         * tests/unictype/test-categ_of.c: New file.
59292         * tests/unictype/test-categ_or.c: New file.
59293         * tests/unictype/test-categ_test_withtable.c: New file.
59294         * tests/unictype/test-combining.c: New file.
59295         * tests/unictype/test-decdigit.c: New file.
59296         * tests/unictype/test-digit.c: New file.
59297         * tests/unictype/test-mirror.c: New file.
59298         * tests/unictype/test-numeric.c: New file.
59299         * tests/unictype/test-pr_byname.c: New file.
59300         * tests/unictype/test-pr_test.c: New file.
59301         * tests/unictype/test-predicate-part1.h: New file.
59302         * tests/unictype/test-predicate-part2.h: New file.
59303         * tests/unictype/test-scripts.c: New file.
59304         * tests/unictype/test-sy_c_ident.c: New file.
59305         * tests/unictype/test-sy_java_ident.c: New file.
59306
59307         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
59308         for Unicode 5.0.0.
59309         * tests/unictype/test-categ_Cc.c: Likewise.
59310         * tests/unictype/test-categ_Cf.c: Likewise.
59311         * tests/unictype/test-categ_Cn.c: Likewise.
59312         * tests/unictype/test-categ_Co.c: Likewise.
59313         * tests/unictype/test-categ_Cs.c: Likewise.
59314         * tests/unictype/test-categ_L.c: Likewise.
59315         * tests/unictype/test-categ_Ll.c: Likewise.
59316         * tests/unictype/test-categ_Lm.c: Likewise.
59317         * tests/unictype/test-categ_Lo.c: Likewise.
59318         * tests/unictype/test-categ_Lt.c: Likewise.
59319         * tests/unictype/test-categ_Lu.c: Likewise.
59320         * tests/unictype/test-categ_M.c: Likewise.
59321         * tests/unictype/test-categ_Mc.c: Likewise.
59322         * tests/unictype/test-categ_Me.c: Likewise.
59323         * tests/unictype/test-categ_Mn.c: Likewise.
59324         * tests/unictype/test-categ_N.c: Likewise.
59325         * tests/unictype/test-categ_Nd.c: Likewise.
59326         * tests/unictype/test-categ_Nl.c: Likewise.
59327         * tests/unictype/test-categ_No.c: Likewise.
59328         * tests/unictype/test-categ_P.c: Likewise.
59329         * tests/unictype/test-categ_Pc.c: Likewise.
59330         * tests/unictype/test-categ_Pd.c: Likewise.
59331         * tests/unictype/test-categ_Pe.c: Likewise.
59332         * tests/unictype/test-categ_Pf.c: Likewise.
59333         * tests/unictype/test-categ_Pi.c: Likewise.
59334         * tests/unictype/test-categ_Po.c: Likewise.
59335         * tests/unictype/test-categ_Ps.c: Likewise.
59336         * tests/unictype/test-categ_S.c: Likewise.
59337         * tests/unictype/test-categ_Sc.c: Likewise.
59338         * tests/unictype/test-categ_Sk.c: Likewise.
59339         * tests/unictype/test-categ_Sm.c: Likewise.
59340         * tests/unictype/test-categ_So.c: Likewise.
59341         * tests/unictype/test-categ_Z.c: Likewise.
59342         * tests/unictype/test-categ_Zl.c: Likewise.
59343         * tests/unictype/test-categ_Zp.c: Likewise.
59344         * tests/unictype/test-categ_Zs.c: Likewise.
59345         * tests/unictype/test-ctype_alnum.c: Likewise.
59346         * tests/unictype/test-ctype_alpha.c: Likewise.
59347         * tests/unictype/test-ctype_blank.c: Likewise.
59348         * tests/unictype/test-ctype_cntrl.c: Likewise.
59349         * tests/unictype/test-ctype_digit.c: Likewise.
59350         * tests/unictype/test-ctype_graph.c: Likewise.
59351         * tests/unictype/test-ctype_lower.c: Likewise.
59352         * tests/unictype/test-ctype_print.c: Likewise.
59353         * tests/unictype/test-ctype_punct.c: Likewise.
59354         * tests/unictype/test-ctype_space.c: Likewise.
59355         * tests/unictype/test-ctype_upper.c: Likewise.
59356         * tests/unictype/test-ctype_xdigit.c: Likewise.
59357         * tests/unictype/test-decdigit.h: Likewise.
59358         * tests/unictype/test-digit.h: Likewise.
59359         * tests/unictype/test-numeric.h: Likewise.
59360         * tests/unictype/test-pr_alphabetic.c: Likewise.
59361         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
59362         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
59363         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
59364         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
59365         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
59366         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
59367         * tests/unictype/test-pr_bidi_control.c: Likewise.
59368         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
59369         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
59370         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
59371         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
59372         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
59373         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
59374         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
59375         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
59376         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
59377         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
59378         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
59379         * tests/unictype/test-pr_combining.c: Likewise.
59380         * tests/unictype/test-pr_composite.c: Likewise.
59381         * tests/unictype/test-pr_currency_symbol.c: Likewise.
59382         * tests/unictype/test-pr_dash.c: Likewise.
59383         * tests/unictype/test-pr_decimal_digit.c: Likewise.
59384         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
59385         * tests/unictype/test-pr_deprecated.c: Likewise.
59386         * tests/unictype/test-pr_diacritic.c: Likewise.
59387         * tests/unictype/test-pr_extender.c: Likewise.
59388         * tests/unictype/test-pr_format_control.c: Likewise.
59389         * tests/unictype/test-pr_grapheme_base.c: Likewise.
59390         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
59391         * tests/unictype/test-pr_grapheme_link.c: Likewise.
59392         * tests/unictype/test-pr_hex_digit.c: Likewise.
59393         * tests/unictype/test-pr_hyphen.c: Likewise.
59394         * tests/unictype/test-pr_id_continue.c: Likewise.
59395         * tests/unictype/test-pr_id_start.c: Likewise.
59396         * tests/unictype/test-pr_ideographic.c: Likewise.
59397         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
59398         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
59399         * tests/unictype/test-pr_ignorable_control.c: Likewise.
59400         * tests/unictype/test-pr_iso_control.c: Likewise.
59401         * tests/unictype/test-pr_join_control.c: Likewise.
59402         * tests/unictype/test-pr_left_of_pair.c: Likewise.
59403         * tests/unictype/test-pr_line_separator.c: Likewise.
59404         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
59405         * tests/unictype/test-pr_lowercase.c: Likewise.
59406         * tests/unictype/test-pr_math.c: Likewise.
59407         * tests/unictype/test-pr_non_break.c: Likewise.
59408         * tests/unictype/test-pr_not_a_character.c: Likewise.
59409         * tests/unictype/test-pr_numeric.c: Likewise.
59410         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
59411         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
59412         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
59413         * tests/unictype/test-pr_other_id_continue.c: Likewise.
59414         * tests/unictype/test-pr_other_id_start.c: Likewise.
59415         * tests/unictype/test-pr_other_lowercase.c: Likewise.
59416         * tests/unictype/test-pr_other_math.c: Likewise.
59417         * tests/unictype/test-pr_other_uppercase.c: Likewise.
59418         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
59419         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
59420         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
59421         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
59422         * tests/unictype/test-pr_private_use.c: Likewise.
59423         * tests/unictype/test-pr_punctuation.c: Likewise.
59424         * tests/unictype/test-pr_quotation_mark.c: Likewise.
59425         * tests/unictype/test-pr_radical.c: Likewise.
59426         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
59427         * tests/unictype/test-pr_soft_dotted.c: Likewise.
59428         * tests/unictype/test-pr_space.c: Likewise.
59429         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
59430         * tests/unictype/test-pr_titlecase.c: Likewise.
59431         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
59432         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
59433         * tests/unictype/test-pr_uppercase.c: Likewise.
59434         * tests/unictype/test-pr_variation_selector.c: Likewise.
59435         * tests/unictype/test-pr_white_space.c: Likewise.
59436         * tests/unictype/test-pr_xid_continue.c: Likewise.
59437         * tests/unictype/test-pr_xid_start.c: Likewise.
59438         * tests/unictype/test-pr_zero_width.c: Likewise.
59439         * tests/unictype/test-sy_c_whitespace.c: Likewise.
59440         * tests/unictype/test-sy_java_whitespace.c: Likewise.
59441
59442 2007-11-12  Bruno Haible  <bruno@clisp.org>
59443
59444         Unicode character classification functions.
59445         * lib/unictype.h: New file.
59446         * modules/unictype/base: New file.
59447         * modules/unictype/category-L: New file.
59448         * modules/unictype/category-Lu: New file.
59449         * modules/unictype/category-Ll: New file.
59450         * modules/unictype/category-Lt: New file.
59451         * modules/unictype/category-Lm: New file.
59452         * modules/unictype/category-Lo: New file.
59453         * modules/unictype/category-M: New file.
59454         * modules/unictype/category-Mn: New file.
59455         * modules/unictype/category-Mc: New file.
59456         * modules/unictype/category-Me: New file.
59457         * modules/unictype/category-N: New file.
59458         * modules/unictype/category-Nd: New file.
59459         * modules/unictype/category-Nl: New file.
59460         * modules/unictype/category-No: New file.
59461         * modules/unictype/category-P: New file.
59462         * modules/unictype/category-Pc: New file.
59463         * modules/unictype/category-Pd: New file.
59464         * modules/unictype/category-Ps: New file.
59465         * modules/unictype/category-Pe: New file.
59466         * modules/unictype/category-Pi: New file.
59467         * modules/unictype/category-Pf: New file.
59468         * modules/unictype/category-Po: New file.
59469         * modules/unictype/category-S: New file.
59470         * modules/unictype/category-Sm: New file.
59471         * modules/unictype/category-Sc: New file.
59472         * modules/unictype/category-Sk: New file.
59473         * modules/unictype/category-So: New file.
59474         * modules/unictype/category-Z: New file.
59475         * modules/unictype/category-Zs: New file.
59476         * modules/unictype/category-Zl: New file.
59477         * modules/unictype/category-Zp: New file.
59478         * modules/unictype/category-C: New file.
59479         * modules/unictype/category-Cc: New file.
59480         * modules/unictype/category-Cf: New file.
59481         * modules/unictype/category-Cs: New file.
59482         * modules/unictype/category-Co: New file.
59483         * modules/unictype/category-Cn: New file.
59484         * modules/unictype/category-or: New file.
59485         * modules/unictype/category-of: New file.
59486         * modules/unictype/category-test: New file.
59487         * modules/unictype/category-test-withtable: New file.
59488         * modules/unictype/category-byname: New file.
59489         * modules/unictype/category-none: New file.
59490         * modules/unictype/category-and: New file.
59491         * modules/unictype/category-and-not: New file.
59492         * modules/unictype/category-name: New file.
59493         * modules/unictype/combining-class: New file.
59494         * modules/unictype/category-all: New file.
59495         * modules/unictype/bidicategory-all: New file.
59496         * modules/unictype/bidicategory-byname: New file.
59497         * modules/unictype/bidicategory-name: New file.
59498         * modules/unictype/bidicategory-of: New file.
59499         * modules/unictype/bidicategory-test: New file.
59500         * modules/unictype/decimal-digit: New file.
59501         * modules/unictype/digit: New file.
59502         * modules/unictype/numeric: New file.
59503         * modules/unictype/mirror: New file.
59504         * modules/unictype/property-white-space: New file.
59505         * modules/unictype/property-alphabetic: New file.
59506         * modules/unictype/property-other-alphabetic: New file.
59507         * modules/unictype/property-not-a-character: New file.
59508         * modules/unictype/property-default-ignorable-code-point: New file.
59509         * modules/unictype/property-other-default-ignorable-code-point: New
59510         file.
59511         * modules/unictype/property-deprecated: New file.
59512         * modules/unictype/property-logical-order-exception: New file.
59513         * modules/unictype/property-variation-selector: New file.
59514         * modules/unictype/property-private-use: New file.
59515         * modules/unictype/property-unassigned-code-value: New file.
59516         * modules/unictype/property-uppercase: New file.
59517         * modules/unictype/property-other-uppercase: New file.
59518         * modules/unictype/property-lowercase: New file.
59519         * modules/unictype/property-other-lowercase: New file.
59520         * modules/unictype/property-titlecase: New file.
59521         * modules/unictype/property-soft-dotted: New file.
59522         * modules/unictype/property-id-start: New file.
59523         * modules/unictype/property-other-id-start: New file.
59524         * modules/unictype/property-id-continue: New file.
59525         * modules/unictype/property-other-id-continue: New file.
59526         * modules/unictype/property-xid-start: New file.
59527         * modules/unictype/property-xid-continue: New file.
59528         * modules/unictype/property-pattern-white-space: New file.
59529         * modules/unictype/property-pattern-syntax: New file.
59530         * modules/unictype/property-join-control: New file.
59531         * modules/unictype/property-grapheme-base: New file.
59532         * modules/unictype/property-grapheme-extend: New file.
59533         * modules/unictype/property-other-grapheme-extend: New file.
59534         * modules/unictype/property-grapheme-link: New file.
59535         * modules/unictype/property-bidi-control: New file.
59536         * modules/unictype/property-bidi-left-to-right: New file.
59537         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
59538         * modules/unictype/property-bidi-arabic-right-to-left: New file.
59539         * modules/unictype/property-bidi-european-digit: New file.
59540         * modules/unictype/property-bidi-eur-num-separator: New file.
59541         * modules/unictype/property-bidi-eur-num-terminator: New file.
59542         * modules/unictype/property-bidi-arabic-digit: New file.
59543         * modules/unictype/property-bidi-common-separator: New file.
59544         * modules/unictype/property-bidi-block-separator: New file.
59545         * modules/unictype/property-bidi-segment-separator: New file.
59546         * modules/unictype/property-bidi-whitespace: New file.
59547         * modules/unictype/property-bidi-non-spacing-mark: New file.
59548         * modules/unictype/property-bidi-boundary-neutral: New file.
59549         * modules/unictype/property-bidi-pdf: New file.
59550         * modules/unictype/property-bidi-embedding-or-override: New file.
59551         * modules/unictype/property-bidi-other-neutral: New file.
59552         * modules/unictype/property-hex-digit: New file.
59553         * modules/unictype/property-ascii-hex-digit: New file.
59554         * modules/unictype/property-ideographic: New file.
59555         * modules/unictype/property-unified-ideograph: New file.
59556         * modules/unictype/property-radical: New file.
59557         * modules/unictype/property-ids-binary-operator: New file.
59558         * modules/unictype/property-ids-trinary-operator: New file.
59559         * modules/unictype/property-zero-width: New file.
59560         * modules/unictype/property-space: New file.
59561         * modules/unictype/property-non-break: New file.
59562         * modules/unictype/property-iso-control: New file.
59563         * modules/unictype/property-format-control: New file.
59564         * modules/unictype/property-dash: New file.
59565         * modules/unictype/property-hyphen: New file.
59566         * modules/unictype/property-punctuation: New file.
59567         * modules/unictype/property-line-separator: New file.
59568         * modules/unictype/property-paragraph-separator: New file.
59569         * modules/unictype/property-quotation-mark: New file.
59570         * modules/unictype/property-sentence-terminal: New file.
59571         * modules/unictype/property-terminal-punctuation: New file.
59572         * modules/unictype/property-currency-symbol: New file.
59573         * modules/unictype/property-math: New file.
59574         * modules/unictype/property-other-math: New file.
59575         * modules/unictype/property-paired-punctuation: New file.
59576         * modules/unictype/property-left-of-pair: New file.
59577         * modules/unictype/property-combining: New file.
59578         * modules/unictype/property-composite: New file.
59579         * modules/unictype/property-decimal-digit: New file.
59580         * modules/unictype/property-numeric: New file.
59581         * modules/unictype/property-diacritic: New file.
59582         * modules/unictype/property-extender: New file.
59583         * modules/unictype/property-ignorable-control: New file.
59584         * modules/unictype/property-test: New file.
59585         * modules/unictype/property-byname: New file.
59586         * modules/unictype/property-all: New file.
59587         * modules/unictype/scripts: New file.
59588         * modules/unictype/scripts-all: New file.
59589         * modules/unictype/block-of: New file.
59590         * modules/unictype/block-test: New file.
59591         * modules/unictype/block-list: New file.
59592         * modules/unictype/block-all: New file.
59593         * modules/unictype/syntax-c-whitespace: New file.
59594         * modules/unictype/syntax-java-whitespace: New file.
59595         * modules/unictype/syntax-c-ident: New file.
59596         * modules/unictype/syntax-java-ident: New file.
59597         * modules/unictype/ctype-alnum: New file.
59598         * modules/unictype/ctype-alpha: New file.
59599         * modules/unictype/ctype-cntrl: New file.
59600         * modules/unictype/ctype-digit: New file.
59601         * modules/unictype/ctype-graph: New file.
59602         * modules/unictype/ctype-lower: New file.
59603         * modules/unictype/ctype-print: New file.
59604         * modules/unictype/ctype-punct: New file.
59605         * modules/unictype/ctype-space: New file.
59606         * modules/unictype/ctype-upper: New file.
59607         * modules/unictype/ctype-xdigit: New file.
59608         * modules/unictype/ctype-blank: New file.
59609         * lib/unictype/bidi_byname.c: New file.
59610         * lib/unictype/bidi_name.c: New file.
59611         * lib/unictype/bidi_of.c: New file.
59612         * lib/unictype/bidi_test.c: New file.
59613         * lib/unictype/bitmap.h: New file.
59614         * lib/unictype/block_test.c: New file.
59615         * lib/unictype/blocks.c: New file.
59616         * lib/unictype/categ_C.c: New file.
59617         * lib/unictype/categ_Cc.c: New file.
59618         * lib/unictype/categ_Cf.c: New file.
59619         * lib/unictype/categ_Cn.c: New file.
59620         * lib/unictype/categ_Co.c: New file.
59621         * lib/unictype/categ_Cs.c: New file.
59622         * lib/unictype/categ_L.c: New file.
59623         * lib/unictype/categ_Ll.c: New file.
59624         * lib/unictype/categ_Lm.c: New file.
59625         * lib/unictype/categ_Lo.c: New file.
59626         * lib/unictype/categ_Lt.c: New file.
59627         * lib/unictype/categ_Lu.c: New file.
59628         * lib/unictype/categ_M.c: New file.
59629         * lib/unictype/categ_Mc.c: New file.
59630         * lib/unictype/categ_Me.c: New file.
59631         * lib/unictype/categ_Mn.c: New file.
59632         * lib/unictype/categ_N.c: New file.
59633         * lib/unictype/categ_Nd.c: New file.
59634         * lib/unictype/categ_Nl.c: New file.
59635         * lib/unictype/categ_No.c: New file.
59636         * lib/unictype/categ_P.c: New file.
59637         * lib/unictype/categ_Pc.c: New file.
59638         * lib/unictype/categ_Pd.c: New file.
59639         * lib/unictype/categ_Pe.c: New file.
59640         * lib/unictype/categ_Pf.c: New file.
59641         * lib/unictype/categ_Pi.c: New file.
59642         * lib/unictype/categ_Po.c: New file.
59643         * lib/unictype/categ_Ps.c: New file.
59644         * lib/unictype/categ_S.c: New file.
59645         * lib/unictype/categ_Sc.c: New file.
59646         * lib/unictype/categ_Sk.c: New file.
59647         * lib/unictype/categ_Sm.c: New file.
59648         * lib/unictype/categ_So.c: New file.
59649         * lib/unictype/categ_Z.c: New file.
59650         * lib/unictype/categ_Zl.c: New file.
59651         * lib/unictype/categ_Zp.c: New file.
59652         * lib/unictype/categ_Zs.c: New file.
59653         * lib/unictype/categ_and.c: New file.
59654         * lib/unictype/categ_and_not.c: New file.
59655         * lib/unictype/categ_byname.c: New file.
59656         * lib/unictype/categ_name.c: New file.
59657         * lib/unictype/categ_none.c: New file.
59658         * lib/unictype/categ_of.c: New file.
59659         * lib/unictype/categ_or.c: New file.
59660         * lib/unictype/categ_test.c: New file.
59661         * lib/unictype/combining.c: New file.
59662         * lib/unictype/ctype_alnum.c: New file.
59663         * lib/unictype/ctype_alpha.c: New file.
59664         * lib/unictype/ctype_blank.c: New file.
59665         * lib/unictype/ctype_cntrl.c: New file.
59666         * lib/unictype/ctype_digit.c: New file.
59667         * lib/unictype/ctype_graph.c: New file.
59668         * lib/unictype/ctype_lower.c: New file.
59669         * lib/unictype/ctype_print.c: New file.
59670         * lib/unictype/ctype_punct.c: New file.
59671         * lib/unictype/ctype_space.c: New file.
59672         * lib/unictype/ctype_upper.c: New file.
59673         * lib/unictype/ctype_xdigit.c: New file.
59674         * lib/unictype/decdigit.c: New file.
59675         * lib/unictype/digit.c: New file.
59676         * lib/unictype/identsyntaxmap.h: New file.
59677         * lib/unictype/mirror.c: New file.
59678         * lib/unictype/numeric.c: New file.
59679         * lib/unictype/pr_alphabetic.c: New file.
59680         * lib/unictype/pr_ascii_hex_digit.c: New file.
59681         * lib/unictype/pr_bidi_arabic_digit.c: New file.
59682         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
59683         * lib/unictype/pr_bidi_block_separator.c: New file.
59684         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
59685         * lib/unictype/pr_bidi_common_separator.c: New file.
59686         * lib/unictype/pr_bidi_control.c: New file.
59687         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
59688         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
59689         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
59690         * lib/unictype/pr_bidi_european_digit.c: New file.
59691         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
59692         * lib/unictype/pr_bidi_left_to_right.c: New file.
59693         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
59694         * lib/unictype/pr_bidi_other_neutral.c: New file.
59695         * lib/unictype/pr_bidi_pdf.c: New file.
59696         * lib/unictype/pr_bidi_segment_separator.c: New file.
59697         * lib/unictype/pr_bidi_whitespace.c: New file.
59698         * lib/unictype/pr_byname.c: New file.
59699         * lib/unictype/pr_byname.gperf: New file.
59700         * lib/unictype/pr_combining.c: New file.
59701         * lib/unictype/pr_composite.c: New file.
59702         * lib/unictype/pr_currency_symbol.c: New file.
59703         * lib/unictype/pr_dash.c: New file.
59704         * lib/unictype/pr_decimal_digit.c: New file.
59705         * lib/unictype/pr_default_ignorable_code_point.c: New file.
59706         * lib/unictype/pr_deprecated.c: New file.
59707         * lib/unictype/pr_diacritic.c: New file.
59708         * lib/unictype/pr_extender.c: New file.
59709         * lib/unictype/pr_format_control.c: New file.
59710         * lib/unictype/pr_grapheme_base.c: New file.
59711         * lib/unictype/pr_grapheme_extend.c: New file.
59712         * lib/unictype/pr_grapheme_link.c: New file.
59713         * lib/unictype/pr_hex_digit.c: New file.
59714         * lib/unictype/pr_hyphen.c: New file.
59715         * lib/unictype/pr_id_continue.c: New file.
59716         * lib/unictype/pr_id_start.c: New file.
59717         * lib/unictype/pr_ideographic.c: New file.
59718         * lib/unictype/pr_ids_binary_operator.c: New file.
59719         * lib/unictype/pr_ids_trinary_operator.c: New file.
59720         * lib/unictype/pr_ignorable_control.c: New file.
59721         * lib/unictype/pr_iso_control.c: New file.
59722         * lib/unictype/pr_join_control.c: New file.
59723         * lib/unictype/pr_left_of_pair.c: New file.
59724         * lib/unictype/pr_line_separator.c: New file.
59725         * lib/unictype/pr_logical_order_exception.c: New file.
59726         * lib/unictype/pr_lowercase.c: New file.
59727         * lib/unictype/pr_math.c: New file.
59728         * lib/unictype/pr_non_break.c: New file.
59729         * lib/unictype/pr_not_a_character.c: New file.
59730         * lib/unictype/pr_numeric.c: New file.
59731         * lib/unictype/pr_other_alphabetic.c: New file.
59732         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
59733         * lib/unictype/pr_other_grapheme_extend.c: New file.
59734         * lib/unictype/pr_other_id_continue.c: New file.
59735         * lib/unictype/pr_other_id_start.c: New file.
59736         * lib/unictype/pr_other_lowercase.c: New file.
59737         * lib/unictype/pr_other_math.c: New file.
59738         * lib/unictype/pr_other_uppercase.c: New file.
59739         * lib/unictype/pr_paired_punctuation.c: New file.
59740         * lib/unictype/pr_paragraph_separator.c: New file.
59741         * lib/unictype/pr_pattern_syntax.c: New file.
59742         * lib/unictype/pr_pattern_white_space.c: New file.
59743         * lib/unictype/pr_private_use.c: New file.
59744         * lib/unictype/pr_punctuation.c: New file.
59745         * lib/unictype/pr_quotation_mark.c: New file.
59746         * lib/unictype/pr_radical.c: New file.
59747         * lib/unictype/pr_sentence_terminal.c: New file.
59748         * lib/unictype/pr_soft_dotted.c: New file.
59749         * lib/unictype/pr_space.c: New file.
59750         * lib/unictype/pr_terminal_punctuation.c: New file.
59751         * lib/unictype/pr_test.c: New file.
59752         * lib/unictype/pr_titlecase.c: New file.
59753         * lib/unictype/pr_unassigned_code_value.c: New file.
59754         * lib/unictype/pr_unified_ideograph.c: New file.
59755         * lib/unictype/pr_uppercase.c: New file.
59756         * lib/unictype/pr_variation_selector.c: New file.
59757         * lib/unictype/pr_white_space.c: New file.
59758         * lib/unictype/pr_xid_continue.c: New file.
59759         * lib/unictype/pr_xid_start.c: New file.
59760         * lib/unictype/pr_zero_width.c: New file.
59761         * lib/unictype/scripts.c: New file.
59762         * lib/unictype/sy_c_ident.c: New file.
59763         * lib/unictype/sy_c_whitespace.c: New file.
59764         * lib/unictype/sy_java_ident.c: New file.
59765         * lib/unictype/sy_java_whitespace.c: New file.
59766
59767         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
59768         Unicode 5.0.0.
59769         * lib/unictype/blocks.h: Likewise.
59770         * lib/unictype/categ_C.h: Likewise.
59771         * lib/unictype/categ_Cc.h: Likewise.
59772         * lib/unictype/categ_Cf.h: Likewise.
59773         * lib/unictype/categ_Cn.h: Likewise.
59774         * lib/unictype/categ_Co.h: Likewise.
59775         * lib/unictype/categ_Cs.h: Likewise.
59776         * lib/unictype/categ_L.h: Likewise.
59777         * lib/unictype/categ_Ll.h: Likewise.
59778         * lib/unictype/categ_Lm.h: Likewise.
59779         * lib/unictype/categ_Lo.h: Likewise.
59780         * lib/unictype/categ_Lt.h: Likewise.
59781         * lib/unictype/categ_Lu.h: Likewise.
59782         * lib/unictype/categ_M.h: Likewise.
59783         * lib/unictype/categ_Mc.h: Likewise.
59784         * lib/unictype/categ_Me.h: Likewise.
59785         * lib/unictype/categ_Mn.h: Likewise.
59786         * lib/unictype/categ_N.h: Likewise.
59787         * lib/unictype/categ_Nd.h: Likewise.
59788         * lib/unictype/categ_Nl.h: Likewise.
59789         * lib/unictype/categ_No.h: Likewise.
59790         * lib/unictype/categ_P.h: Likewise.
59791         * lib/unictype/categ_Pc.h: Likewise.
59792         * lib/unictype/categ_Pd.h: Likewise.
59793         * lib/unictype/categ_Pe.h: Likewise.
59794         * lib/unictype/categ_Pf.h: Likewise.
59795         * lib/unictype/categ_Pi.h: Likewise.
59796         * lib/unictype/categ_Po.h: Likewise.
59797         * lib/unictype/categ_Ps.h: Likewise.
59798         * lib/unictype/categ_S.h: Likewise.
59799         * lib/unictype/categ_Sc.h: Likewise.
59800         * lib/unictype/categ_Sk.h: Likewise.
59801         * lib/unictype/categ_Sm.h: Likewise.
59802         * lib/unictype/categ_So.h: Likewise.
59803         * lib/unictype/categ_Z.h: Likewise.
59804         * lib/unictype/categ_Zl.h: Likewise.
59805         * lib/unictype/categ_Zp.h: Likewise.
59806         * lib/unictype/categ_Zs.h: Likewise.
59807         * lib/unictype/categ_of.h: Likewise.
59808         * lib/unictype/combining.h: Likewise.
59809         * lib/unictype/ctype_alnum.h: Likewise.
59810         * lib/unictype/ctype_alpha.h: Likewise.
59811         * lib/unictype/ctype_blank.h: Likewise.
59812         * lib/unictype/ctype_cntrl.h: Likewise.
59813         * lib/unictype/ctype_digit.h: Likewise.
59814         * lib/unictype/ctype_graph.h: Likewise.
59815         * lib/unictype/ctype_lower.h: Likewise.
59816         * lib/unictype/ctype_print.h: Likewise.
59817         * lib/unictype/ctype_punct.h: Likewise.
59818         * lib/unictype/ctype_space.h: Likewise.
59819         * lib/unictype/ctype_upper.h: Likewise.
59820         * lib/unictype/ctype_xdigit.h: Likewise.
59821         * lib/unictype/decdigit.h: Likewise.
59822         * lib/unictype/digit.h: Likewise.
59823         * lib/unictype/mirror.h: Likewise.
59824         * lib/unictype/numeric.h: Likewise.
59825         * lib/unictype/pr_alphabetic.h: Likewise.
59826         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59827         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59828         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59829         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59830         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59831         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59832         * lib/unictype/pr_bidi_control.h: Likewise.
59833         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59834         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59835         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59836         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59837         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59838         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59839         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59840         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59841         * lib/unictype/pr_bidi_pdf.h: Likewise.
59842         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59843         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59844         * lib/unictype/pr_combining.h: Likewise.
59845         * lib/unictype/pr_composite.h: Likewise.
59846         * lib/unictype/pr_currency_symbol.h: Likewise.
59847         * lib/unictype/pr_dash.h: Likewise.
59848         * lib/unictype/pr_decimal_digit.h: Likewise.
59849         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59850         * lib/unictype/pr_deprecated.h: Likewise.
59851         * lib/unictype/pr_diacritic.h: Likewise.
59852         * lib/unictype/pr_extender.h: Likewise.
59853         * lib/unictype/pr_format_control.h: Likewise.
59854         * lib/unictype/pr_grapheme_base.h: Likewise.
59855         * lib/unictype/pr_grapheme_extend.h: Likewise.
59856         * lib/unictype/pr_grapheme_link.h: Likewise.
59857         * lib/unictype/pr_hex_digit.h: Likewise.
59858         * lib/unictype/pr_hyphen.h: Likewise.
59859         * lib/unictype/pr_id_continue.h: Likewise.
59860         * lib/unictype/pr_id_start.h: Likewise.
59861         * lib/unictype/pr_ideographic.h: Likewise.
59862         * lib/unictype/pr_ids_binary_operator.h: Likewise.
59863         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
59864         * lib/unictype/pr_ignorable_control.h: Likewise.
59865         * lib/unictype/pr_iso_control.h: Likewise.
59866         * lib/unictype/pr_join_control.h: Likewise.
59867         * lib/unictype/pr_left_of_pair.h: Likewise.
59868         * lib/unictype/pr_line_separator.h: Likewise.
59869         * lib/unictype/pr_logical_order_exception.h: Likewise.
59870         * lib/unictype/pr_lowercase.h: Likewise.
59871         * lib/unictype/pr_math.h: Likewise.
59872         * lib/unictype/pr_non_break.h: Likewise.
59873         * lib/unictype/pr_not_a_character.h: Likewise.
59874         * lib/unictype/pr_numeric.h: Likewise.
59875         * lib/unictype/pr_other_alphabetic.h: Likewise.
59876         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
59877         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
59878         * lib/unictype/pr_other_id_continue.h: Likewise.
59879         * lib/unictype/pr_other_id_start.h: Likewise.
59880         * lib/unictype/pr_other_lowercase.h: Likewise.
59881         * lib/unictype/pr_other_math.h: Likewise.
59882         * lib/unictype/pr_other_uppercase.h: Likewise.
59883         * lib/unictype/pr_paired_punctuation.h: Likewise.
59884         * lib/unictype/pr_paragraph_separator.h: Likewise.
59885         * lib/unictype/pr_pattern_syntax.h: Likewise.
59886         * lib/unictype/pr_pattern_white_space.h: Likewise.
59887         * lib/unictype/pr_private_use.h: Likewise.
59888         * lib/unictype/pr_punctuation.h: Likewise.
59889         * lib/unictype/pr_quotation_mark.h: Likewise.
59890         * lib/unictype/pr_radical.h: Likewise.
59891         * lib/unictype/pr_sentence_terminal.h: Likewise.
59892         * lib/unictype/pr_soft_dotted.h: Likewise.
59893         * lib/unictype/pr_space.h: Likewise.
59894         * lib/unictype/pr_terminal_punctuation.h: Likewise.
59895         * lib/unictype/pr_titlecase.h: Likewise.
59896         * lib/unictype/pr_unassigned_code_value.h: Likewise.
59897         * lib/unictype/pr_unified_ideograph.h: Likewise.
59898         * lib/unictype/pr_uppercase.h: Likewise.
59899         * lib/unictype/pr_variation_selector.h: Likewise.
59900         * lib/unictype/pr_white_space.h: Likewise.
59901         * lib/unictype/pr_xid_continue.h: Likewise.
59902         * lib/unictype/pr_xid_start.h: Likewise.
59903         * lib/unictype/pr_zero_width.h: Likewise.
59904         * lib/unictype/scripts.h: Likewise.
59905         * lib/unictype/scripts_byname.gperf: Likewise.
59906         * lib/unictype/sy_c_ident.h: Likewise.
59907         * lib/unictype/sy_c_whitespace.h: Likewise.
59908         * lib/unictype/sy_java_ident.h: Likewise.
59909         * lib/unictype/sy_java_whitespace.h: Likewise.
59910
59911         * lib/unictype/Makefile: New file.
59912         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
59913         glibc.
59914         * lib/unictype/3level.h: New file, copied from glibc.
59915         * lib/unictype/3levelbit.h: New file.
59916
59917 2007-11-11  Bruno Haible  <bruno@clisp.org>
59918
59919         * modules/gperf: New file.
59920         * modules/iconv_open (Depends-on): Add it.
59921         (Makefile.am): Remove the GPERF definition.
59922
59923 2007-11-11  Bruno Haible  <bruno@clisp.org>
59924
59925         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
59926         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
59927
59928 2007-11-11  Bruno Haible  <bruno@clisp.org>
59929
59930         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
59931         (usage): Remove function.
59932
59933 2007-11-11  Bruno Haible  <bruno@clisp.org>
59934
59935         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
59936         gl_FUNC_CEILF_LIBS.
59937         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
59938         gl_FUNC_CEIL_LIBS.
59939         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
59940         gl_FUNC_CEILL_LIBS.
59941         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
59942         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
59943         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
59944
59945 2007-11-11  Bruno Haible  <bruno@clisp.org>
59946
59947         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
59948         roundf were declared but do not exist on functions.
59949         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
59950         roundl were declared but do not exist on functions.
59951         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
59952         HAVE_FLOORL_AND_CEILL, respectively.
59953         Needed for Sun C on Solaris 10.
59954
59955 2007-11-11  Bruno Haible  <bruno@clisp.org>
59956
59957         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
59958         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
59959         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
59960         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
59961         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
59962         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
59963         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
59964         HAVE_DECL_ROUNDF.
59965         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
59966         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
59967         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
59968         of HAVE_DECL_ROUND*.
59969         * modules/math (Makefile.am): Update.
59970
59971 2007-11-10  Bruno Haible  <bruno@clisp.org>
59972
59973         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
59974         ptrdiff_t as m4/intl.m4.
59975
59976 2007-11-10  Jim Meyering  <meyering@redhat.com>
59977
59978         Avoid link failure for the argmatch test.
59979         * tests/test-argmatch.c (usage): Define function to avoid a link
59980         failure: argmatch_die requires a usage function.
59981
59982 2007-11-09  Bruno Haible  <bruno@clisp.org>
59983
59984         * doc/functions/snprintf.texi: Mention BeOS deficiency.
59985         * doc/functions/vsnprintf.texi: Likewise.
59986         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
59987         with a size argument < 2.
59988
59989 2007-11-09  Bruno Haible  <bruno@clisp.org>
59990
59991         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
59992         buffer. Fixes an inefficiency introduced on 2007-11-03.
59993
59994 2007-11-09  Bruno Haible  <bruno@clisp.org>
59995
59996         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
59997         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
59998
59999 2007-11-08  Jim Meyering  <meyering@redhat.com>
60000
60001         Change cache variable name prefix "jm_" to "gl_" everywhere.
60002         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60003         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60004         * m4/uptime.m4: s/gl_/jm_/
60005
60006 2007-11-07  Bruno Haible  <bruno@clisp.org>
60007
60008         Update to GNU gettext 0.17.
60009         * m4/intl.m4: Update to GNU gettext 0.17.
60010         * m4/po.m4: Likewise.
60011         * modules/gettext (Files): Remove m4/ulonglong.m4.
60012         (configure.ac): Require gettext infrastructure from version 0.17.
60013
60014 2007-11-06  Bruno Haible  <bruno@clisp.org>
60015
60016         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60017         symbolic values are not defined in a public header.
60018         * lib/freadable.c (freadable) [QNX]: Likewise.
60019         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60020         * lib/freading.c (freading) [QNX]: Likewise.
60021         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60022         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60023         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60024         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60025         Reported by Alain Magloire.
60026
60027         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60028
60029 2007-11-05  Bruno Haible  <bruno@clisp.org>
60030
60031         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60032         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60033         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60034         Reported by Eric Blake.
60035
60036 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60037             Bruno Haible  <bruno@clisp.org>
60038
60039         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60040         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60041         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60042         (malloc): Undefine also before including <stdlib.h>.
60043         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60044         Needed on OSF/1 4.0.
60045
60046 2007-11-05  Jim Meyering  <meyering@redhat.com>
60047
60048         git-version-gen: sync from coreutils.
60049         * build-aux/git-version-gen: Add comments.
60050         Change the first '-' to '.' in the snapshot version string,
60051         e.g., 6.9-377-08144 -> 6.9.377-08144
60052         Remove first parameter.
60053         Don't declare a version "-dirty" merely because a time
60054         stamp has changed.
60055
60056 2007-11-04  Bruno Haible  <bruno@clisp.org>
60057
60058         * lib/lock.h: Protect all macro definitions containing an 'if'
60059         statement through a "do { ... } while (0)".
60060         * lib/tls.h: Likewise.
60061
60062 2007-11-04  Bruno Haible  <bruno@clisp.org>
60063
60064         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60065
60066 2007-11-04  Bruno Haible  <bruno@clisp.org>
60067
60068         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60069         * modules/fprintf-posix (Depends-on): Add nocrash.
60070         * modules/snprintf-posix (Depends-on): Likewise.
60071         * modules/sprintf-posix (Depends-on): Likewise.
60072         * modules/vasnprintf-posix (Depends-on): Likewise.
60073         * modules/vasprintf-posix (Depends-on): Likewise.
60074         * modules/vfprintf-posix (Depends-on): Likewise.
60075         * modules/vsnprintf-posix (Depends-on): Likewise.
60076         * modules/vsprintf-posix (Depends-on): Likewise.
60077         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60078         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60079         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60080         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60081         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60082         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60083         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60084
60085 2007-11-04  Bruno Haible  <bruno@clisp.org>
60086
60087         * modules/nocrash: New file.
60088         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60089         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60090
60091 2007-11-04  Bruno Haible  <bruno@clisp.org>
60092
60093         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
60094         precision handling.
60095         * tests/test-vasprintf-posix.c (test_function): Likewise.
60096         * tests/test-snprintf-posix.h (test_function): Likewise.
60097         * tests/test-sprintf-posix.h (test_function): Likewise.
60098
60099         Fix *printf behaviour for large precisions on mingw and BeOS.
60100         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
60101         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
60102         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
60103         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60104         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60105         gl_PRINTF_PRECISION and test its result. Invoke
60106         gl_PREREQ_VASNPRINTF_PRECISION.
60107         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60108         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60109         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60110         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60111         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60112         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60113         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60114         * doc/functions/fprintf.texi: Update.
60115         * doc/functions/printf.texi: Update.
60116         * doc/functions/snprintf.texi: Update.
60117         * doc/functions/sprintf.texi: Update.
60118         * doc/functions/vfprintf.texi: Update.
60119         * doc/functions/vprintf.texi: Update.
60120         * doc/functions/vsnprintf.texi: Update.
60121         * doc/functions/vsprintf.texi: Update.
60122
60123 2007-11-04  Bruno Haible  <bruno@clisp.org>
60124
60125         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
60126
60127 2007-11-04  Bruno Haible  <bruno@clisp.org>
60128
60129         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
60130         Reported by Sylvain Beucler <beuc@gnu.org>.
60131
60132 2007-11-03  Bruno Haible  <bruno@clisp.org>
60133
60134         * tests/test-fprintf-posix2.sh: New file.
60135         * tests/test-fprintf-posix2.c: New file.
60136         * modules/fprintf-posix-tests (Files): Add them.
60137         (TESTS): Add test-fprintf-posix2.sh.
60138         (configure.ac): Check for getrlimit and setrlimit.
60139         (check_PROGRAMS): Add test-fprintf-posix2.
60140
60141         * tests/test-printf-posix2.sh: New file.
60142         * tests/test-printf-posix2.c: New file.
60143         * modules/printf-posix-tests (Files): Add them.
60144         (TESTS): Add test-printf-posix2.sh.
60145         (configure.ac): Check for getrlimit and setrlimit.
60146         (check_PROGRAMS): Add test-printf-posix2.
60147
60148         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
60149         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
60150         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
60151         (decode_double): New function, copied from decode_long_double.
60152         (scale10_round_decimal_decoded): New function, extracted from
60153         scale10_round_decimal_long_double.
60154         (scale10_round_decimal_long_double): Use it.
60155         (scale10_round_decimal_double): New function.
60156         (floorlog10): New function.
60157         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
60158         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
60159         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60160         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60161         gl_PRINTF_ENOMEM and test its result. Invoke
60162         gl_PREREQ_VASNPRINTF_ENOMEM.
60163         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60164         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60165         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60166         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60167         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60168         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60169         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60170         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
60171         * modules/snprintf-posix (Depends-on): Likewise.
60172         * modules/sprintf-posix (Depends-on): Likewise.
60173         * modules/vasnprintf-posix (Depends-on): Likewise.
60174         * modules/vasprintf-posix (Depends-on): Likewise.
60175         * modules/vfprintf-posix (Depends-on): Likewise.
60176         * modules/vsnprintf-posix (Depends-on): Likewise.
60177         * modules/vsprintf-posix (Depends-on): Likewise.
60178         * doc/functions/fprintf.texi: Update.
60179         * doc/functions/printf.texi: Update.
60180         * doc/functions/snprintf.texi: Update.
60181         * doc/functions/sprintf.texi: Update.
60182         * doc/functions/vfprintf.texi: Update.
60183         * doc/functions/vprintf.texi: Update.
60184         * doc/functions/vsnprintf.texi: Update.
60185         * doc/functions/vsprintf.texi: Update.
60186
60187 2007-11-03  Bruno Haible  <bruno@clisp.org>
60188
60189         * modules/frexp-nolibm-tests: New file.
60190
60191         * modules/frexp-nolibm: New file.
60192         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
60193
60194 2007-11-03  Bruno Haible  <bruno@clisp.org>
60195
60196         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
60197         value is C99 compliant.
60198         Needed for OSF/1 5.1.
60199
60200 2007-11-03  Bruno Haible  <bruno@clisp.org>
60201
60202         Fix out-of-memory handling of vasnprintf.
60203         * lib/printf-parse.c: Include <errno.h>.
60204         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
60205         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
60206         is already set.
60207
60208 2007-11-02  Eric Blake  <ebb9@byu.net>
60209
60210         Fix tests on cygwin.
60211         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
60212
60213 2007-11-01  Bruno Haible  <bruno@clisp.org>
60214
60215         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
60216         warning.
60217         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
60218         needed for POSIX compatibility.
60219
60220 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60221
60222         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
60223         for compatibility with GNU.
60224
60225 2007-11-01  Bruno Haible  <bruno@clisp.org>
60226
60227         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
60228         (putenv): Renamed from rpl_putenv. Change argument type from
60229         'const char *' to 'char *'.
60230         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
60231         of defining putenv in config.h, just set REPLACE_PUTENV.
60232         * modules/putenv (Depends-on): Add stdlib.
60233         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60234         (Include): Use <stdlib.h>.
60235         * lib/stdlib.in.h (putenv): New declaration.
60236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
60237         REPLACE_PUTENV.
60238         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
60239         REPLACE_PUTENV.
60240         Needed for MacOS X 10.5.0.
60241         Reported by Peter O'Gorman <peter@pogma.com>.
60242
60243 2007-11-01  Jim Meyering  <meyering@redhat.com>
60244
60245         Treat an empty date string exactly like "0".
60246         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
60247         if the remaining date string (to be parsed) is empty, use "0".
60248         Reported by Mischa Molhoek and discussed in this thread:
60249         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
60250
60251 2007-10-31  Bruno Haible  <bruno@clisp.org>
60252
60253         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
60254         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
60255         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
60256         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
60257         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
60258         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
60259
60260 2007-10-31  Bruno Haible  <bruno@clisp.org>
60261
60262         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
60263         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
60264         (AC_TYPE_LONG_LONG_INT): Use it.
60265         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
60266         it as well.
60267         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
60268         to m4/longlong.m4.
60269         * modules/stdint (Files): Remove m4/ulonglong.m4.
60270         * modules/strtoull (Files): Use m4/longlong.m4 instead of
60271         m4/ulonglong.m4.
60272         * modules/strtoumax (Files): Likewise.
60273
60274 2007-10-30  Bruno Haible  <bruno@clisp.org>
60275
60276         * modules/xvasprintf-posix: New file.
60277         Suggested by Eric Blake.
60278
60279 2007-10-30  Bruno Haible  <bruno@clisp.org>
60280
60281         * modules/xprintf-posix-tests: New file.
60282         * tests/test-xprintf-posix.sh: New file.
60283         * tests/test-xprintf-posix.c: New file.
60284         * tests/test-xfprintf-posix.c: New file.
60285
60286         * modules/xprintf-posix: New file.
60287
60288 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60289
60290         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
60291         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
60292         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
60293
60294 2007-10-29  Bruno Haible  <bruno@clisp.org>
60295
60296         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
60297         contain the special marker '_cv_'.
60298         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
60299         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
60300         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
60301         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
60302         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
60303         Reported by Ralf Wildenhues.
60304
60305 2007-10-29  Bruno Haible  <bruno@clisp.org>
60306
60307         * gnulib-tool (func_import): When --lgpl is not specified, set
60308         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
60309         GPLv3.
60310         Reported by Simon Josefsson.
60311
60312 2007-10-28  Bruno Haible  <bruno@clisp.org>
60313
60314         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
60315         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
60316         HAVE_DECL_ISFINITE.
60317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60318         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
60319         HAVE_DECL_ISFINITE.
60320
60321 2007-10-28  Bruno Haible  <bruno@clisp.org>
60322
60323         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
60324         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
60325
60326 2007-10-28  Bruno Haible  <bruno@clisp.org>
60327
60328         Fix link errors with Sun C 5.0 on Solaris 10.
60329         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
60330         function is declared but not present in the compiler's libm.
60331         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
60332         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
60333         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
60334         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
60335         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
60336         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
60337         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
60338         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60339         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
60340         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
60341         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
60342         HAVE_DECL_FLOORL.
60343
60344 2007-10-28  Bruno Haible  <bruno@clisp.org>
60345
60346         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
60347         gl_FUNC_FLOORL. Cache the result.
60348         (gl_FUNC_FLOORL): Use it.
60349         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
60350         gl_FUNC_CEILL. Cache the result.
60351         (gl_FUNC_CEILL): Use it.
60352
60353         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
60354         gl_FUNC_FLOOR. Cache the result.
60355         (gl_FUNC_FLOOR): Use it.
60356         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
60357         gl_FUNC_CEIL. Cache the result.
60358         (gl_FUNC_CEIL): Use it.
60359
60360         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
60361         gl_FUNC_FLOORF. Cache the result.
60362         (gl_FUNC_FLOORF): Use it.
60363         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
60364         gl_FUNC_CEILF. Cache the result.
60365         (gl_FUNC_CEILF): Use it.
60366
60367 2007-10-28  Bruno Haible  <bruno@clisp.org>
60368
60369         * gnulib-tool: Allow specifying the LGPL version number through
60370         --lgpl=2 or --lgpl=3.
60371         (func_usage): Document --lgpl with argument.
60372         Handle --lgpl=... arguments.
60373         (func_import): Recognize also gl_LGPL calls with an argument. When
60374         --lgpl=2 is used and the module's license is just LGPL, report an
60375         error. Set sed_transform_lib_file according to the lgpl variable. In
60376         the generated files, use --lgpl or gl_LGPL invocations with argument,
60377         if necessary.
60378         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
60379         an LGPv2+ license.
60380         * doc/gnulib-tool.texi (Modified imports): Update explanation of
60381         gl_LGPL macro.
60382
60383 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60384             Bruno Haible  <bruno@clisp.org>
60385
60386         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
60387         (u16_uctomb_aux): Likewise.
60388         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
60389         !HAVE_INLINE.
60390         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
60391
60392 2007-10-28  Bruno Haible  <bruno@clisp.org>
60393
60394         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
60395         Invoke AM_GETTEXT_OPTION if it exists.
60396         * modules/vasprintf: Likewise.
60397         * modules/verror: Likewise.
60398         * modules/xprintf: Likewise.
60399         * modules/xvasprintf: Likewise.
60400
60401 2007-10-27  Ben Pfaff  <blp@gnu.org>
60402
60403         * lib/math.in.h: Define isfinite macro and prototypes for
60404         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
60405         implementations.
60406         * m4/math_h.m4: New substitutions for isfinite module.
60407         * lib/isfinite.c: New file.
60408         * m4/isfinite.m4: New file.
60409         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
60410         * modules/isfinite: New file.
60411         * modules/isfinite-tests: New file.
60412         * tests/tests-isfinite.c: New file.
60413         * doc/functions/isfinite.texi: Mention isfinite module.
60414         * MODULES.html.sh: Mention new module.
60415
60416 2007-10-27  Ben Pfaff  <blp@gnu.org>
60417
60418         Ralf Wildenhues reported that Tru64 4.0D declares the round
60419         functions but does not have definitions.
60420         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
60421         cannot be found in any library, set the output variable to
60422         "missing" instead of "".
60423         * m4/round.m4: Also use our substitute if we cannot find round in
60424         any library, even if it is declared.
60425         * m4/roundf.m4: Likewise for roundf.
60426         * m4/roundl.m4: Likewise for roundl.
60427         * lib/math.in.h: Undefine roundf, round, roundl before defining
60428         their replacements, to allow for hypothetical systems where these
60429         may be defined as macros but not available in libraries.
60430
60431 2007-10-27  Bruno Haible  <bruno@clisp.org>
60432
60433         * doc/gnulib.texi: Invoke @firstparagraphindent.
60434         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
60435         changes in gnulib.
60436         (Source changes): New section.
60437
60438 2007-10-26  Bruno Haible  <bruno@clisp.org>
60439
60440         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
60441         borrowed from autoconf.
60442
60443 2007-10-26  Bruno Haible  <bruno@clisp.org>
60444
60445         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
60446         strerror returned the empty string. Needed on HP-UX 11.00.
60447
60448 2007-10-24  Micah Cowan  <micah@cowan.name>
60449
60450         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
60451         * build-aux/bootstrap: Remove support for now-unnecessary option,
60452         --cvs-user, and envvars CVS_USER, CVS_RSH.
60453
60454 2007-10-24  Jim Meyering  <meyering@redhat.com>
60455
60456         Avoid diagnostics from sha1sum when there is no cached checksum.
60457         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
60458         if the po.s1 file hasn't been created yet.
60459
60460         * build-aux/bootstrap: Sync from coreutils:
60461         2007-10-24  Jim Meyering  <meyering@redhat.com>
60462         Get gnulib from the git repository, not from an obsolete cvs one.
60463         * build-aux/bootstrap: Suggestion from Micah Cowan.
60464         2007-10-04  Jim Meyering  <jim@meyering.net>
60465         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
60466         (update_po_files): Work also when there are no .po files in po/.
60467
60468 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60469
60470         * README: Append ".git" to git and cg examples.
60471         Problem reported by Benoit Sigoure.
60472
60473 2007-10-23  Micah Cowan  <micah@cowan.name>
60474
60475         * users.txt: Add wget.
60476
60477 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60478
60479         Fix linking of some unistdio tests on FreeBSD.
60480         * modules/unistdio/u16-vsnprintf-tests
60481         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
60482         * modules/unistdio/u16-vsprintf-tests
60483         (test_u16_vsnprintf1_LDADD): Likewise.
60484         * modules/unistdio/u32-vsnprintf-tests
60485         (test_u32_vsnprintf1_LDADD): Likewise.
60486         * modules/unistdio/u32-vsprintf-tests
60487         (test_u32_vsprintf1_LDADD): Likewise.
60488         * modules/unistdio/u8-vsnprintf-tests
60489         (test_u8_vsnprintf1_LDADD): Likewise.
60490         * modules/unistdio/u8-vsprintf-tests
60491         (test_u8_vsprintf1_LDADD): Likewise.
60492         * modules/unistdio/ulc-vsnprintf-tests
60493         (test_ulc_vsnprintf1_LDADD): Likewise.
60494         * modules/unistdio/ulc-vsprintf-tests
60495         (test_ulc_vsprintf1_LDADD): Likewise.
60496
60497         Fix linking of some uniconv tests on FreeBSD.
60498         * modules/uniconv/u16-conv-from-enc-tests
60499         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
60500         * modules/uniconv/u16-conv-to-enc-tests
60501         (test_u16_conv_to_enc_LDADD): Likewise.
60502         * modules/uniconv/u16-strconv-from-enc-tests
60503         (test_u16_strconv_from_enc_LDADD): Likewise.
60504         * modules/uniconv/u16-strconv-to-enc-tests
60505         (test_u16_strconv_to_enc_LDADD): Likewise.
60506         * modules/uniconv/u32-conv-from-enc-tests
60507         (test_u32_conv_from_enc_LDADD): Likewise.
60508         * modules/uniconv/u32-conv-to-enc-tests
60509         (test_u32_conv_to_enc_LDADD): Likewise.
60510         * modules/uniconv/u32-strconv-from-enc-tests
60511         (test_u32_strconv_from_enc_LDADD): Likewise.
60512         * modules/uniconv/u32-strconv-to-enc-tests
60513         (test_u32_strconv_to_enc_LDADD): Likewise.
60514         * modules/uniconv/u8-conv-from-enc-tests
60515         (test_u8_conv_from_enc_LDADD): Likewise.
60516         * modules/uniconv/u8-conv-to-enc-tests
60517         (test_u8_conv_to_enc_LDADD): Likewise.
60518         * modules/uniconv/u8-strconv-from-enc-tests
60519         (test_u8_strconv_from_enc_LDADD): Likewise.
60520         * modules/uniconv/u8-strconv-to-enc-tests
60521         (test_u8_strconv_to_enc_LDADD): Likewise.
60522
60523 2007-10-22  Bruno Haible  <bruno@clisp.org>
60524
60525         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
60526         size.
60527
60528 2007-10-22  Eric Blake  <ebb9@byu.net>
60529
60530         Tweak x*printf documentation.
60531         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
60532         variable name and comments.
60533         Suggested by Bruno Haible.
60534
60535 2007-10-22  Bruno Haible  <bruno@clisp.org>
60536
60537         * lib/acl.c (copy_acl): Fix file name in comment.
60538
60539 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60540
60541         Fix Tru64 problem with stdbool.h.
60542         * lib/stdbool.in.h (false, true):
60543         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
60544         Don't declare as an enum in this situation; it runs afoul of Tru64.
60545         Problem reported by Steven M. Schweda in
60546         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
60547
60548 2007-10-22  Eric Blake  <ebb9@byu.net>
60549
60550         Also wrap vf?printf.
60551         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
60552         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
60553         (xvprintf, xvfprintf): New functions.
60554
60555 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60556
60557         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
60558         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
60559
60560         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
60561         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
60562
60563 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60564
60565         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
60566         by Bruno Haible.
60567
60568 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60569
60570         * lib/getloadavg.c
60571         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
60572         Undef `sys' after including sys/table.h, for Tru64 4.0D.
60573
60574         * tests/test-i-ring.c: Work for C89.
60575
60576 2007-10-22  Bruno Haible  <bruno@clisp.org>
60577
60578         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
60579         -1u, in preprocessor expression, so that we don't test for the bug
60580         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
60581         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
60582
60583 2007-10-22  Eric Blake  <ebb9@byu.net>
60584
60585         * tests/test-yesno.sh: Silence stderr during test.
60586
60587 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60588
60589         * modules/crypto/gc-camellia: New file.
60590
60591         * m4/gc-camellia.m4: New file.
60592
60593         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
60594
60595         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
60596
60597 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60598
60599         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
60600         --help to stdout.  Reported by sms@antinode.org (Steven
60601         M. Schweda).
60602
60603 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60604
60605         * users.txt: Fix link to libksba.
60606
60607 2007-10-21  Ben Pfaff  <blp@gnu.org>
60608
60609         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
60610         round.c roundf implementation that depends on floorf and ceilf to
60611         be tested unconditionally.
60612
60613 2007-10-21  Ben Pfaff  <blp@gnu.org>
60614
60615         * m4/check-libm-func.m4: Removed.
60616         * m4/check-math-lib.m4: New file.
60617         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
60618         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
60619         definition and lack of AC_LIBOBJ([roundf]).
60620         * m4/roundl.m4: Ditto, and similarly for roundl.
60621         * modules/round: Reference new m4 file.
60622         * modules/roundf: Ditto.
60623         * modules/roundl: Ditto.
60624         * tests/test-round2.c (main): Use ROUND instead of round.
60625         Bug report from Bruno Haible.
60626
60627 2007-10-21  Bruno Haible  <bruno@clisp.org>
60628
60629         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
60630         context.
60631
60632 2007-10-21  Bruno Haible  <bruno@clisp.org>
60633
60634         * tests/test-wcwidth.c (main): Allow negative result for some control
60635         characters.
60636
60637         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
60638         Needed on OSF/1 5.1.
60639
60640 2007-10-21  Bruno Haible  <bruno@clisp.org>
60641
60642         * tests/test-floorf1.c: Include isnanf.h.
60643         (main): Use isnanf() instead of isnan().
60644         * tests/test-ceilf1.c: Include isnanf.h.
60645         (main): Use isnanf() instead of isnan().
60646         * tests/test-truncf1.c: Include isnanf.h.
60647         (main): Use isnanf() instead of isnan().
60648         * tests/test-roundf1.c: Include isnanf.h.
60649         (main): Use isnanf() instead of isnan().
60650
60651 2007-10-21  Eric Blake  <ebb9@byu.net>
60652
60653         * users.txt: Update URL for m4.
60654
60655 2007-10-21  Bruno Haible  <bruno@clisp.org>
60656
60657         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
60658
60659 2007-10-21  Bruno Haible  <bruno@clisp.org>
60660
60661         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
60662         Git's management files if the CVS files are not present.
60663
60664 2007-10-20  Bruno Haible  <bruno@clisp.org>
60665
60666         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
60667         gcc-3.4.x.
60668
60669 2007-10-20  Ben Pfaff  <blp@gnu.org>
60670
60671         * lib/math.in.h: Declare round, roundf, roundl if we are providing
60672         implementations.
60673         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
60674         * lib/round.c: New file.
60675         * lib/roundf.c: New file.
60676         * lib/roundl.c: New file.
60677         * m4/round.m4: New file.
60678         * m4/roundf.m4: New file.
60679         * m4/roundl.m4: New file.
60680         * m4/check-libm-func-m4: New file.
60681         * modules/math: Replace round, roundf, roundl related @VARS@ in
60682         math.in.h.
60683         * modules/round: New file.
60684         * modules/round-tests: New file.
60685         * modules/roundf: New file.
60686         * modules/roundf-tests: New file.
60687         * modules/roundl: New file.
60688         * modules/roundl-tests: New file.
60689         * tests/test-round1.c: New file.
60690         * tests/test-round2.c: New file.
60691         * tests/test-roundf1.c: New file.
60692         * tests/test-roundf2.c: New file.
60693         * tests/test-roundl.c: New file.
60694         * doc/functions/round.texi: Mention round module.
60695         * doc/functions/roundf.texi: Mention roundf module.
60696         * doc/functions/roundl.texi: Mention roundl module.
60697         * MODULES.html.sh: Mention new modules.
60698         Thanks to Bruno Haible for suggestions.
60699
60700 2007-10-20  Jim Meyering  <meyering@redhat.com>
60701
60702         * lib/xprintf.c: Include <config.h> unconditionally.
60703
60704         Change xprintf's license to GPL.
60705         * modules/xprintf (License): s/LGPL/GPL/, since this module
60706         depends on modules (exit and exitfail) which are GPL.
60707         Suggestion from Bruno Haible.
60708
60709         xprintf fixes.
60710         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
60711         Use a clearer diagnostic.
60712         Patch from Bruno Haible.
60713
60714 2007-10-20  Bruno Haible  <bruno@clisp.org>
60715
60716         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
60717         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
60718         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60719
60720 2007-10-20  Bruno Haible  <bruno@clisp.org>
60721
60722         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
60723         precision in the comparison result > x - 1 or similar.
60724         * tests/test-ceilf2.c (correct_result_p): Likewise.
60725         * tests/test-truncf2.c (correct_result_p): Likewise.
60726         * tests/test-trunc2.c (correct_result_p): Likewise.
60727         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60728
60729 2007-10-20  Bruno Haible  <bruno@clisp.org>
60730
60731         * modules/ceil: New file.
60732         * m4/ceil.m4: New file.
60733         * doc/functions/ceil.texi: Mention the 'ceil' module.
60734
60735 2007-10-20  Bruno Haible  <bruno@clisp.org>
60736
60737         * modules/floor: New file.
60738         * m4/floor.m4: New file.
60739         * doc/functions/floor.texi: Mention the 'floor' module.
60740
60741 2007-10-20  Bruno Haible  <bruno@clisp.org>
60742
60743         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
60744         of %a.
60745         * modules/floorf-tests (Depends-on): Likewise.
60746         * modules/truncf-tests (Depends-on): Likewise.
60747         * modules/trunc-tests (Depends-on): Likewise.
60748         Reported by Ben Pfaff.
60749
60750 2007-10-19  Jim Meyering  <meyering@redhat.com>
60751
60752         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
60753         Don't bother testing specific errno values.  Just test ferror.
60754
60755         New module: xprintf
60756         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
60757
60758 2007-10-19  Bruno Haible  <bruno@clisp.org>
60759
60760         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
60761         syntax.
60762         * modules/javaexec (Makefile.am): Likewise.
60763         * modules/relocatable-prog (Makefile.am): Likewise.
60764         Suggested by Jim Meyering.
60765
60766 2007-10-18  Bruno Haible  <bruno@clisp.org>
60767
60768         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
60769         Reported by Jim Meyering.
60770
60771 2007-10-18  Eric Blake  <ebb9@byu.net>
60772
60773         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
60774
60775 2007-10-18  Bruno Haible  <bruno@clisp.org>
60776
60777         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
60778         the format string into writable memory. Needed in Fortify conditions.
60779
60780 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
60781             Bruno Haible  <bruno@clisp.org>
60782
60783         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
60784         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
60785         * modules/trim (Depends-on): Add mbchar.
60786         (configure.ac): Add gl_FUNC_MBRTOWC.
60787         (Makefile.am): Augment lib_SOURCES.
60788
60789 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60790
60791         Modify glob.c to use fstatat and dirfd, to simplify it.
60792         Suggested by Eric Blake.
60793         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
60794         Don't include <stdbool.h>; not used.
60795         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
60796         (link_exists_p): Simplify implementation, since we can now assume
60797         dirfd and fstatat.
60798         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
60799
60800 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60801
60802         * gnulib-tool (func_get_dependencies): Fix sed script to
60803         match only tests.
60804
60805 2007-10-17  Bruno Haible  <bruno@clisp.org>
60806
60807         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
60808         allow locale names without encoding suffix.
60809         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60810         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60811
60812 2007-10-16  Bruno Haible  <bruno@clisp.org>
60813
60814         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
60815         * lib/getgroups.c (getgroups): Likewise.
60816         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
60817
60818 2007-10-16  Bruno Haible  <bruno@clisp.org>
60819
60820         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
60821         * modules/malloc-posix (License): Likewise.
60822         * modules/realloc-posix (License): Likewise.
60823         * modules/calloc-posix (License): Likewise.
60824         * modules/intprops (License): Change from GPL to LGPL, with
60825         Paul Eggert's approval.
60826
60827 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60828
60829         Merge glibc changes into lib/glob.c.
60830
60831         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
60832         2007-10-15 04:59:03 UTC.  Here are the changes:
60833
60834         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
60835
60836         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
60837
60838         * lib/glob.c: Add some branch prediction throughout.
60839
60840         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
60841
60842         [BZ #5103]
60843         * lib/glob.c (glob): Recognize patterns starting \/.
60844
60845         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
60846
60847         [BZ #3996]
60848         * lib/glob.c (attribute_hidden): Define if not defined.
60849         (glob): Unescape dirname, filename or username when needed and not
60850         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
60851         is NULL.  Handle unescaped [ in pattern without closing ].
60852         Don't pass GLOB_CHECK down to recursive glob for directories.
60853         (__glob_pattern_type): New function.
60854         (__glob_pattern_p): Implement using __glob_pattern_type.
60855         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
60856         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
60857         Remove unreachable code.
60858
60859         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
60860
60861         * lib/glob.c (glob_in_dir): Add some comments and asserts to
60862         explain why there are no leaks.
60863
60864         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
60865
60866         [BZ #3253]
60867         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
60868         time, rather allocate increasingly bigger arrays of pointers, if
60869         possible with alloca, if too large with malloc.
60870
60871 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60872
60873         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
60874         Problem reported by H.Merijn Brand in
60875         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
60876         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
60877         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60878
60879 2007-10-15  Bruno Haible  <bruno@clisp.org>
60880
60881         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
60882         with explicit rpl_ prefix.
60883         * lib/fopen.c (fopen): Likewise.
60884         * lib/freopen.c (freopen): Likewise.
60885         * lib/iconv.c (iconv): Likewise.
60886         * lib/iconv_close.c (iconv_close): Likewise.
60887
60888 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60889
60890         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
60891
60892 2007-10-15  Bruno Haible  <bruno@clisp.org>
60893
60894         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
60895         <stddef.h> instead of <stdlib.h> since we only need NULL.
60896         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60897
60898 2007-10-15  Bruno Haible  <bruno@clisp.org>
60899
60900         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
60901         Replace paragraph talking about LIBOBJS.
60902         Reported by Colin Watson <cjwatson@debian.org>.
60903
60904 2007-10-15  Bruno Haible  <bruno@clisp.org>
60905
60906         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
60907         <stdlib.h> before using NULL.
60908
60909 2007-10-15  Simon Josefsson  <simon@josefsson.org>
60910
60911         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
60912         Reported by Albert Chin <china@thewrittenword.com>.
60913
60914 2007-10-14  Bruno Haible  <bruno@clisp.org>
60915
60916         * modules/iconv_open-utf-tests: New file.
60917         * tests/test-iconv-utf.c: New file.
60918
60919         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
60920         * modules/iconv_open-utf: New file.
60921         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
60922         (iconv, iconv_close): New declarations.
60923         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
60924         be defined.
60925         (iconv_open): Add special handling of conversion between UTF-8 and
60926         UTF-{16,32}{BE,LE}.
60927         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
60928         * lib/iconv_close.c: New file.
60929         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
60930         gl_FUNC_ICONV_OPEN.
60931         (gl_FUNC_ICONV_OPEN): Use it.
60932         (gl_FUNC_ICONV_OPEN_UTF): New macro.
60933         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
60934         and REPLACE_ICONV_UTF.
60935         * modules/iconv_open (Depends-on): Add c-strcase.
60936         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
60937         ICONV_CONST.
60938         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
60939
60940 2007-10-13  Albert Chin  <china@thewrittenword.com>
60941             Bruno Haible  <bruno@clisp.org>
60942
60943         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
60944         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
60945
60946 2007-10-13  Bruno Haible  <bruno@clisp.org>
60947
60948         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
60949         defined, use the ISO C99 inline semantics.
60950         * lib/argp.h (ARGP_EI): Likewise.
60951
60952 2007-10-13  Bruno Haible  <bruno@clisp.org>
60953
60954         Handle 'inline' change in gcc 4.3.0.
60955         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
60956         argp_fmtstream_write, argp_fmtstream_set_lmargin,
60957         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
60958         argp_fmtstream_point): Disable 'extern' declaration if the function
60959         definition is going to be provided inline.
60960         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
60961         semantics, not the ISO C99 inline semantics.
60962         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
60963         'extern' declaration if the function definition is going to be provided
60964         inline.
60965         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
60966         the GNU C inline semantics, not the ISO C99 inline semantics. With
60967         GCC 4.2, avoid a warning.
60968
60969 2007-10-13  Bruno Haible  <bruno@clisp.org>
60970
60971         * lib/freading.h (freading): Enable the use of __freading for
60972         glibc >= 2.7.
60973         * lib/freading.c (freading): Likewise.
60974
60975 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60976
60977         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
60978         "warning: C99 inline functions are not supported; using GNU89".
60979
60980 2007-10-12  Bruno Haible  <bruno@clisp.org>
60981
60982         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
60983         of 2.
60984         * tests/test-ceilf2.c: New file.
60985         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
60986
60987         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
60988         * modules/ceilf-tests: Update.
60989
60990 2007-10-12  Bruno Haible  <bruno@clisp.org>
60991
60992         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
60993         of 2.
60994         * tests/test-floorf2.c: New file.
60995         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
60996
60997         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
60998         * modules/floorf-tests: Update.
60999
61000 2007-10-12  Bruno Haible  <bruno@clisp.org>
61001
61002         * tests/test-trunc2.c: New file.
61003         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61004
61005         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61006         * modules/trunc-tests: Update.
61007
61008 2007-10-12  Bruno Haible  <bruno@clisp.org>
61009
61010         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61011         of 2.
61012         * tests/test-truncf2.c: New file.
61013         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61014
61015         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61016         * modules/truncf-tests: Update.
61017
61018 2007-10-11  Eric Blake  <ebb9@byu.net>
61019
61020         Don't claim strerror is broken on Interix.
61021         * doc/functions/strerror.texi (strerror): Known broken systems are
61022         now Solaris 8, and not Interix.
61023         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61024         Interix on cross-compile.
61025         Reported by Martin Koeppe in
61026         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61027
61028 2007-10-11  Bruno Haible  <bruno@clisp.org>
61029
61030         * modules/i-ring-tests: New file.
61031         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61032         instead of assert.
61033
61034 2007-10-11  Bruno Haible  <bruno@clisp.org>
61035
61036         * modules/filenamecat-tests: New file.
61037         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61038         * lib/filenamecat.c: Remove test code.
61039
61040 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61041
61042         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61043
61044         * lib/strerror.c: Include <string.h> always, to test interface,
61045         and to remove the need for the dummy.
61046         Include intprops.h to compute width instead of doing it ourselves
61047         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61048         (strerror): Define it to return NULL if there's no system strerror.
61049         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61050         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61051         ancient pre-strerror Unix systems well any more.  Saying "unknown
61052         system error" is enough.
61053         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61054         simpler strerror.c implementation.
61055         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61056         Simplify the tests to reflect the simpler strerror implementation.
61057         * modules/strerror (Depends-on): Add intprops.
61058
61059 2007-10-09  Eric Blake  <ebb9@byu.net>
61060
61061         Silence test-fpending.
61062         * modules/fpending-tests (Files): Add wrapper script.
61063         * tests/test-fpending.sh: New file.
61064
61065 2007-10-09  Bruno Haible  <bruno@clisp.org>
61066
61067         * MODULES.html.sh (func_module): Don't create a hyperlink for
61068         function names like 'printf_frexp'.
61069         (Misc): Add crc, memxor.
61070         (Characteristics of floating types): New section.
61071         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61072         isnanf-nolibm, signbit, trunc, truncf, truncl.
61073         (Enhancements for ISO C 99 functions): New subsection Input/output.
61074         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61075         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61076         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61077         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61078         (Enhancements for POSIX:2001 functions): Add chdir-long.
61079         (File system functions): Add areadlink, chdir-safer, read-file.
61080         Remove cycle-check.
61081         (File system as inode set): New section.
61082         (Date and time): Add gethrxtime.
61083         (Multithreading): Add openmp.
61084         (Internationalization functions): Add localename.
61085         (Unicode string functions): Add unistr/u*-mbsnlen.
61086         (Support for maintaining and releasing projects): Add git-version-gen.
61087         (Lone files): Remove directories.
61088
61089 2007-10-08  Ben Pfaff  <blp@gnu.org>
61090
61091         * lib/xmalloca.h: Fix typo in comment.
61092
61093 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61094
61095         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
61096         when avoiding problems with integer overflow.  Use a portable test
61097         instead.
61098
61099 2007-10-08  Simon Josefsson  <simon@josefsson.org>
61100
61101         * modules/dummy (License): Change to LGPLv2+.
61102         * modules/float (License): Likewise
61103         * modules/realloc (License): Likewise
61104         * modules/stdlib (License): Likewise
61105
61106 2007-10-07  Bruno Haible  <bruno@clisp.org>
61107
61108         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
61109         * floor.c (TWO_MANT_DIG): Likewise.
61110         * ceil.c (TWO_MANT_DIG): Likewise.
61111         Reported by Ben Pfaff.
61112
61113 2007-10-07  Bruno Haible  <bruno@clisp.org>
61114
61115         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
61116         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
61117         * lib/frexp.c (FUNC): Likewise.
61118         * lib/printf-frexp.h (printf_frexp): Likewise.
61119         * lib/printf-frexpl.h (printf_frexpl): Likewise.
61120         * lib/printf-frexp.c (FUNC): Likewise.
61121         Suggested by Jim Meyering.
61122
61123 2007-10-07  Jim Meyering  <meyering@redhat.com>
61124
61125         Make xnanosleep's integer overflow test more robust.
61126         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
61127         so that gcc-4.3.0 doesn't optimize away this test for overflow.
61128
61129 2007-10-07  Bruno Haible  <bruno@clisp.org>
61130
61131         * NEWS: Mention the license change.
61132
61133         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
61134         abbreviations in the modules files.
61135
61136         Change copyright notice from GPLv2+ to GPLv3+.
61137         * README: Change copyright notice.
61138         * MODULES.html.sh: Likewise.
61139         * build-aux/bootstrap.conf: Likewise.
61140         * build-aux/config.libpath: Likewise.
61141         * build-aux/csharpcomp.sh.in: Likewise.
61142         * build-aux/csharpexec.sh.in: Likewise.
61143         * build-aux/install-reloc: Likewise.
61144         * build-aux/javacomp.sh.in: Likewise.
61145         * build-aux/javaexec.sh.in: Likewise.
61146         * build-aux/ldd.sh.in: Likewise.
61147         * build-aux/reloc-ldflags: Likewise.
61148         * build-aux/relocatable.sh.in: Likewise.
61149         * build-aux/x-to-1.in: Likewise.
61150         * check-module: Likewise.
61151         * config/srclistvars.sh: Likewise.
61152         * gnulib-tool: Likewise.
61153         * lib/acl-internal.h: Likewise.
61154         * lib/acl.c: Likewise.
61155         * lib/acl.h: Likewise.
61156         * lib/acl_entries.c: Likewise.
61157         * lib/areadlink-with-size.c: Likewise.
61158         * lib/areadlink.c: Likewise.
61159         * lib/areadlink.h: Likewise.
61160         * lib/argmatch.c: Likewise.
61161         * lib/argmatch.h: Likewise.
61162         * lib/argp-ba.c: Likewise.
61163         * lib/argp-eexst.c: Likewise.
61164         * lib/argp-fmtstream.c: Likewise.
61165         * lib/argp-fmtstream.h: Likewise.
61166         * lib/argp-fs-xinl.c: Likewise.
61167         * lib/argp-help.c: Likewise.
61168         * lib/argp-namefrob.h: Likewise.
61169         * lib/argp-parse.c: Likewise.
61170         * lib/argp-pin.c: Likewise.
61171         * lib/argp-pv.c: Likewise.
61172         * lib/argp-pvh.c: Likewise.
61173         * lib/argp-xinl.c: Likewise.
61174         * lib/argp.h: Likewise.
61175         * lib/at-func.c: Likewise.
61176         * lib/atanl.c: Likewise.
61177         * lib/backupfile.c: Likewise.
61178         * lib/backupfile.h: Likewise.
61179         * lib/basename.c: Likewise.
61180         * lib/binary-io.h: Likewise.
61181         * lib/byteswap.in.h: Likewise.
61182         * lib/c-stack.c: Likewise.
61183         * lib/c-stack.h: Likewise.
61184         * lib/c-strcasestr.c: Likewise.
61185         * lib/c-strcasestr.h: Likewise.
61186         * lib/c-strstr.c: Likewise.
61187         * lib/c-strstr.h: Likewise.
61188         * lib/c-strtod.c: Likewise.
61189         * lib/calloc.c: Likewise.
61190         * lib/canon-host.c: Likewise.
61191         * lib/canon-host.h: Likewise.
61192         * lib/canonicalize-lgpl.c: Likewise.
61193         * lib/canonicalize.c: Likewise.
61194         * lib/canonicalize.h: Likewise.
61195         * lib/ceil.c: Likewise.
61196         * lib/ceilf.c: Likewise.
61197         * lib/ceill.c: Likewise.
61198         * lib/chdir-long.c: Likewise.
61199         * lib/chdir-long.h: Likewise.
61200         * lib/chdir-safer.c: Likewise.
61201         * lib/chdir-safer.h: Likewise.
61202         * lib/chown.c: Likewise.
61203         * lib/classpath.c: Likewise.
61204         * lib/classpath.h: Likewise.
61205         * lib/clean-temp.c: Likewise.
61206         * lib/clean-temp.h: Likewise.
61207         * lib/cloexec.c: Likewise.
61208         * lib/close-stream.c: Likewise.
61209         * lib/closein.c: Likewise.
61210         * lib/closein.h: Likewise.
61211         * lib/closeout.c: Likewise.
61212         * lib/closeout.h: Likewise.
61213         * lib/concat-filename.c: Likewise.
61214         * lib/copy-file.c: Likewise.
61215         * lib/copy-file.h: Likewise.
61216         * lib/count-one-bits.h: Likewise.
61217         * lib/crc.c: Likewise.
61218         * lib/crc.h: Likewise.
61219         * lib/creat-safer.c: Likewise.
61220         * lib/csharpcomp.c: Likewise.
61221         * lib/csharpcomp.h: Likewise.
61222         * lib/csharpexec.c: Likewise.
61223         * lib/csharpexec.h: Likewise.
61224         * lib/cycle-check.c: Likewise.
61225         * lib/cycle-check.h: Likewise.
61226         * lib/diacrit.c: Likewise.
61227         * lib/diacrit.h: Likewise.
61228         * lib/diffseq.h: Likewise.
61229         * lib/dirchownmod.c: Likewise.
61230         * lib/dirent.in.h: Likewise.
61231         * lib/dirfd.c: Likewise.
61232         * lib/dirfd.h: Likewise.
61233         * lib/dirname.c: Likewise.
61234         * lib/dirname.h: Likewise.
61235         * lib/dummy.c: Likewise.
61236         * lib/dup-safer.c: Likewise.
61237         * lib/dup2.c: Likewise.
61238         * lib/eealloc.h: Likewise.
61239         * lib/error.c: Likewise.
61240         * lib/error.h: Likewise.
61241         * lib/euidaccess.c: Likewise.
61242         * lib/exclude.c: Likewise.
61243         * lib/exclude.h: Likewise.
61244         * lib/execute.c: Likewise.
61245         * lib/execute.h: Likewise.
61246         * lib/exitfail.c: Likewise.
61247         * lib/exitfail.h: Likewise.
61248         * lib/expl.c: Likewise.
61249         * lib/fatal-signal.c: Likewise.
61250         * lib/fatal-signal.h: Likewise.
61251         * lib/fbufmode.c: Likewise.
61252         * lib/fbufmode.h: Likewise.
61253         * lib/fchdir.c: Likewise.
61254         * lib/fchmodat.c: Likewise.
61255         * lib/fchownat.c: Likewise.
61256         * lib/fcntl--.h: Likewise.
61257         * lib/fcntl-safer.h: Likewise.
61258         * lib/fcntl.in.h: Likewise.
61259         * lib/fd-safer.c: Likewise.
61260         * lib/fflush.c: Likewise.
61261         * lib/file-has-acl.c: Likewise.
61262         * lib/file-set.c: Likewise.
61263         * lib/file-type.c: Likewise.
61264         * lib/file-type.h: Likewise.
61265         * lib/fileblocks.c: Likewise.
61266         * lib/filemode.c: Likewise.
61267         * lib/filemode.h: Likewise.
61268         * lib/filename.h: Likewise.
61269         * lib/filenamecat.c: Likewise.
61270         * lib/filenamecat.h: Likewise.
61271         * lib/findprog.c: Likewise.
61272         * lib/findprog.h: Likewise.
61273         * lib/float.in.h: Likewise.
61274         * lib/floor.c: Likewise.
61275         * lib/floorf.c: Likewise.
61276         * lib/floorl.c: Likewise.
61277         * lib/fopen-safer.c: Likewise.
61278         * lib/fopen.c: Likewise.
61279         * lib/fpending.c: Likewise.
61280         * lib/fpending.h: Likewise.
61281         * lib/fprintf.c: Likewise.
61282         * lib/fprintftime.h: Likewise.
61283         * lib/fpucw.h: Likewise.
61284         * lib/fpurge.c: Likewise.
61285         * lib/fpurge.h: Likewise.
61286         * lib/freadable.c: Likewise.
61287         * lib/freadable.h: Likewise.
61288         * lib/freadahead.c: Likewise.
61289         * lib/freadahead.h: Likewise.
61290         * lib/freading.c: Likewise.
61291         * lib/freading.h: Likewise.
61292         * lib/free.c: Likewise.
61293         * lib/freopen.c: Likewise.
61294         * lib/frexp.c: Likewise.
61295         * lib/frexpl.c: Likewise.
61296         * lib/fseek.c: Likewise.
61297         * lib/fseterr.c: Likewise.
61298         * lib/fseterr.h: Likewise.
61299         * lib/fstatat.c: Likewise.
61300         * lib/fstrcmp.c: Likewise.
61301         * lib/fstrcmp.h: Likewise.
61302         * lib/fsusage.c: Likewise.
61303         * lib/fsusage.h: Likewise.
61304         * lib/ftell.c: Likewise.
61305         * lib/ftello.c: Likewise.
61306         * lib/fts-cycle.c: Likewise.
61307         * lib/fts.c: Likewise.
61308         * lib/fts_.h: Likewise.
61309         * lib/full-read.c: Likewise.
61310         * lib/full-read.h: Likewise.
61311         * lib/full-write.c: Likewise.
61312         * lib/full-write.h: Likewise.
61313         * lib/fwritable.c: Likewise.
61314         * lib/fwritable.h: Likewise.
61315         * lib/fwriteerror.c: Likewise.
61316         * lib/fwriteerror.h: Likewise.
61317         * lib/fwriting.c: Likewise.
61318         * lib/fwriting.h: Likewise.
61319         * lib/gcd.c: Likewise.
61320         * lib/gcd.h: Likewise.
61321         * lib/getcwd.c: Likewise.
61322         * lib/getdate.h: Likewise.
61323         * lib/getdate.y: Likewise.
61324         * lib/getdomainname.c: Likewise.
61325         * lib/getdomainname.h: Likewise.
61326         * lib/getgroups.c: Likewise.
61327         * lib/gethostname.c: Likewise.
61328         * lib/gethrxtime.c: Likewise.
61329         * lib/gethrxtime.h: Likewise.
61330         * lib/getloadavg.c: Likewise.
61331         * lib/getndelim2.c: Likewise.
61332         * lib/getndelim2.h: Likewise.
61333         * lib/getnline.c: Likewise.
61334         * lib/getnline.h: Likewise.
61335         * lib/getopt.c: Likewise.
61336         * lib/getopt.in.h: Likewise.
61337         * lib/getopt1.c: Likewise.
61338         * lib/getopt_int.h: Likewise.
61339         * lib/getpagesize.h: Likewise.
61340         * lib/getsubopt.c: Likewise.
61341         * lib/gettime.c: Likewise.
61342         * lib/getugroups.c: Likewise.
61343         * lib/getugroups.h: Likewise.
61344         * lib/getusershell.c: Likewise.
61345         * lib/gl_anyavltree_list1.h: Likewise.
61346         * lib/gl_anyavltree_list2.h: Likewise.
61347         * lib/gl_anyhash_list1.h: Likewise.
61348         * lib/gl_anyhash_list2.h: Likewise.
61349         * lib/gl_anylinked_list1.h: Likewise.
61350         * lib/gl_anylinked_list2.h: Likewise.
61351         * lib/gl_anyrbtree_list1.h: Likewise.
61352         * lib/gl_anyrbtree_list2.h: Likewise.
61353         * lib/gl_anytree_list1.h: Likewise.
61354         * lib/gl_anytree_list2.h: Likewise.
61355         * lib/gl_anytree_oset.h: Likewise.
61356         * lib/gl_anytreehash_list1.h: Likewise.
61357         * lib/gl_anytreehash_list2.h: Likewise.
61358         * lib/gl_array_list.c: Likewise.
61359         * lib/gl_array_list.h: Likewise.
61360         * lib/gl_array_oset.c: Likewise.
61361         * lib/gl_array_oset.h: Likewise.
61362         * lib/gl_avltree_list.c: Likewise.
61363         * lib/gl_avltree_list.h: Likewise.
61364         * lib/gl_avltree_oset.c: Likewise.
61365         * lib/gl_avltree_oset.h: Likewise.
61366         * lib/gl_avltreehash_list.c: Likewise.
61367         * lib/gl_avltreehash_list.h: Likewise.
61368         * lib/gl_carray_list.c: Likewise.
61369         * lib/gl_carray_list.h: Likewise.
61370         * lib/gl_linked_list.c: Likewise.
61371         * lib/gl_linked_list.h: Likewise.
61372         * lib/gl_linkedhash_list.c: Likewise.
61373         * lib/gl_linkedhash_list.h: Likewise.
61374         * lib/gl_list.c: Likewise.
61375         * lib/gl_list.h: Likewise.
61376         * lib/gl_oset.c: Likewise.
61377         * lib/gl_oset.h: Likewise.
61378         * lib/gl_rbtree_list.c: Likewise.
61379         * lib/gl_rbtree_list.h: Likewise.
61380         * lib/gl_rbtree_oset.c: Likewise.
61381         * lib/gl_rbtree_oset.h: Likewise.
61382         * lib/gl_rbtreehash_list.c: Likewise.
61383         * lib/gl_rbtreehash_list.h: Likewise.
61384         * lib/gl_sublist.c: Likewise.
61385         * lib/gl_sublist.h: Likewise.
61386         * lib/group-member.c: Likewise.
61387         * lib/group-member.h: Likewise.
61388         * lib/hard-locale.c: Likewise.
61389         * lib/hard-locale.h: Likewise.
61390         * lib/hash-pjw.c: Likewise.
61391         * lib/hash-pjw.h: Likewise.
61392         * lib/hash-triple.c: Likewise.
61393         * lib/hash.c: Likewise.
61394         * lib/hash.h: Likewise.
61395         * lib/human.c: Likewise.
61396         * lib/human.h: Likewise.
61397         * lib/i-ring.c: Likewise.
61398         * lib/i-ring.h: Likewise.
61399         * lib/idcache.c: Likewise.
61400         * lib/imaxabs.c: Likewise.
61401         * lib/imaxdiv.c: Likewise.
61402         * lib/inet_pton.c: Likewise.
61403         * lib/inet_pton.h: Likewise.
61404         * lib/intprops.h: Likewise.
61405         * lib/inttostr.c: Likewise.
61406         * lib/inttostr.h: Likewise.
61407         * lib/inttypes.in.h: Likewise.
61408         * lib/isapipe.c: Likewise.
61409         * lib/isdir.c: Likewise.
61410         * lib/isnan.c: Likewise.
61411         * lib/isnan.h: Likewise.
61412         * lib/isnanf.c: Likewise.
61413         * lib/isnanf.h: Likewise.
61414         * lib/isnanl-nolibm.h: Likewise.
61415         * lib/isnanl.c: Likewise.
61416         * lib/isnanl.h: Likewise.
61417         * lib/javacomp.c: Likewise.
61418         * lib/javacomp.h: Likewise.
61419         * lib/javaexec.c: Likewise.
61420         * lib/javaexec.h: Likewise.
61421         * lib/javaversion.c: Likewise.
61422         * lib/javaversion.h: Likewise.
61423         * lib/javaversion.java: Likewise.
61424         * lib/lbrkprop.h: Likewise.
61425         * lib/lchmod.h: Likewise.
61426         * lib/lchown.c: Likewise.
61427         * lib/ldexpl.c: Likewise.
61428         * lib/linebreak.c: Likewise.
61429         * lib/linebreak.h: Likewise.
61430         * lib/linebuffer.c: Likewise.
61431         * lib/linebuffer.h: Likewise.
61432         * lib/locale.in.h: Likewise.
61433         * lib/logl.c: Likewise.
61434         * lib/long-options.c: Likewise.
61435         * lib/long-options.h: Likewise.
61436         * lib/lstat.c: Likewise.
61437         * lib/lstat.h: Likewise.
61438         * lib/math.in.h: Likewise.
61439         * lib/mbchar.c: Likewise.
61440         * lib/mbchar.h: Likewise.
61441         * lib/mbfile.h: Likewise.
61442         * lib/mbiter.h: Likewise.
61443         * lib/mbscasecmp.c: Likewise.
61444         * lib/mbscasestr.c: Likewise.
61445         * lib/mbschr.c: Likewise.
61446         * lib/mbscspn.c: Likewise.
61447         * lib/mbslen.c: Likewise.
61448         * lib/mbsncasecmp.c: Likewise.
61449         * lib/mbsnlen.c: Likewise.
61450         * lib/mbspbrk.c: Likewise.
61451         * lib/mbspcasecmp.c: Likewise.
61452         * lib/mbsrchr.c: Likewise.
61453         * lib/mbssep.c: Likewise.
61454         * lib/mbsspn.c: Likewise.
61455         * lib/mbsstr.c: Likewise.
61456         * lib/mbstok_r.c: Likewise.
61457         * lib/mbswidth.c: Likewise.
61458         * lib/mbswidth.h: Likewise.
61459         * lib/mbuiter.h: Likewise.
61460         * lib/memcasecmp.c: Likewise.
61461         * lib/memcasecmp.h: Likewise.
61462         * lib/memchr.c: Likewise.
61463         * lib/memcmp.c: Likewise.
61464         * lib/memcoll.c: Likewise.
61465         * lib/memcoll.h: Likewise.
61466         * lib/memcpy.c: Likewise.
61467         * lib/memrchr.c: Likewise.
61468         * lib/mkancesdirs.c: Likewise.
61469         * lib/mkdir-p.c: Likewise.
61470         * lib/mkdir-p.h: Likewise.
61471         * lib/mkdir.c: Likewise.
61472         * lib/mkdirat.c: Likewise.
61473         * lib/mkdtemp.c: Likewise.
61474         * lib/mkstemp-safer.c: Likewise.
61475         * lib/mkstemp.c: Likewise.
61476         * lib/modechange.c: Likewise.
61477         * lib/modechange.h: Likewise.
61478         * lib/mountlist.c: Likewise.
61479         * lib/mountlist.h: Likewise.
61480         * lib/mpsort.c: Likewise.
61481         * lib/nanosleep.c: Likewise.
61482         * lib/obstack.c: Likewise.
61483         * lib/obstack.h: Likewise.
61484         * lib/open-safer.c: Likewise.
61485         * lib/open.c: Likewise.
61486         * lib/openat-die.c: Likewise.
61487         * lib/openat-priv.h: Likewise.
61488         * lib/openat-proc.c: Likewise.
61489         * lib/openat.c: Likewise.
61490         * lib/openat.h: Likewise.
61491         * lib/pagealign_alloc.c: Likewise.
61492         * lib/pagealign_alloc.h: Likewise.
61493         * lib/physmem.c: Likewise.
61494         * lib/physmem.h: Likewise.
61495         * lib/pipe-safer.c: Likewise.
61496         * lib/pipe.c: Likewise.
61497         * lib/pipe.h: Likewise.
61498         * lib/posixtm.c: Likewise.
61499         * lib/posixtm.h: Likewise.
61500         * lib/posixver.c: Likewise.
61501         * lib/printf-frexp.c: Likewise.
61502         * lib/printf-frexp.h: Likewise.
61503         * lib/printf-frexpl.c: Likewise.
61504         * lib/printf-frexpl.h: Likewise.
61505         * lib/printf.c: Likewise.
61506         * lib/progname.c: Likewise.
61507         * lib/progname.h: Likewise.
61508         * lib/progreloc.c: Likewise.
61509         * lib/putenv.c: Likewise.
61510         * lib/quote.c: Likewise.
61511         * lib/quote.h: Likewise.
61512         * lib/quotearg.c: Likewise.
61513         * lib/quotearg.h: Likewise.
61514         * lib/raise.c: Likewise.
61515         * lib/readline.c: Likewise.
61516         * lib/readline.h: Likewise.
61517         * lib/readlink.c: Likewise.
61518         * lib/readtokens.c: Likewise.
61519         * lib/readtokens.h: Likewise.
61520         * lib/readtokens0.c: Likewise.
61521         * lib/readtokens0.h: Likewise.
61522         * lib/readutmp.c: Likewise.
61523         * lib/readutmp.h: Likewise.
61524         * lib/realloc.c: Likewise.
61525         * lib/relocwrapper.c: Likewise.
61526         * lib/rename-dest-slash.c: Likewise.
61527         * lib/rename.c: Likewise.
61528         * lib/rmdir.c: Likewise.
61529         * lib/rpmatch.c: Likewise.
61530         * lib/safe-read.c: Likewise.
61531         * lib/safe-read.h: Likewise.
61532         * lib/safe-write.c: Likewise.
61533         * lib/safe-write.h: Likewise.
61534         * lib/same-inode.h: Likewise.
61535         * lib/same.c: Likewise.
61536         * lib/same.h: Likewise.
61537         * lib/save-cwd.c: Likewise.
61538         * lib/save-cwd.h: Likewise.
61539         * lib/savedir.c: Likewise.
61540         * lib/savedir.h: Likewise.
61541         * lib/savewd.c: Likewise.
61542         * lib/savewd.h: Likewise.
61543         * lib/search.in.h: Likewise.
61544         * lib/setenv.c: Likewise.
61545         * lib/setenv.h: Likewise.
61546         * lib/settime.c: Likewise.
61547         * lib/sh-quote.c: Likewise.
61548         * lib/sh-quote.h: Likewise.
61549         * lib/sig2str.c: Likewise.
61550         * lib/sig2str.h: Likewise.
61551         * lib/signal.in.h: Likewise.
61552         * lib/signbitd.c: Likewise.
61553         * lib/signbitf.c: Likewise.
61554         * lib/signbitl.c: Likewise.
61555         * lib/sigprocmask.c: Likewise.
61556         * lib/sincosl.c: Likewise.
61557         * lib/sleep.c: Likewise.
61558         * lib/sprintf.c: Likewise.
61559         * lib/sqrtl.c: Likewise.
61560         * lib/stat-time.h: Likewise.
61561         * lib/stdio--.h: Likewise.
61562         * lib/stdio-safer.h: Likewise.
61563         * lib/stdlib--.h: Likewise.
61564         * lib/stdlib-safer.h: Likewise.
61565         * lib/stdlib.in.h: Likewise.
61566         * lib/stpcpy.c: Likewise.
61567         * lib/stpncpy.c: Likewise.
61568         * lib/strchrnul.c: Likewise.
61569         * lib/strcspn.c: Likewise.
61570         * lib/strerror.c: Likewise.
61571         * lib/strftime.c: Likewise.
61572         * lib/strftime.h: Likewise.
61573         * lib/striconveh.c: Likewise.
61574         * lib/striconveh.h: Likewise.
61575         * lib/striconveha.c: Likewise.
61576         * lib/striconveha.h: Likewise.
61577         * lib/stripslash.c: Likewise.
61578         * lib/strnlen1.c: Likewise.
61579         * lib/strnlen1.h: Likewise.
61580         * lib/strtod.c: Likewise.
61581         * lib/strtoimax.c: Likewise.
61582         * lib/strtok_r.c: Likewise.
61583         * lib/strtol.c: Likewise.
61584         * lib/strtoll.c: Likewise.
61585         * lib/strtoul.c: Likewise.
61586         * lib/strtoull.c: Likewise.
61587         * lib/sysexits.in.h: Likewise.
61588         * lib/tempname.c: Likewise.
61589         * lib/tempname.h: Likewise.
61590         * lib/timespec.h: Likewise.
61591         * lib/tls.c: Likewise.
61592         * lib/tls.h: Likewise.
61593         * lib/tmpdir.c: Likewise.
61594         * lib/tmpdir.h: Likewise.
61595         * lib/tmpfile-safer.c: Likewise.
61596         * lib/tmpfile.c: Likewise.
61597         * lib/trigl.c: Likewise.
61598         * lib/trigl.h: Likewise.
61599         * lib/trim.c: Likewise.
61600         * lib/trim.h: Likewise.
61601         * lib/trunc.c: Likewise.
61602         * lib/truncf.c: Likewise.
61603         * lib/truncl.c: Likewise.
61604         * lib/tsearch.c: Likewise.
61605         * lib/unicodeio.c: Likewise.
61606         * lib/unicodeio.h: Likewise.
61607         * lib/unistd--.h: Likewise.
61608         * lib/unistd-safer.h: Likewise.
61609         * lib/unistdio/ulc-fprintf.c: Likewise.
61610         * lib/unistdio/ulc-vfprintf.c: Likewise.
61611         * lib/unlinkdir.c: Likewise.
61612         * lib/unlinkdir.h: Likewise.
61613         * lib/unlocked-io.h: Likewise.
61614         * lib/unsetenv.c: Likewise.
61615         * lib/userspec.c: Likewise.
61616         * lib/utime.c: Likewise.
61617         * lib/utimecmp.c: Likewise.
61618         * lib/utimecmp.h: Likewise.
61619         * lib/utimens.c: Likewise.
61620         * lib/verify.h: Likewise.
61621         * lib/verror.c: Likewise.
61622         * lib/verror.h: Likewise.
61623         * lib/version-etc-fsf.c: Likewise.
61624         * lib/version-etc.c: Likewise.
61625         * lib/version-etc.h: Likewise.
61626         * lib/vfprintf.c: Likewise.
61627         * lib/vprintf.c: Likewise.
61628         * lib/vsprintf.c: Likewise.
61629         * lib/w32spawn.h: Likewise.
61630         * lib/wait-process.c: Likewise.
61631         * lib/wait-process.h: Likewise.
61632         * lib/wcwidth.c: Likewise.
61633         * lib/write-any-file.c: Likewise.
61634         * lib/xalloc-die.c: Likewise.
61635         * lib/xalloc.h: Likewise.
61636         * lib/xasprintf.c: Likewise.
61637         * lib/xgetcwd.c: Likewise.
61638         * lib/xgetcwd.h: Likewise.
61639         * lib/xgetdomainname.c: Likewise.
61640         * lib/xgetdomainname.h: Likewise.
61641         * lib/xgethostname.c: Likewise.
61642         * lib/xmalloc.c: Likewise.
61643         * lib/xmalloca.c: Likewise.
61644         * lib/xmalloca.h: Likewise.
61645         * lib/xmemcoll.c: Likewise.
61646         * lib/xnanosleep.c: Likewise.
61647         * lib/xreadlink.c: Likewise.
61648         * lib/xreadlink.h: Likewise.
61649         * lib/xsetenv.c: Likewise.
61650         * lib/xsetenv.h: Likewise.
61651         * lib/xstriconv.c: Likewise.
61652         * lib/xstriconv.h: Likewise.
61653         * lib/xstrndup.c: Likewise.
61654         * lib/xstrndup.h: Likewise.
61655         * lib/xstrtod.c: Likewise.
61656         * lib/xstrtod.h: Likewise.
61657         * lib/xstrtol-error.c: Likewise.
61658         * lib/xstrtol.c: Likewise.
61659         * lib/xstrtol.h: Likewise.
61660         * lib/xtime.h: Likewise.
61661         * lib/xvasprintf.c: Likewise.
61662         * lib/xvasprintf.h: Likewise.
61663         * lib/yesno.c: Likewise.
61664         * lib/yesno.h: Likewise.
61665         * posix-modules: Likewise.
61666         * tests/test-alloca-opt.c: Likewise.
61667         * tests/test-arcfour.c: Likewise.
61668         * tests/test-arctwo.c: Likewise.
61669         * tests/test-argmatch.c: Likewise.
61670         * tests/test-argp-2.sh: Likewise.
61671         * tests/test-argp.c: Likewise.
61672         * tests/test-arpa_inet.c: Likewise.
61673         * tests/test-array_list.c: Likewise.
61674         * tests/test-array_oset.c: Likewise.
61675         * tests/test-atexit.c: Likewise.
61676         * tests/test-avltree_list.c: Likewise.
61677         * tests/test-avltree_oset.c: Likewise.
61678         * tests/test-avltreehash_list.c: Likewise.
61679         * tests/test-base64.c: Likewise.
61680         * tests/test-binary-io.c: Likewise.
61681         * tests/test-byteswap.c: Likewise.
61682         * tests/test-c-ctype.c: Likewise.
61683         * tests/test-c-strcasecmp.c: Likewise.
61684         * tests/test-c-strcasestr.c: Likewise.
61685         * tests/test-c-strncasecmp.c: Likewise.
61686         * tests/test-c-strstr.c: Likewise.
61687         * tests/test-canonicalize-lgpl.c: Likewise.
61688         * tests/test-canonicalize.c: Likewise.
61689         * tests/test-carray_list.c: Likewise.
61690         * tests/test-ceilf.c: Likewise.
61691         * tests/test-ceill.c: Likewise.
61692         * tests/test-count-one-bits.c: Likewise.
61693         * tests/test-crc.c: Likewise.
61694         * tests/test-dirname.c: Likewise.
61695         * tests/test-fbufmode.c: Likewise.
61696         * tests/test-fcntl.c: Likewise.
61697         * tests/test-fflush.c: Likewise.
61698         * tests/test-floorf.c: Likewise.
61699         * tests/test-floorl.c: Likewise.
61700         * tests/test-fopen.c: Likewise.
61701         * tests/test-fprintf-posix.c: Likewise.
61702         * tests/test-fprintf-posix.h: Likewise.
61703         * tests/test-fpurge.c: Likewise.
61704         * tests/test-freadable.c: Likewise.
61705         * tests/test-freadahead.c: Likewise.
61706         * tests/test-freading.c: Likewise.
61707         * tests/test-freopen.c: Likewise.
61708         * tests/test-frexp.c: Likewise.
61709         * tests/test-frexpl.c: Likewise.
61710         * tests/test-fseek.c: Likewise.
61711         * tests/test-fseeko.c: Likewise.
61712         * tests/test-fseterr.c: Likewise.
61713         * tests/test-fstrcmp.c: Likewise.
61714         * tests/test-ftell.c: Likewise.
61715         * tests/test-ftello.c: Likewise.
61716         * tests/test-fwritable.c: Likewise.
61717         * tests/test-fwriting.c: Likewise.
61718         * tests/test-getaddrinfo.c: Likewise.
61719         * tests/test-getpass.c: Likewise.
61720         * tests/test-gettimeofday.c: Likewise.
61721         * tests/test-hmac-md5.c: Likewise.
61722         * tests/test-hmac-sha1.c: Likewise.
61723         * tests/test-iconv.c: Likewise.
61724         * tests/test-iconvme.c: Likewise.
61725         * tests/test-inttypes.c: Likewise.
61726         * tests/test-isnan.c: Likewise.
61727         * tests/test-isnanf.c: Likewise.
61728         * tests/test-isnanl-nolibm.c: Likewise.
61729         * tests/test-isnanl.c: Likewise.
61730         * tests/test-isnanl.h: Likewise.
61731         * tests/test-ldexpl.c: Likewise.
61732         * tests/test-linked_list.c: Likewise.
61733         * tests/test-linkedhash_list.c: Likewise.
61734         * tests/test-locale.c: Likewise.
61735         * tests/test-localename.c: Likewise.
61736         * tests/test-lock.c: Likewise.
61737         * tests/test-lseek.c: Likewise.
61738         * tests/test-malloca.c: Likewise.
61739         * tests/test-math.c: Likewise.
61740         * tests/test-mbscasecmp.c: Likewise.
61741         * tests/test-mbscasestr1.c: Likewise.
61742         * tests/test-mbscasestr2.c: Likewise.
61743         * tests/test-mbscasestr3.c: Likewise.
61744         * tests/test-mbscasestr4.c: Likewise.
61745         * tests/test-mbschr.c: Likewise.
61746         * tests/test-mbscspn.c: Likewise.
61747         * tests/test-mbsncasecmp.c: Likewise.
61748         * tests/test-mbspbrk.c: Likewise.
61749         * tests/test-mbspcasecmp.c: Likewise.
61750         * tests/test-mbsrchr.c: Likewise.
61751         * tests/test-mbsspn.c: Likewise.
61752         * tests/test-mbsstr1.c: Likewise.
61753         * tests/test-mbsstr2.c: Likewise.
61754         * tests/test-mbsstr3.c: Likewise.
61755         * tests/test-md5.c: Likewise.
61756         * tests/test-memmem.c: Likewise.
61757         * tests/test-netinet_in.c: Likewise.
61758         * tests/test-open.c: Likewise.
61759         * tests/test-printf-frexp.c: Likewise.
61760         * tests/test-printf-frexpl.c: Likewise.
61761         * tests/test-printf-posix.c: Likewise.
61762         * tests/test-printf-posix.h: Likewise.
61763         * tests/test-rbtree_list.c: Likewise.
61764         * tests/test-rbtree_oset.c: Likewise.
61765         * tests/test-rbtreehash_list.c: Likewise.
61766         * tests/test-read-file.c: Likewise.
61767         * tests/test-rijndael.c: Likewise.
61768         * tests/test-search.c: Likewise.
61769         * tests/test-signbit.c: Likewise.
61770         * tests/test-sleep.c: Likewise.
61771         * tests/test-snprintf-posix.c: Likewise.
61772         * tests/test-snprintf-posix.h: Likewise.
61773         * tests/test-snprintf.c: Likewise.
61774         * tests/test-sprintf-posix.c: Likewise.
61775         * tests/test-sprintf-posix.h: Likewise.
61776         * tests/test-stat-time.c: Likewise.
61777         * tests/test-stdbool.c: Likewise.
61778         * tests/test-stdint.c: Likewise.
61779         * tests/test-stdio.c: Likewise.
61780         * tests/test-stdlib.c: Likewise.
61781         * tests/test-stpncpy.c: Likewise.
61782         * tests/test-strcasestr.c: Likewise.
61783         * tests/test-striconv.c: Likewise.
61784         * tests/test-striconveh.c: Likewise.
61785         * tests/test-striconveha.c: Likewise.
61786         * tests/test-string.c: Likewise.
61787         * tests/test-sys_select.c: Likewise.
61788         * tests/test-sys_socket.c: Likewise.
61789         * tests/test-sys_stat.c: Likewise.
61790         * tests/test-sys_time.c: Likewise.
61791         * tests/test-sysexits.c: Likewise.
61792         * tests/test-time.c: Likewise.
61793         * tests/test-tls.c: Likewise.
61794         * tests/test-trunc.c: Likewise.
61795         * tests/test-truncf.c: Likewise.
61796         * tests/test-truncl.c: Likewise.
61797         * tests/test-unistd.c: Likewise.
61798         * tests/test-vasnprintf-posix.c: Likewise.
61799         * tests/test-vasnprintf-posix2.c: Likewise.
61800         * tests/test-vasnprintf.c: Likewise.
61801         * tests/test-vasprintf-posix.c: Likewise.
61802         * tests/test-vasprintf.c: Likewise.
61803         * tests/test-verify.c: Likewise.
61804         * tests/test-vfprintf-posix.c: Likewise.
61805         * tests/test-vprintf-posix.c: Likewise.
61806         * tests/test-vsnprintf-posix.c: Likewise.
61807         * tests/test-vsnprintf.c: Likewise.
61808         * tests/test-vsprintf-posix.c: Likewise.
61809         * tests/test-wchar.c: Likewise.
61810         * tests/test-wctype.c: Likewise.
61811         * tests/test-wcwidth.c: Likewise.
61812         * tests/test-xstrtol.c: Likewise.
61813         * tests/test-xvasprintf.c: Likewise.
61814         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
61815         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
61816         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61817         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61818         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61819         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
61820         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61821         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61822         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61823         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
61824         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61825         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61826         * tests/uniname/test-uninames.c: Likewise.
61827         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
61828         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
61829         * tests/unistdio/test-u16-printf1.h: Likewise.
61830         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
61831         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
61832         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
61833         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
61834         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
61835         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
61836         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
61837         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
61838         * tests/unistdio/test-u32-printf1.h: Likewise.
61839         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
61840         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
61841         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
61842         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
61843         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
61844         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
61845         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
61846         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
61847         * tests/unistdio/test-u8-printf1.h: Likewise.
61848         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
61849         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
61850         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
61851         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
61852         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
61853         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
61854         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
61855         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
61856         * tests/unistdio/test-ulc-printf1.h: Likewise.
61857         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
61858         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
61859         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
61860         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
61861         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
61862         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
61863         * tests/uniwidth/test-u16-strwidth.c: Likewise.
61864         * tests/uniwidth/test-u16-width.c: Likewise.
61865         * tests/uniwidth/test-u32-strwidth.c: Likewise.
61866         * tests/uniwidth/test-u32-width.c: Likewise.
61867         * tests/uniwidth/test-u8-strwidth.c: Likewise.
61868         * tests/uniwidth/test-u8-width.c: Likewise.
61869         * tests/uniwidth/test-uc_width.c: Likewise.
61870         * config/srclist-update: Likewise.
61871         (fixlicense): Update to GPLv3+.
61872
61873         Change copyright notice from LGPLv2.1+ to LGPLv3+.
61874         * tests/test-tsearch.c: Change copyright notice.
61875
61876         Change copyright notice from LGPLv2.0+ to LGPLv3+.
61877         * lib/c-strcaseeq.h: Change copyright notice.
61878         * lib/streq.h: Likewise.
61879         * lib/uniconv.h: Likewise.
61880         * lib/uniconv/u-conv-from-enc.h: Likewise.
61881         * lib/uniconv/u-conv-to-enc.h: Likewise.
61882         * lib/uniconv/u-strconv-from-enc.h: Likewise.
61883         * lib/uniconv/u-strconv-to-enc.h: Likewise.
61884         * lib/uniconv/u16-conv-from-enc.c: Likewise.
61885         * lib/uniconv/u16-conv-to-enc.c: Likewise.
61886         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
61887         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
61888         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
61889         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
61890         * lib/uniconv/u32-conv-from-enc.c: Likewise.
61891         * lib/uniconv/u32-conv-to-enc.c: Likewise.
61892         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
61893         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
61894         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
61895         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
61896         * lib/uniconv/u8-conv-from-enc.c: Likewise.
61897         * lib/uniconv/u8-conv-to-enc.c: Likewise.
61898         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
61899         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
61900         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
61901         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
61902         * lib/uniname.h: Likewise.
61903         * lib/uniname/uniname.c: Likewise.
61904         * lib/unistdio.h: Likewise.
61905         * lib/unistdio/u-asnprintf.h: Likewise.
61906         * lib/unistdio/u-asprintf.h: Likewise.
61907         * lib/unistdio/u-printf-args.c: Likewise.
61908         * lib/unistdio/u-printf-args.h: Likewise.
61909         * lib/unistdio/u-printf-parse.h: Likewise.
61910         * lib/unistdio/u-snprintf.h: Likewise.
61911         * lib/unistdio/u-sprintf.h: Likewise.
61912         * lib/unistdio/u-vasprintf.h: Likewise.
61913         * lib/unistdio/u-vsnprintf.h: Likewise.
61914         * lib/unistdio/u-vsprintf.h: Likewise.
61915         * lib/unistdio/u16-asnprintf.c: Likewise.
61916         * lib/unistdio/u16-asprintf.c: Likewise.
61917         * lib/unistdio/u16-printf-parse.c: Likewise.
61918         * lib/unistdio/u16-snprintf.c: Likewise.
61919         * lib/unistdio/u16-sprintf.c: Likewise.
61920         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
61921         * lib/unistdio/u16-u16-asprintf.c: Likewise.
61922         * lib/unistdio/u16-u16-snprintf.c: Likewise.
61923         * lib/unistdio/u16-u16-sprintf.c: Likewise.
61924         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
61925         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
61926         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
61927         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
61928         * lib/unistdio/u16-vasnprintf.c: Likewise.
61929         * lib/unistdio/u16-vasprintf.c: Likewise.
61930         * lib/unistdio/u16-vsnprintf.c: Likewise.
61931         * lib/unistdio/u16-vsprintf.c: Likewise.
61932         * lib/unistdio/u32-asnprintf.c: Likewise.
61933         * lib/unistdio/u32-asprintf.c: Likewise.
61934         * lib/unistdio/u32-printf-parse.c: Likewise.
61935         * lib/unistdio/u32-snprintf.c: Likewise.
61936         * lib/unistdio/u32-sprintf.c: Likewise.
61937         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
61938         * lib/unistdio/u32-u32-asprintf.c: Likewise.
61939         * lib/unistdio/u32-u32-snprintf.c: Likewise.
61940         * lib/unistdio/u32-u32-sprintf.c: Likewise.
61941         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
61942         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
61943         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
61944         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
61945         * lib/unistdio/u32-vasnprintf.c: Likewise.
61946         * lib/unistdio/u32-vasprintf.c: Likewise.
61947         * lib/unistdio/u32-vsnprintf.c: Likewise.
61948         * lib/unistdio/u32-vsprintf.c: Likewise.
61949         * lib/unistdio/u8-asnprintf.c: Likewise.
61950         * lib/unistdio/u8-asprintf.c: Likewise.
61951         * lib/unistdio/u8-printf-parse.c: Likewise.
61952         * lib/unistdio/u8-snprintf.c: Likewise.
61953         * lib/unistdio/u8-sprintf.c: Likewise.
61954         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
61955         * lib/unistdio/u8-u8-asprintf.c: Likewise.
61956         * lib/unistdio/u8-u8-snprintf.c: Likewise.
61957         * lib/unistdio/u8-u8-sprintf.c: Likewise.
61958         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
61959         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
61960         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
61961         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
61962         * lib/unistdio/u8-vasnprintf.c: Likewise.
61963         * lib/unistdio/u8-vasprintf.c: Likewise.
61964         * lib/unistdio/u8-vsnprintf.c: Likewise.
61965         * lib/unistdio/u8-vsprintf.c: Likewise.
61966         * lib/unistdio/ulc-asnprintf.c: Likewise.
61967         * lib/unistdio/ulc-asprintf.c: Likewise.
61968         * lib/unistdio/ulc-printf-parse.c: Likewise.
61969         * lib/unistdio/ulc-snprintf.c: Likewise.
61970         * lib/unistdio/ulc-sprintf.c: Likewise.
61971         * lib/unistdio/ulc-vasnprintf.c: Likewise.
61972         * lib/unistdio/ulc-vasprintf.c: Likewise.
61973         * lib/unistdio/ulc-vsnprintf.c: Likewise.
61974         * lib/unistdio/ulc-vsprintf.c: Likewise.
61975         * lib/unistr.h: Likewise.
61976         * lib/unistr/u-cpy-alloc.h: Likewise.
61977         * lib/unistr/u-cpy.h: Likewise.
61978         * lib/unistr/u-endswith.h: Likewise.
61979         * lib/unistr/u-move.h: Likewise.
61980         * lib/unistr/u-set.h: Likewise.
61981         * lib/unistr/u-startswith.h: Likewise.
61982         * lib/unistr/u-stpcpy.h: Likewise.
61983         * lib/unistr/u-stpncpy.h: Likewise.
61984         * lib/unistr/u-strcat.h: Likewise.
61985         * lib/unistr/u-strcpy.h: Likewise.
61986         * lib/unistr/u-strcspn.h: Likewise.
61987         * lib/unistr/u-strdup.h: Likewise.
61988         * lib/unistr/u-strlen.h: Likewise.
61989         * lib/unistr/u-strncat.h: Likewise.
61990         * lib/unistr/u-strncpy.h: Likewise.
61991         * lib/unistr/u-strnlen.h: Likewise.
61992         * lib/unistr/u-strpbrk.h: Likewise.
61993         * lib/unistr/u-strspn.h: Likewise.
61994         * lib/unistr/u-strstr.h: Likewise.
61995         * lib/unistr/u-strtok.h: Likewise.
61996         * lib/unistr/u16-check.c: Likewise.
61997         * lib/unistr/u16-chr.c: Likewise.
61998         * lib/unistr/u16-cmp.c: Likewise.
61999         * lib/unistr/u16-cpy-alloc.c: Likewise.
62000         * lib/unistr/u16-cpy.c: Likewise.
62001         * lib/unistr/u16-endswith.c: Likewise.
62002         * lib/unistr/u16-mblen.c: Likewise.
62003         * lib/unistr/u16-mbsnlen.c: Likewise.
62004         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62005         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62006         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62007         * lib/unistr/u16-mbtouc.c: Likewise.
62008         * lib/unistr/u16-mbtoucr.c: Likewise.
62009         * lib/unistr/u16-move.c: Likewise.
62010         * lib/unistr/u16-next.c: Likewise.
62011         * lib/unistr/u16-prev.c: Likewise.
62012         * lib/unistr/u16-set.c: Likewise.
62013         * lib/unistr/u16-startswith.c: Likewise.
62014         * lib/unistr/u16-stpcpy.c: Likewise.
62015         * lib/unistr/u16-stpncpy.c: Likewise.
62016         * lib/unistr/u16-strcat.c: Likewise.
62017         * lib/unistr/u16-strchr.c: Likewise.
62018         * lib/unistr/u16-strcmp.c: Likewise.
62019         * lib/unistr/u16-strcpy.c: Likewise.
62020         * lib/unistr/u16-strcspn.c: Likewise.
62021         * lib/unistr/u16-strdup.c: Likewise.
62022         * lib/unistr/u16-strlen.c: Likewise.
62023         * lib/unistr/u16-strmblen.c: Likewise.
62024         * lib/unistr/u16-strmbtouc.c: Likewise.
62025         * lib/unistr/u16-strncat.c: Likewise.
62026         * lib/unistr/u16-strncmp.c: Likewise.
62027         * lib/unistr/u16-strncpy.c: Likewise.
62028         * lib/unistr/u16-strnlen.c: Likewise.
62029         * lib/unistr/u16-strpbrk.c: Likewise.
62030         * lib/unistr/u16-strrchr.c: Likewise.
62031         * lib/unistr/u16-strspn.c: Likewise.
62032         * lib/unistr/u16-strstr.c: Likewise.
62033         * lib/unistr/u16-strtok.c: Likewise.
62034         * lib/unistr/u16-to-u32.c: Likewise.
62035         * lib/unistr/u16-to-u8.c: Likewise.
62036         * lib/unistr/u16-uctomb-aux.c: Likewise.
62037         * lib/unistr/u16-uctomb.c: Likewise.
62038         * lib/unistr/u32-check.c: Likewise.
62039         * lib/unistr/u32-chr.c: Likewise.
62040         * lib/unistr/u32-cmp.c: Likewise.
62041         * lib/unistr/u32-cpy-alloc.c: Likewise.
62042         * lib/unistr/u32-cpy.c: Likewise.
62043         * lib/unistr/u32-endswith.c: Likewise.
62044         * lib/unistr/u32-mblen.c: Likewise.
62045         * lib/unistr/u32-mbsnlen.c: Likewise.
62046         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62047         * lib/unistr/u32-mbtouc.c: Likewise.
62048         * lib/unistr/u32-mbtoucr.c: Likewise.
62049         * lib/unistr/u32-move.c: Likewise.
62050         * lib/unistr/u32-next.c: Likewise.
62051         * lib/unistr/u32-prev.c: Likewise.
62052         * lib/unistr/u32-set.c: Likewise.
62053         * lib/unistr/u32-startswith.c: Likewise.
62054         * lib/unistr/u32-stpcpy.c: Likewise.
62055         * lib/unistr/u32-stpncpy.c: Likewise.
62056         * lib/unistr/u32-strcat.c: Likewise.
62057         * lib/unistr/u32-strchr.c: Likewise.
62058         * lib/unistr/u32-strcmp.c: Likewise.
62059         * lib/unistr/u32-strcpy.c: Likewise.
62060         * lib/unistr/u32-strcspn.c: Likewise.
62061         * lib/unistr/u32-strdup.c: Likewise.
62062         * lib/unistr/u32-strlen.c: Likewise.
62063         * lib/unistr/u32-strmblen.c: Likewise.
62064         * lib/unistr/u32-strmbtouc.c: Likewise.
62065         * lib/unistr/u32-strncat.c: Likewise.
62066         * lib/unistr/u32-strncmp.c: Likewise.
62067         * lib/unistr/u32-strncpy.c: Likewise.
62068         * lib/unistr/u32-strnlen.c: Likewise.
62069         * lib/unistr/u32-strpbrk.c: Likewise.
62070         * lib/unistr/u32-strrchr.c: Likewise.
62071         * lib/unistr/u32-strspn.c: Likewise.
62072         * lib/unistr/u32-strstr.c: Likewise.
62073         * lib/unistr/u32-strtok.c: Likewise.
62074         * lib/unistr/u32-to-u16.c: Likewise.
62075         * lib/unistr/u32-to-u8.c: Likewise.
62076         * lib/unistr/u32-uctomb.c: Likewise.
62077         * lib/unistr/u8-check.c: Likewise.
62078         * lib/unistr/u8-chr.c: Likewise.
62079         * lib/unistr/u8-cmp.c: Likewise.
62080         * lib/unistr/u8-cpy-alloc.c: Likewise.
62081         * lib/unistr/u8-cpy.c: Likewise.
62082         * lib/unistr/u8-endswith.c: Likewise.
62083         * lib/unistr/u8-mblen.c: Likewise.
62084         * lib/unistr/u8-mbsnlen.c: Likewise.
62085         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62086         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62087         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62088         * lib/unistr/u8-mbtouc.c: Likewise.
62089         * lib/unistr/u8-mbtoucr.c: Likewise.
62090         * lib/unistr/u8-move.c: Likewise.
62091         * lib/unistr/u8-next.c: Likewise.
62092         * lib/unistr/u8-prev.c: Likewise.
62093         * lib/unistr/u8-set.c: Likewise.
62094         * lib/unistr/u8-startswith.c: Likewise.
62095         * lib/unistr/u8-stpcpy.c: Likewise.
62096         * lib/unistr/u8-stpncpy.c: Likewise.
62097         * lib/unistr/u8-strcat.c: Likewise.
62098         * lib/unistr/u8-strchr.c: Likewise.
62099         * lib/unistr/u8-strcmp.c: Likewise.
62100         * lib/unistr/u8-strcpy.c: Likewise.
62101         * lib/unistr/u8-strcspn.c: Likewise.
62102         * lib/unistr/u8-strdup.c: Likewise.
62103         * lib/unistr/u8-strlen.c: Likewise.
62104         * lib/unistr/u8-strmblen.c: Likewise.
62105         * lib/unistr/u8-strmbtouc.c: Likewise.
62106         * lib/unistr/u8-strncat.c: Likewise.
62107         * lib/unistr/u8-strncmp.c: Likewise.
62108         * lib/unistr/u8-strncpy.c: Likewise.
62109         * lib/unistr/u8-strnlen.c: Likewise.
62110         * lib/unistr/u8-strpbrk.c: Likewise.
62111         * lib/unistr/u8-strrchr.c: Likewise.
62112         * lib/unistr/u8-strspn.c: Likewise.
62113         * lib/unistr/u8-strstr.c: Likewise.
62114         * lib/unistr/u8-strtok.c: Likewise.
62115         * lib/unistr/u8-to-u16.c: Likewise.
62116         * lib/unistr/u8-to-u32.c: Likewise.
62117         * lib/unistr/u8-uctomb-aux.c: Likewise.
62118         * lib/unistr/u8-uctomb.c: Likewise.
62119         * lib/unitypes.h: Likewise.
62120         * lib/uniwidth.h: Likewise.
62121         * lib/uniwidth/cjk.h: Likewise.
62122         * lib/uniwidth/u16-strwidth.c: Likewise.
62123         * lib/uniwidth/u16-width.c: Likewise.
62124         * lib/uniwidth/u32-strwidth.c: Likewise.
62125         * lib/uniwidth/u32-width.c: Likewise.
62126         * lib/uniwidth/u8-strwidth.c: Likewise.
62127         * lib/uniwidth/u8-width.c: Likewise.
62128         * lib/uniwidth/width.c: Likewise.
62129
62130 2007-10-07  Bruno Haible  <bruno@clisp.org>
62131
62132         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
62133         The file is still under LGPL (see modules/inttypes).
62134
62135 2007-10-06  Bruno Haible  <bruno@clisp.org>
62136
62137         * modules/trunc (Dependencies): Add 'extensions'.
62138         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
62139         Reported by Ben Pfaff <blp@gnu.org>.
62140
62141 2007-10-06  Bruno Haible  <bruno@clisp.org>
62142
62143         * modules/freopen-tests: New file.
62144         * tests/test-freopen.c: New file.
62145
62146         * modules/fopen-tests: New file.
62147         * tests/test-fopen.c: New file.
62148
62149         * modules/fopen: New file.
62150         * lib/fopen.c: New file.
62151         * m4/fopen.m4: New file.
62152         * modules/freopen: New file.
62153         * lib/freopen.c: New file.
62154         * m4/freopen.m4: New file.
62155         * lib/stdio.in.h (fopen, freopen): New declarations.
62156         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
62157         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62158         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
62159         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62160         * doc/functions/fopen.texi: Mention the 'fopen' module.
62161         * doc/functions/freopen.texi: Mention the 'freopen' module.
62162
62163 2007-10-06  Bruno Haible  <bruno@clisp.org>
62164
62165         * modules/open-tests: New file.
62166         * tests/test-open.c: New file.
62167
62168         * modules/open: New file.
62169         * lib/open.c: New file.
62170         * m4/open.m4: New file.
62171         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
62172         lib/open.c does.
62173         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
62174         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
62175         macros.
62176         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
62177         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
62178         REPLACE_OPEN.
62179         * doc/functions/open.texi: Mention the 'open' module.
62180
62181 2007-10-04  Bruno Haible  <bruno@clisp.org>
62182
62183         * modules/ceill-tests: New file.
62184         * tests/test-ceill.c: New file.
62185
62186         * modules/ceill: New file.
62187         * lib/ceill.c: Replace entire file.
62188         * m4/ceill.m4: New file.
62189         * lib/math.in.h (ceill): Replace declaration.
62190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
62191         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
62192         * doc/functions/ceill.texi: Mention the 'ceill' module.
62193         * modules/mathl (Files): Remove lib/ceill.c.
62194         (Depends-on): Add ceill.
62195
62196 2007-10-04  Bruno Haible  <bruno@clisp.org>
62197
62198         * modules/ceilf-tests: New file.
62199         * tests/test-ceilf.c: New file.
62200
62201         * modules/ceilf: New file.
62202         * lib/ceil.c: New file.
62203         * lib/ceilf.c: New file.
62204         * m4/ceilf.m4: New file.
62205         * lib/math.in.h (ceilf): New declaration.
62206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
62207         HAVE_DECL_CEILF.
62208         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
62209         HAVE_DECL_CEILF.
62210         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
62211
62212 2007-10-04  Bruno Haible  <bruno@clisp.org>
62213
62214         * modules/floorl-tests: New file.
62215         * tests/test-floorl.c: New file.
62216
62217         * modules/floorl: New file.
62218         * lib/floorl.c: Replace entire file.
62219         * m4/floorl.m4: New file.
62220         * lib/math.in.h (floorl): Replace declaration.
62221         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
62222         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
62223         * doc/functions/floorl.texi: Mention the 'floorl' module.
62224         * modules/mathl (Files): Remove lib/floorl.c.
62225         (Depends-on): Add floorl.
62226
62227 2007-10-04  Bruno Haible  <bruno@clisp.org>
62228
62229         * modules/floorf-tests: New file.
62230         * tests/test-floorf.c: New file.
62231
62232         * modules/floorf: New file.
62233         * lib/floor.c: New file.
62234         * lib/floorf.c: New file.
62235         * m4/floorf.m4: New file.
62236         * lib/math.in.h (floorf): New declaration.
62237         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
62238         HAVE_DECL_FLOORF.
62239         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
62240         HAVE_DECL_FLOORF.
62241         * doc/functions/floorf.texi: Mention the 'floorf' module.
62242
62243 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
62244             Bruno Haible  <bruno@clisp.org>
62245
62246         Advertise for the Git server instead of the CVS server.
62247         * doc/gnulib-intro.texi (Steady Development): Mention the Git
62248         repository instead of the CVS one.
62249         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
62250         about all VCS systems generically.
62251         * doc/gnulib.texi (Introduction): Capitalize `Git'.
62252
62253 2007-10-04  Bruno Haible  <bruno@clisp.org>
62254
62255         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
62256         means.
62257         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
62258
62259 2007-10-04  Bruno Haible  <bruno@clisp.org>
62260
62261         * modules/truncl-tests: New file.
62262         * tests/test-truncl.c: New file.
62263
62264         * modules/truncl: New file.
62265         * lib/truncl.c: New file.
62266         * m4/truncl.m4: New file.
62267         * lib/math.in.h (truncl): New declaration.
62268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
62269         HAVE_DECL_TRUNCL.
62270         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
62271         HAVE_DECL_TRUNCL.
62272         * doc/functions/truncl.texi: Mention the 'truncl' module.
62273
62274 2007-10-04  Bruno Haible  <bruno@clisp.org>
62275
62276         * modules/truncf-tests: New file.
62277         * tests/test-truncf.c: New file.
62278
62279         * modules/truncf: New file.
62280         * lib/trunc.c: Make paramerizable through USE_* macros.
62281         * lib/truncf.c: New file.
62282         * m4/truncf.m4: New file.
62283         * lib/math.in.h (truncf): New declaration.
62284         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
62285         HAVE_DECL_TRUNCF.
62286         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
62287         HAVE_DECL_TRUNCF.
62288         * doc/functions/truncf.texi: Mention the 'truncf' module.
62289
62290 2007-10-03  Bruno Haible  <bruno@clisp.org>
62291
62292         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
62293         augmentation also for tests modules.
62294         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
62295         * modules/atexit-tests (Makefile.am): Likewise.
62296         * modules/binary-io-tests (Makefile.am): Likewise.
62297         * modules/c-strcase-tests (Makefile.am): Likewise.
62298         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
62299         * modules/canonicalize-tests (Makefile.am): Likewise.
62300         * modules/closein-tests (Makefile.am): Likewise.
62301         * modules/fprintf-posix-tests (Makefile.am): Likewise.
62302         * modules/freadahead-tests (Makefile.am): Likewise.
62303         * modules/fseek-tests (Makefile.am): Likewise.
62304         * modules/fseeko-tests (Makefile.am): Likewise.
62305         * modules/ftell-tests (Makefile.am): Likewise.
62306         * modules/ftello-tests (Makefile.am): Likewise.
62307         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
62308         * modules/isnanl-tests (Makefile.am): Likewise.
62309         * modules/lseek-tests (Makefile.am): Likewise.
62310         * modules/mbscasecmp-tests (Makefile.am): Likewise.
62311         * modules/mbscasestr-tests (Makefile.am): Likewise.
62312         * modules/mbschr-tests (Makefile.am): Likewise.
62313         * modules/mbscspn-tests (Makefile.am): Likewise.
62314         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
62315         * modules/mbspbrk-tests (Makefile.am): Likewise.
62316         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
62317         * modules/mbsrchr-tests (Makefile.am): Likewise.
62318         * modules/mbsspn-tests (Makefile.am): Likewise.
62319         * modules/mbsstr-tests (Makefile.am): Likewise.
62320         * modules/printf-posix-tests (Makefile.am): Likewise.
62321         * modules/snprintf-posix-tests (Makefile.am): Likewise.
62322         * modules/sprintf-posix-tests (Makefile.am): Likewise.
62323         * modules/tsearch-tests (Makefile.am): Likewise.
62324         * modules/uniname/uniname-tests (Makefile.am): Likewise.
62325         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
62326         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
62327         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
62328         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
62329         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
62330         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
62331         * modules/vprintf-posix-tests (Makefile.am): Likewise.
62332         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
62333         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
62334         * modules/xstrtoimax-tests (Makefile.am): Likewise.
62335         * modules/xstrtol-tests (Makefile.am): Likewise.
62336         * modules/xstrtoumax-tests (Makefile.am): Likewise.
62337         * modules/yesno-tests (Makefile.am): Likewise.
62338
62339 2007-10-03  Bruno Haible  <bruno@clisp.org>
62340
62341         * modules/trunc-tests: New file.
62342         * tests/test-trunc.c: New file.
62343
62344         * modules/trunc: New file.
62345         * lib/trunc.c: New file.
62346         * m4/trunc.m4: New file.
62347         * lib/math.in.h (trunc): New declaration.
62348         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
62349         HAVE_DECL_TRUNC.
62350         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
62351         HAVE_DECL_TRUNC.
62352         * doc/functions/trunc.texi: Mention the 'trunc' module.
62353
62354 2007-10-03  Bruno Haible  <bruno@clisp.org>
62355
62356         * tests/test-fpending.c: New file, mostly copied
62357         from coreutils/lib/t-fpending.c.
62358         * modules/fpending-tests: New file.
62359
62360 2007-10-03  Bruno Haible  <bruno@clisp.org>
62361
62362         Port the stdio extensions to QNX (untested).
62363         * lib/fseterr.c (fseterr): Add support for QNX.
62364         * lib/fbufmode.c (fbufmode): Likewise.
62365         * lib/freadable.c (freadable): Likewise.
62366         * lib/fwritable.c (fwritable): Likewise.
62367         * lib/freading.c (freading): Likewise.
62368         * lib/fwriting.c (fwriting): Likewise.
62369         * lib/freadahead.c (freadahed): Likewise.
62370         * lib/fpurge.c (fpurge): Likewise.
62371         * lib/fseeko.c (rpl_fseeko): Likewise.
62372
62373 2007-10-03  Bruno Haible  <bruno@clisp.org>
62374             Jim Meyering  <jim@meyering.net>
62375             Eric Blake  <ebb9@byu.net>
62376
62377         * doc/relocatable.texi: Use @command instead of @program.
62378
62379 2007-10-02  Jim Meyering  <jim@meyering.net>
62380
62381         Perform one more "_.h" -> ".in.h" substitution.
62382         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
62383         instead of unistd_.h here, too.
62384
62385 2007-10-01  Bruno Haible  <bruno@clisp.org>
62386
62387         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
62388         Needed for the alloca-opt module.
62389
62390 2007-09-30  Bruno Haible  <bruno@clisp.org>
62391
62392         * lib/alloca.in.h: Renamed from lib/alloca_.h.
62393         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
62394         alloca_.h.
62395         * lib/argz.in.h: Renamed from lib/argz_.h.
62396         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
62397         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
62398         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
62399         byteswap_.h.
62400         * lib/dirent.in.h: Renamed from lib/dirent_.h.
62401         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
62402         dirent_.h.
62403         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
62404         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
62405         fcntl_.h.
62406         * lib/float.in.h: Renamed from lib/float_.h.
62407         * modules/float (Files, Makefile.am): Use float.in.h instead of
62408         float_.h.
62409         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
62410         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
62411         fnmatch_.h.
62412         * lib/getopt.in.h: Renamed from lib/getopt_.h.
62413         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
62414         getopt_.h.
62415         * lib/glob.in.h: Renamed from lib/glob_.h.
62416         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
62417         * lib/iconv.in.h: Renamed from lib/iconv_.h.
62418         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
62419         iconv_.h.
62420         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
62421         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
62422         inttypes_.h.
62423         * lib/locale.in.h: Renamed from lib/locale_.h.
62424         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
62425         locale_.h.
62426         * lib/math.in.h: Renamed from lib/math_.h.
62427         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
62428         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
62429         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
62430         of netinet_in_.h. Add dependency.
62431         * lib/poll.in.h: Renamed from lib/poll_.h.
62432         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
62433         * lib/search.in.h: Renamed from lib/search_.h.
62434         * modules/search (Files, Makefile.am): Use search.in.h instead of
62435         search_.h.
62436         * lib/signal.in.h: Renamed from lib/signal_.h.
62437         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
62438         _signal.h.
62439         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
62440         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
62441         stdbool_.h.
62442         * lib/stdint.in.h: Renamed from lib/stdint_.h.
62443         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
62444         stdint_.h.
62445         * lib/stdio.in.h: Renamed from lib/stdio_.h.
62446         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
62447         stdio_.h.
62448         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
62449         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
62450         stdlib_.h.
62451         * lib/string.in.h: Renamed from lib/string_.h.
62452         * modules/string (Files, Makefile.am): Use string.in.h instead of
62453         string_.h.
62454         * doc/gnulib-tool.texi (Initial import): Update.
62455         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
62456         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
62457         of sys_select_.h. Add dependency.
62458         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
62459         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
62460         of sys_socket_.h.
62461         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
62462         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
62463         sys_stat_.h.
62464         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
62465         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
62466         sys_time_.h.
62467         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
62468         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
62469         sysexits_.h.
62470         * lib/time.in.h: Renamed from lib/time_.h.
62471         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
62472         * lib/unistd.in.h: Renamed from lib/unistd_.h.
62473         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
62474         unistd_.h.
62475         * lib/wchar.in.h: Renamed from lib/wchar_.h.
62476         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
62477         wchar_.h.
62478         * lib/wctype.in.h: Renamed from lib/wctype_.h.
62479         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
62480         wctype_.h.
62481         * build-aux/bootstrap (slurp): Update.
62482         * lib/.cppi-disable: Update.
62483
62484 2007-09-30  Bruno Haible  <bruno@clisp.org>
62485
62486         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
62487         Needed on BeOS.
62488
62489 2007-09-30  Bruno Haible  <bruno@clisp.org>
62490
62491         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
62492
62493 2007-09-29  Bruno Haible  <bruno@clisp.org>
62494
62495         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
62496
62497 2007-09-29  Bruno Haible  <bruno@clisp.org>
62498
62499         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
62500         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
62501         * build-aux/install-reloc: Compile also areadlink.c.
62502         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
62503
62504 2007-09-29  Bruno Haible  <bruno@clisp.org>
62505
62506         * gnulib-tool (func_emit_initmacro_done): Indentation.
62507
62508 2007-09-29  Bruno Haible  <bruno@clisp.org>
62509
62510         * README: Add CVS checkout update instructions.
62511         Info from Bob Proulx <bob@proulx.com>.
62512
62513 2007-09-28  Eric Blake  <ebb9@byu.net>
62514
62515         Provide move-if-change.
62516         * build-aux/move-if-change: New file, based on best practice
62517         rather than any canonical upstream location.
62518
62519 2007-09-28  Jim Meyering  <jim@meyering.net>
62520
62521         Fix canonicalize loop-detection corner case.
62522         Do not attempt to stat the symlink values stored via seen_triple.
62523         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
62524         on linux-2.6.18, (but not 2.6.22).
62525         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
62526         triple_compare.  The former compares dev,ino,filename, while the latter
62527         would actually stat dirname(filename) when dev and ino were equal.
62528         * lib/hash-triple.c: Install <string.h>.
62529         (STREQ): Define.
62530         (triple_compare_ino_str): New function.
62531         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
62532
62533 2007-09-28  Eric Blake  <ebb9@byu.net>
62534
62535         Enforce that AC_REPLACE_FUNCS files exist.
62536         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
62537         override check for typos.
62538
62539         Fix test-closein on Solaris 10.
62540         * tests/test-closein.c (main): Don't assume stdin can be inherited
62541         closed on all systems.
62542         * tests/test-closein.sh: Likewise.
62543         Reported by Piotr Tarnowski.
62544
62545 2007-09-28  Jim Meyering  <jim@meyering.net>
62546
62547         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
62548
62549 2007-09-27  Jim Meyering  <jim@meyering.net>
62550
62551         canonicalize: Avoid a false-positive cycle failure.
62552         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
62553         Sort.  Remove cycle-check.
62554         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
62555         not cycle-check.h.
62556         (seen_triple): New function.
62557         (canonicalize_filename_mode): Use it instead of cycle-check.
62558         * tests/test-canonicalize.c: Add a test for this bug.
62559         * tests/test-canonicalize.sh: Set up and run the test.
62560
62561         New module, file-set, from coreutils.
62562         * modules/file-set: Define it.
62563         * lib/file-set.c, lib/file-set.h: Implement.
62564
62565         New module, hash-triple, from coreutils.
62566         * modules/hash-triple: Define it.
62567         * lib/hash-triple.c, lib/hash-triple.h: Implement.
62568
62569 2007-09-25  Eric Blake  <ebb9@byu.net>
62570
62571         Fix strerror on Interix.
62572         * lib/string_.h (strerror): Declare replacement.
62573         * doc/functions/strerror.texi (strerror): Document the Interix
62574         shortcoming.
62575         * modules/string (Makefile.am): Support new hooks.
62576         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
62577         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
62578         gl_FUNC_STRERROR_SEPARATE.
62579         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
62580         * lib/strerror.c (rpl_strerror): Provide replacement.
62581         * modules/strerror (Depends-on): Add string.
62582         (configure.ac): Detect use of module.
62583         * tests/test-strerror.c: New file.
62584         * modules/strerror-tests: New test module.
62585         * modules/argp (Depends-on): Add strerror.
62586         * modules/error (Depends-on): Likewise.
62587         Reported by Martin Koeppe.
62588
62589 2007-09-24  Bruno Haible  <bruno@clisp.org>
62590
62591         * README: Update git instructions.
62592
62593 2007-09-24  Eric Blake  <ebb9@byu.net>
62594
62595         Revert fpending breakage from 2007-09-08.
62596         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
62597         __fpending.c.
62598
62599 2007-09-24  Jim Meyering  <jim@meyering.net>
62600
62601         filenamecat.c: Add a test.
62602         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
62603         showing how the function works when DIR is the empty string.
62604
62605 2007-09-21  Simon Josefsson  <simon@josefsson.org>
62606
62607         * tests/test-canonicalize.sh: Turn on executable bit.
62608
62609 2007-09-19  Eric Blake  <ebb9@byu.net>
62610
62611         * README: Update CVS instructions.
62612
62613 2007-09-18  Bruno Haible  <bruno@clisp.org>
62614
62615         * modules/areadlink: New file.
62616         * lib/areadlink.h (areadlink): New declaration.
62617         * lib/areadlink.c: New file, based on lib/xreadlink.c.
62618
62619 2007-09-17  Jim Meyering  <jim@meyering.net>
62620
62621         * lib/savewd.c (ESTALE) [!defined]: Define.
62622         Reported to be required on Interix by Martin Koeppe.
62623
62624 2007-09-17  Bruno Haible  <bruno@clisp.org>
62625
62626         * gnulib-tool (func_version): Use $version.
62627
62628 2007-09-16  Bruno Haible  <bruno@clisp.org>
62629
62630         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
62631         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
62632         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
62633         Reported by Greg Schafer <gschafer@zip.com.au>.
62634
62635 2007-09-15  Bruno Haible  <bruno@clisp.org>
62636
62637         * gnulib-tool (sed): Try a little harder to make bash understand the
62638         alias.
62639         Reported by Bruce Korb <bruce.korb@gmail.com>.
62640
62641 2007-09-13  Eric Blake  <ebb9@byu.net>
62642
62643         * ChangeLog: Remove conflict markers.
62644
62645 2007-09-13  Simon Josefsson  <simon@josefsson.org>
62646
62647         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
62648         Reported by Bruno Haible <bruno@clisp.org>.
62649
62650 2007-09-12  Bruno Haible  <bruno@clisp.org>
62651
62652         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
62653         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
62654         is not defined.
62655
62656 2007-09-12  Eric Blake  <ebb9@byu.net>
62657
62658         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
62659         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
62660         Autoconf definition.
62661         * modules/euidaccess (Depends-on): Add extensions, for
62662         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
62663         * modules/fnmatch (Depends-on): Likewise.
62664         * modules/getaddrinfo (Depends-on): Likewise.
62665         * modules/getdelim (Depends-on): Likewise.
62666         * modules/getline (Depends-on): Likewise.
62667         * modules/getsubopt (Depends-on): Likewise.
62668         * modules/gettext (Depends-on): Likewise.
62669         * modules/group-member (Depends-on): Likewise.
62670         * modules/mbchar (Depends-on): Likewise.
62671         * modules/memmem (Depends-on): Likewise.
62672         * modules/mempcpy (Depends-on): Likewise.
62673         * modules/memrchr (Depends-on): Likewise.
62674         * modules/pagealign_alloc (Depends-on): Likewise.
62675         * modules/readutmp (Depends-on): Likewise.
62676         * modules/stpcpy (Depends-on): Likewise.
62677         * modules/stpncpy (Depends-on): Likewise.
62678         * modules/strchrnul (Depends-on): Likewise.
62679         * modules/strndup (Depends-on): Likewise.
62680         * modules/strsep (Depends-on): Likewise.
62681         * modules/strverscmp (Depends-on): Likewise.
62682         * modules/vasprintf (Depends-on): Likewise.
62683         * modules/wcwidth (Depends-on): Likewise.
62684         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
62685         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
62686         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
62687         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
62688         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62689         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62690         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
62691         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62692         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
62693         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
62694         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62695         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
62696         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
62697         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
62698         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
62699         * m4/readutmp.m4 (gl_READUTMP): Likewise.
62700         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62701         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
62702         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62703         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
62704         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
62705         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
62706         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
62707         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
62708         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
62709         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62710         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
62711         so that lock.m4 can be used in gettext without extensions module.
62712
62713 2007-09-11  Bruno Haible  <bruno@clisp.org>
62714
62715         * m4/isc-posix.m4: Remove file.
62716         Suggested by Eric Blake.
62717
62718 2007-09-11  Eric Blake  <ebb9@byu.net>
62719
62720         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
62721
62722 2007-09-10  Bruno Haible  <bruno@clisp.org>
62723
62724         * posix-modules: Fix typo in error message.
62725         Reported by Matt <mkraai@beckman.com>.
62726
62727 2007-09-09  Bruno Haible  <bruno@clisp.org>
62728
62729         * doc/functions/getdelim.texi: Update list of platforms lacking the
62730         function.
62731         * doc/functions/getline.texi: Likewise.
62732
62733 2007-09-09  Jim Meyering  <jim@meyering.net>
62734
62735         * lib/hash.c (hash_initialize): Detect calloc failure.
62736         Reported by Bruno Haible.
62737
62738 2007-09-09  Bruno Haible  <bruno@clisp.org>
62739
62740         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
62741         malloc or realloc fails.
62742
62743 2007-09-09  Bruno Haible  <bruno@clisp.org>
62744
62745         * modules/getcwd (Depends-on): Add malloc-posix.
62746         * modules/glob (Depends-on): Likewise.
62747         * modules/putenv (Depends-on): Likewise.
62748         * modules/strdup (Depends-on): Likewise.
62749         * modules/getdelim (Depends-on): Add realloc-posix.
62750         * modules/read-file (Depends-on): Likewise.
62751
62752 2007-09-09  Bruno Haible  <bruno@clisp.org>
62753
62754         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
62755         (gl_FUNC_MALLOC_POSIX): Require it.
62756         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
62757         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
62758         * modules/realloc (Files): Add m4/malloc.m4.
62759         * modules/calloc (Files): Likewise.
62760
62761 2007-09-09  Bruno Haible  <bruno@clisp.org>
62762
62763         * modules/malloc-posix: New file.
62764         * modules/malloc (Depends-on): Add malloc-posix.
62765         * lib/malloc.c: Include errno.h.
62766         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
62767         and a POSIX-compatible malloc into a single function. Set ENOMEM
62768         when returning NULL.
62769         * m4/malloc.m4: New file.
62770         * doc/functions/malloc.texi: Mention the malloc-posix module.
62771         * lib/stdlib_.h (malloc): New declaration.
62772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62773         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
62774         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
62775         and HAVE_MALLOC_POSIX.
62776
62777 2007-09-09  Bruno Haible  <bruno@clisp.org>
62778
62779         * modules/realloc-posix: New file.
62780         * modules/realloc (Depends-on): Add realloc-posix.
62781         * lib/realloc.c: Include errno.h.
62782         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
62783         and a POSIX-compatible realloc into a single function. Set ENOMEM
62784         when returning NULL.
62785         * m4/realloc.m4: New file.
62786         * doc/functions/realloc.texi: Mention the realloc-posix module.
62787         * lib/stdlib_.h (realloc): New declaration.
62788         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62789         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
62790         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
62791         and HAVE_REALLOC_POSIX.
62792
62793 2007-09-09  Bruno Haible  <bruno@clisp.org>
62794
62795         * modules/calloc-posix: New file.
62796         * modules/calloc (Depends-on): Add calloc-posix.
62797         * lib/calloc.c: Include errno.h.
62798         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
62799         and a POSIX-compatible calloc into a single function. Set ENOMEM
62800         when returning NULL.
62801         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
62802         * doc/functions/calloc.texi: Mention the calloc-posix module.
62803         * lib/stdlib_.h (calloc): New declaration.
62804         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62805         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
62806         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
62807         and HAVE_CALLOC_POSIX.
62808
62809 2007-09-09  Bruno Haible  <bruno@clisp.org>
62810
62811         Allow for modules to show an arbitrary notice.
62812         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
62813         * gnulib-tool: New option --extract-notice.
62814         (func_usage): Document it.
62815         (sed_extract_prog): Update.
62816         (func_get_notice): New function.
62817         (func_modules_notice): New function.
62818         (func_import, func_create_testdir): Invoke it.
62819         Suggested by Jim Meyering.
62820
62821 2007-09-09  Bruno Haible  <bruno@clisp.org>
62822
62823         * gnulib-tool: New options --verbose, --quiet.
62824         (func_usage): Document them.
62825         (verbose): New variable.
62826         (func_execute_command): New function.
62827         (func_import): Don't show the module list and the file list if
62828         $verbose < 0.
62829         (func_create_testdir): Likewise. Use func_execute_command.
62830         (func_create_megatestdir): Use func_execute_command.
62831
62832 2007-09-08  Bruno Haible  <bruno@clisp.org>
62833
62834         * gnulib-tool (func_import): Prefer rsync over wget when available,
62835         for fetching the PO files.
62836
62837 2007-09-08  Bruno Haible  <bruno@clisp.org>
62838
62839         * posix-modules: New file. Portions copied from gnulib-tool.
62840         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
62841
62842 2007-09-08  Jim Meyering  <jim@meyering.net>
62843
62844         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
62845         * lib/fpending.h: Rename from __fpending.h.
62846         * lib/fpending.c: Rename from __fpending.c.
62847         Include "fpending.h", not "__fpending.h".
62848         * lib/__fpending.h, lib/__fpending.c: Remove files.
62849         * modules/fpending (Files): Reflect new file names.
62850         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
62851
62852 2007-09-08  Bruno Haible  <bruno@clisp.org>
62853
62854         * m4/inttypes-h.m4: Remove stub file.
62855
62856 2007-09-07  Simon Josefsson  <simon@josefsson.org>
62857
62858         * doc/headers/stdint.texi: Discuss #include_next issue.
62859
62860 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62861
62862         * build-aux/bootstrap: Remove obsolete comment about wget --help.
62863
62864 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62865
62866         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
62867         in variable name.
62868
62869 2007-09-03  Jim Meyering  <jim@meyering.net>
62870
62871         New module: git-version-gen.
62872         * modules/git-version-gen: New file.
62873
62874         Import changes from coreutils for bootstrap script.
62875
62876         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
62877
62878         bootstrap: uses rsync to download the .po files
62879         * build-aux/bootstrap (po_download_command_format): New global.
62880         (download_po_files): Use rsync.
62881         (update_po_files): Don't remove .po files after download,
62882         so future rsync runs can take advantage of the copies.
62883
62884         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
62885
62886         Solve the unnecessary-.po-file-regeneration problem once and for all.
62887         * build-aux/bootstrap (download_po_files): New function, renamed from
62888         get_translations.  Now, downloads, but doesn't update LINGUAS.
62889         (update_po_files): New function.
62890
62891         bootstrap: Ignore more.
62892         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
62893         uniwidth to e.g., lib/.gitignore.
62894         (slurp): Handle the sys_stat_.h -> sys mapping, too.
62895
62896         * build-aux/bootstrap: New setting: vc_ignore.
62897         (insert_sorted_if_absent): Create $file if absent.
62898         Adapt to new, possibly empty, list: $vc_ignore.
62899
62900         bootstrap: generate more ignorable names
62901         * build-aux/bootstrap (slurp): When generating ignorable names,
62902         also map .sin to .sed, .gperf to .c, and .y to .c.
62903
62904 2007-09-03  Jim Meyering  <jim@meyering.net>
62905
62906         * build-aux/git-version-gen: New file, from coreutils.  For details, see
62907         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
62908
62909 2007-09-02  Bruno Haible  <bruno@clisp.org>
62910
62911         Fix mis-recognition of 'mcs' on QNX 6.
62912         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
62913         output contains the string "Mono".
62914         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
62915         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
62916
62917 2007-09-01  Bruno Haible  <bruno@clisp.org>
62918
62919         Fix collision between uniwidth/* and linebreak modules.
62920         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
62921         u32_width): Remove declarations.
62922         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
62923         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
62924         streq3, streq2, streq1, streq0): Remove functions.
62925         (STREQ): Remove macro.
62926         (is_cjk_encoding): Remove function.
62927         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
62928         (uc_width, u8_width, u16_width, u32_width): Remove functions.
62929         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
62930         * NEWS: Document the change.
62931
62932 2007-09-01  Bruno Haible  <bruno@clisp.org>
62933
62934         * lib/streq.h: Add double-inclusion guard.
62935
62936 2007-09-01  Karl Berry  <karl@gnu.org>
62937
62938         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
62939
62940 2007-08-28  Jim Meyering  <jim@meyering.net>
62941
62942         Rename mreadlink_with_size to areadlink_with_size.
62943         * NEWS: Document the change.
62944         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
62945         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
62946         * lib/mreadlink.h: Rename this to...
62947         * lib/areadlink.h: ...this.
62948         * modules/mreadlink-with-size: Rename this to...
62949         * modules/areadlink-with-size: ...this.
62950         * lib/canonicalize.c: Reflect the renaming.
62951         * modules/canonicalize: Likewise.
62952
62953 2007-08-26  Bruno Haible  <bruno@clisp.org>
62954
62955         * gnulib-tool (func_import): When deciding which files to remove,
62956         consider also dangling symbolic links.
62957         Reported by Eric Blake.
62958
62959 2007-08-26  Bruno Haible  <bruno@clisp.org>
62960
62961         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
62962
62963 2007-08-23  Simon Josefsson  <simon@josefsson.org>
62964
62965         * lib/readline.c: Don't include getline.h, the prototype is now
62966         found in stdio.h.
62967
62968 2007-08-23  Jim Meyering  <jim@meyering.net>
62969
62970         Getdelim touchup.
62971         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
62972         around the funlockfile call, since funlockfile never sets errno.
62973         Don't set errno upon failed realloc.
62974
62975 2007-08-22  Eric Blake  <ebb9@byu.net>
62976
62977         Getline touchups.
62978         * lib/getdelim.c (getdelim): Revert regression that required *n to
62979         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
62980         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
62981         getdelim, rather than whether implementation is missing.
62982         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
62983         * lib/stdio_.h (getline): Also declare if replacement is
62984         required.
62985         * doc/functions/getdelim.texi: New file.
62986         * doc/functions/getline.texi: Likewise.
62987         * doc/gnulib.texi (Function Substitutes): Add new files.
62988         Reported by Bruno Haible.
62989
62990 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
62991
62992         * users.txt: Add Guile.
62993
62994 2007-08-22  Eric Blake  <ebb9@byu.net>
62995
62996         * tests/test-getdelim.c (main): Use remove, not unlink.
62997         * tests/test-getline.c (main): Likewise.
62998
62999         Move getline and getdelim into stdio.h, per POSIX 200x.
63000         * modules/getline (Files): Remove getline.h.
63001         (Depends-on): Add stdio.
63002         (configure.ac): Add module indicator.
63003         * modules/getdelim (Files): Remove getdelim.h.
63004         (Depends-on): Add stdio.
63005         (configure.ac): Add module indicator.
63006         * modules/stdio (Makefile.am): Work with new indicators.
63007         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63008         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63009         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63010         * lib/getdelim.h: Delete.
63011         * lib/getline.h: Delete.
63012         * lib/stdio_.h (getdelim, getline): Declare.
63013         * modules/getdelim-tests: New module.
63014         * modules/getline-tests: Likewise.
63015         * tests/test-getdelim.c: New file.
63016         * tests/test-getline.c: Likewise.
63017         * NEWS: Document the change.
63018         * lib/getline.c: Update choice of header.
63019         * lib/csharpcomp.c: Likewise.
63020         * lib/getpass.c: Likewise.
63021         * lib/javacomp.c: Likewise.
63022         * lib/javaversion.c: Likewise.
63023         * lib/yesno.c: Likewise.
63024         * lib/getdelim.c: Likewise.
63025         (getdelim): Set errno on failure, and avoid memory leak.
63026
63027 2007-08-19  Bruno Haible  <bruno@clisp.org>
63028
63029         * modules/closein (Depends-on): Add freadahead.
63030         * lib/closein.c: Include freadahead.h.
63031         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63032         is zero.
63033
63034 2007-08-19  Bruno Haible  <bruno@clisp.org>
63035
63036         * modules/freadahead-tests: New file.
63037         * tests/test-freadahead.sh: New file.
63038         * tests/test-freadahead.c: New file.
63039
63040         * modules/freadahead: New file.
63041         * lib/freadahead.h: New file.
63042         * lib/freadahead.c: New file.
63043         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63044         fbufmode, fpurge, freadable, fwritable.
63045
63046 2007-08-19  Eric Blake  <ebb9@byu.net>
63047
63048         Test yesno in combination with closein.
63049         * lib/yesno.c (yesno): Document use of stdin.
63050         * modules/yesno-tests (Files): New module.
63051         * tests/test-yesno.c (main): New file.
63052         * tests/test-yesno.sh: Likewise.
63053
63054 2007-08-19  Bruno Haible  <bruno@clisp.org>
63055
63056         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63057         * lib/fseeko.c (rpl_fseeko): Likewise.
63058         * lib/fseterr.c (fseterr): Likewise.
63059
63060 2007-08-19  Bruno Haible  <bruno@clisp.org>
63061
63062         * tests/test-lseek.c (main): Disable a test for BeOS.
63063         * doc/functions/lseek.texi: Document the BeOS bug.
63064
63065 2007-08-19  Bruno Haible  <bruno@clisp.org>
63066             Eric Blake  <ebb9@byu.net>
63067
63068         * lib/lseek.c: Include <sys/stat.h>.
63069         (rpl_lseek): Add workaround code also for Unix platforms.
63070         Needed for BeOS.
63071         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63072         * doc/functions/lseek.texi: Document BeOS definiency.
63073
63074 2007-08-18  Bruno Haible  <bruno@clisp.org>
63075
63076         * modules/fstrcmp-tests: New file.
63077         * tests/test-fstrcmp.c: New file.
63078
63079 2007-08-18  Bruno Haible  <bruno@clisp.org>
63080
63081         * modules/fstrcmp: New file, from GNU gettext with modifications.
63082         * lib/fstrcmp.h: New file, from GNU gettext.
63083         * lib/fstrcmp.c: New file, from GNU gettext.
63084         * MODULES.html.sh (String handling): Add fstrcmp.
63085
63086 2007-08-18  Bruno Haible  <bruno@clisp.org>
63087
63088         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63089         'bool'.
63090         (diag, compareseq): Remove const from the ctxt argument.
63091         (USE_HEURISTIC): Undefine at the end.
63092
63093 2007-08-18  Jim Meyering  <jim@meyering.net>
63094
63095         New file: lib/idcache.h
63096         * NEWS: Mention the addition.
63097         * modules/idcache (Files): Add lib/idcache.h
63098         * lib/idcache.c: Include "idcache.h".
63099         Don't include <sys/types.h>.
63100         Add a FIXME comment.
63101         Move file-scoped "static" declarations to the top.
63102         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
63103
63104 2007-08-17  Bruno Haible  <bruno@clisp.org>
63105         and Paul Eggert  <eggert@cs.ucla.edu>
63106
63107         * MODULES.html.sh: Add diffseq.
63108         * modules/diffseq: New file.
63109         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
63110         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
63111
63112 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63113
63114         Import changes from coreutils for bootstrap script.
63115
63116         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
63117
63118         * build-aux/bootstrap (slurp): Work even in environments where
63119         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
63120         current code does not slurp files whose names start with ".", and
63121         this looks like it might be a troublesome area.
63122
63123         2007-07-11  Jim Meyering  <jim@meyering.net>
63124
63125         If there's a GPL vN copyright comment, require that N == 3.
63126
63127         2007-07-08  Jim Meyering  <jim@meyering.net>
63128
63129         Run the coreutils-specific code only if tests/Makefile.am.in exists.
63130         * build-aux/bootstrap (mam_template): Move definition out of loop.
63131
63132         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
63133
63134         * build-aux/bootstrap (symlink_to_dir): Rename function from
63135         symlink_to_gnulib.  Add a directory parameter.  Update all
63136         callers.
63137         (cp_mark_as_generated): Also check for -- and link to -- files in
63138         gl/.
63139
63140         2007-07-08  Jim Meyering  <jim@meyering.net>
63141
63142         Adapt to deeper hierarchy in gnulib.
63143         * build-aux/bootstrap (symlink_to_dir): If the destination
63144         directory doesn't exist, create it. This is required at least for
63145         "lib/uniwidth/cjk.h".
63146
63147         2007-05-15  Jim Meyering  <jim@meyering.net>
63148
63149         * build-aux/bootstrap: Now that generated Makefile.am files
63150         are no longer under version control, they must be created at
63151         bootstrap time.
63152
63153 2007-08-14  Ben Pfaff  <blp@gnu.org>
63154
63155         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
63156
63157 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63158
63159         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
63160         given the changes below.
63161         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
63162         even on hosts that have padding bits beyond the supported 64.
63163
63164 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63165
63166         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
63167         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
63168         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
63169         depends on it.
63170         (xstrtol_error): Remove.
63171         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
63172         but with a different signature.
63173         (ATTRIBUTE_NORETURN, __attribute__): New macros.
63174         * lib/xstrtol-error.c: Include exitfail.h.
63175         (xstrtol_fatal): New function, with a different signature from the
63176         old xstrtol_error, so that the caller need not worry about passing
63177         in an exit status, or about storage management of the option argument.
63178         (xstrtol_error): Now a static function.  Redo signature to
63179         implement xstrtol_fatal.  Output the correct number of hyphens in
63180         front of the option so that the caller need not worry about
63181         storage management.
63182         (N_): New macro.
63183         (_): Remove; not used now.
63184         * modules/xstrtol: Depend on getopt.
63185         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
63186         of old STRTOL_FATAL_ERROR macro.
63187         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
63188         of test program.
63189         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
63190         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
63191
63192 2007-08-08  Eric Blake  <ebb9@byu.net>
63193
63194         * lib/xstrtol-error.c: Add missing include.
63195
63196         Move xstrtol messages into gnulib domain, when --pobase is used.
63197         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
63198         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
63199         * modules/xstrtol (Files): Distribute new file.
63200         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
63201         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
63202         * tests/test-xstrtol.c: ...into new file.
63203         * tests/test-xstrtoul.c: Also test xstrtoul.
63204         * tests/test-xstrtoimax.c: Also test xstrtoimax.
63205         * tests/test-xstrtoumax.c: Also test xstrtoumax.
63206         * tests/test-xstrtol.sh: Drive the tests.
63207         * tests/test-xstrtoimax.sh: Likewise.
63208         * tests/test-xstrtoumax.sh: Likewise.
63209         * modules/xstrtol-tests: New module.
63210         * modules/xstrtoimax-tests: Likewise.
63211         * modules/xstrtoumax-tests: Likewise.
63212
63213 2007-08-08  Jim Meyering  <jim@meyering.net>
63214
63215         New function: mfile_name_concat.
63216         * lib/filenamecat.c (mfile_name_concat): New function, just like
63217         file_name_concat, but return NULL upon failure rather than exiting
63218         with a diagnostic.
63219         * lib/filenamecat.h: Declare it.
63220
63221 2007-08-07  Bruno Haible  <bruno@clisp.org>
63222
63223         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
63224         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
63225         warning from gcc.
63226         Reported by Eric Blake.
63227
63228 2007-08-07  Simon Josefsson  <simon@josefsson.org>
63229
63230         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
63231         * modules/crypto/arcfour (License): Likewise.
63232         * modules/crypto/des-tests (License): Likewise.
63233         * modules/crypto/gc-arctwo-tests (License): Likewise.
63234         * modules/crypto/gc-des-tests (License): Likewise.
63235         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
63236         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
63237         * modules/crypto/gc-md2-tests (License): Likewise.
63238         * modules/crypto/gc-md4-tests (License): Likewise.
63239         * modules/crypto/gc-md5-tests (License): Likewise.
63240         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
63241         * modules/crypto/gc-rijndael-tests (License): Likewise.
63242         * modules/crypto/gc-sha1-tests (License): Likewise.
63243         * modules/crypto/gc-tests (License): Likewise.
63244         * modules/crypto/hmac-md5 (License): Likewise.
63245         * modules/crypto/hmac-sha1 (License): Likewise.
63246         * modules/crypto/md2-tests (License): Likewise.
63247         * modules/crypto/md4-tests (License): Likewise.
63248         * modules/crypto/md5 (License): Likewise.
63249         * modules/crypto/rijndael (License): Likewise.
63250         * modules/crypto/sha1 (License): Likewise.
63251         * modules/memxor (License): Likewise.
63252
63253 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63254         and Bruno Haible  <bruno@clisp.org>
63255
63256         * NEWS: Describe interface changes to human, xstrtol.
63257         * lib/human.h: Include <xstrtol.h>.
63258         (human_options): Return enum strtol_error, not int.  Remove
63259         bool arg; take int * instead.
63260         * lib/human.c: Don't include "gettext.h".
63261         (_): Remove; no longer used.
63262         Don't include <xstrtol.h>, since human.h does it.
63263         (human_options): Adjust to abovementioned interface changes.
63264         Do not report error to stderr; that's now the caller's
63265         responsibility.
63266         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
63267         interface change.
63268         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
63269         Str, Argument_type_string.  All uses changed.  Put " argument"
63270         in diagnostics to make them clearer.  Change wording of suffix
63271         message for clarity.
63272         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
63273         Argument_type_string.
63274         (STRTOL_FATAL_WARN): Remove; no longer used.
63275         * modules/human (Depends-on): Remove gettext-h.
63276
63277 2007-08-06  Simon Josefsson  <simon@josefsson.org>
63278
63279         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
63280
63281 2007-07-31  Bruno Haible  <bruno@clisp.org>
63282
63283         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
63284         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
63285         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
63286
63287 2007-07-31  Bruno Haible  <bruno@clisp.org>
63288
63289         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
63290         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
63291
63292 2007-07-30  Bruno Haible  <bruno@clisp.org>
63293
63294         * modules/base64 (License): Use the synonymous term "LGPLv2+".
63295         * modules/c-ctype (License): Likewise.
63296         * modules/c-strcase (License): Likewise.
63297         * modules/check-version (License): Likewise.
63298         * modules/iconv (License): Likewise.
63299         * modules/iconv_open (License): Likewise.
63300         * modules/read-file (License): Likewise.
63301         * modules/striconv (License): Likewise.
63302         * modules/strverscmp (License): Likewise.
63303         * modules/vasprintf (License): Likewise.
63304         * modules/crypto/des (License): Likewise.
63305         * modules/crypto/gc (License): Likewise.
63306         * modules/crypto/gc-arcfour (License): Likewise.
63307         * modules/crypto/gc-arctwo (License): Likewise.
63308         * modules/crypto/gc-des (License): Likewise.
63309         * modules/crypto/gc-hmac-md5 (License): Likewise.
63310         * modules/crypto/gc-hmac-sha1 (License): Likewise.
63311         * modules/crypto/gc-md2 (License): Likewise.
63312         * modules/crypto/gc-md4 (License): Likewise.
63313         * modules/crypto/gc-md5 (License): Likewise.
63314         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
63315         * modules/crypto/gc-random (License): Likewise.
63316         * modules/crypto/gc-rijndael (License): Likewise.
63317         * modules/crypto/gc-sha1 (License): Likewise.
63318         * modules/crypto/md2 (License): Likewise.
63319         * modules/crypto/md4 (License): Likewise.
63320
63321 2007-07-30  Jim Meyering  <jim@meyering.net>
63322
63323         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
63324         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
63325         it has valid stat data.  This bug would cause du not to count the
63326         sizes of inaccessible directories.
63327         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
63328         in <http://bugzilla.redhat.com/250077>.
63329
63330 2007-07-25  Peter O'Gorman  <peter@pogma.com>
63331             Bruno Haible  <bruno@clisp.org>
63332
63333         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
63334         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
63335         #include_next, gives a diagnostic about it, but reports no error in
63336         the exit code.
63337         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
63338
63339 2007-07-24  Ben Pfaff  <blp@gnu.org>
63340
63341         Improve name: "count-one-bits" is better than "popcount".
63342         * MODULES.html.sh: Update name.
63343         * lib/popcount.h: Renamed lib/count-one-bits.h.
63344         (popcount): Renamed count_one_bits.
63345         (popcountl): Renamed count_one_bits_l.
63346         (popcountll): Renamed count_one_bits_ll.
63347         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
63348         * modules/popcount: Renamed module/count-one-bits.
63349         * modules/popcount-tests: Renamed module/count-one-bits-tests.
63350         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
63351
63352 2007-07-23  Ben Pfaff  <blp@gnu.org>
63353
63354         * lib/popcount.h (popcount32): Reduce size of constants, to allow
63355         better code generation, and add U to large constants to avoid
63356         warnings, in non-GCC case.
63357         Suggested by Bruno Haible.
63358
63359 2007-07-23  Ben Pfaff  <blp@gnu.org>
63360
63361         * lib/popcount.h: Use verify_true instead of if...abort.
63362         * modules/popcount: Depend on verify module.
63363         Suggested by Jim Meyering.
63364
63365 2007-07-23  Bruno Haible  <bruno@clisp.org>
63366
63367         * gnulib-tool (func_import): Create a .cvsignore file also when the
63368         directory is not yet in CVS but the toplevel directory is. When
63369         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
63370         Reported by Karl Berry.
63371
63372 2007-07-22  Ben Pfaff  <blp@gnu.org>
63373
63374         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
63375         case.
63376         Suggested by Eric Blake.
63377
63378 2007-07-22  Ben Pfaff  <blp@gnu.org>
63379
63380         New module: popcount.
63381         * MODULES.html.sh: Add popcount.
63382         * modules/popcount: New file.
63383         * modules/popcount-tests: New file.
63384         * tests/test-popcount.c: New file.
63385         * lib/popcount.h: New file.
63386         * m4/popcount.m4: New file.
63387
63388 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63389
63390         * build-aux/announce-gen: Update to GPLv3.
63391
63392         * build-aux/config.guess: Update from config.
63393
63394 2007-07-21  Bruno Haible  <bruno@clisp.org>
63395
63396         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
63397         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
63398
63399 2007-07-20  Jim Meyering  <jim@meyering.net>
63400
63401         * check-module: Diagnose a self-dependency.
63402
63403 2007-07-19  Bruno Haible  <bruno@clisp.org>
63404
63405         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
63406         empty.
63407         Reported by Eric Blake.
63408
63409 2007-07-18  Bruno Haible  <bruno@clisp.org>
63410
63411         * gnulib-tool: New options --po-base, --po-domain.
63412         (func_usage): Document them.
63413         (pobase, po_domain): New variables.
63414         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
63415         DEFAULT_TEXT_DOMAIN.
63416         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
63417         (func_import): Consider pobase and po_domain. Create a po/ directory.
63418         (func_create_testdir): Set pobase and po_domain to empty.
63419         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
63420         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
63421
63422 2007-07-18  Bruno Haible  <bruno@clisp.org>
63423
63424         * gnulib-tool (func_get_automake_snippet): Synthesize also an
63425         EXTRA_DIST augmentation for files in build-aux/.
63426
63427 2007-07-16  Bruno Haible  <bruno@clisp.org>
63428
63429         * modules/lseek (License): Use the synonymous term "LGPLv2+".
63430         * modules/getdelim (License): Likewise.
63431
63432 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63433
63434         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
63435         * modules/d-type (License): Likewise.
63436         * modules/extensions (License): Likewise.
63437         * modules/fnmatch (License): Likewise.
63438         * modules/fseeko (License): Likewise.
63439         * modules/getaddrinfo (License): Likewise.
63440         * modules/getline (License): Likewise.
63441         * modules/getlogin_r (License): Likewise.
63442         * modules/getpass (License): Likewise.
63443         * modules/gettimeofday (License): Likewise.
63444         * modules/glob (License): Likewise.
63445         * modules/inet_ntop (License): Likewise.
63446         * modules/malloc (License): Likewise.
63447         * modules/malloca (License): Likewise.
63448         * modules/memmem (License): Likewise.
63449         * modules/mempcpy (License): Likewise.
63450         * modules/memset (License): Likewise.
63451         * modules/minmax (License): Likewise.
63452         * modules/mktime (License): Likewise.
63453         * modules/netinet_in (License): Likewise.
63454         * modules/pathmax (License): Likewise.
63455         * modules/poll (License): Likewise.
63456         * modules/regex (License): Likewise.
63457         * modules/snprintf (License): Likewise.
63458         * modules/stdbool (License): Likewise.
63459         * modules/stdint (License): Likewise.
63460         * modules/stdio (License): Likewise.
63461         * modules/strcase (License): Likewise.
63462         * modules/strcasestr (License): Likewise.
63463         * modules/strdup (License): Likewise.
63464         * modules/string (License): Likewise.
63465         * modules/strndup (License): Likewise.
63466         * modules/strnlen (License): Likewise.
63467         * modules/strpbrk (License): Likewise.
63468         * modules/strptime (License): Likewise.
63469         * modules/strsep (License): Likewise.
63470         * modules/sys_select (License): Likewise.
63471         * modules/sys_socket (License): Likewise.
63472         * modules/sys_stat (License): Likewise.
63473         * modules/sys_time (License): Likewise.
63474         * modules/time (License): Likewise.
63475         * modules/time_r (License): Likewise.
63476         * modules/timegm (License): Likewise.
63477         * modules/unistd (License): Likewise.
63478         * modules/vsnprintf (License): Likewise.
63479         * modules/wctype (License): Likewise.
63480
63481 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63482
63483         * modules/argz (License): LGPLv2+.
63484
63485 2007-07-15  Karl Berry  <karl@gnu.org>
63486
63487         * doc/gnulib.texi: revise node structure per new fdl.texi.
63488
63489 2007-07-14  Bruno Haible  <bruno@clisp.org>
63490
63491         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
63492         the output file.
63493         * lib/uniname/uninames.h: Regenerated.
63494
63495 2007-07-14  Karl Berry  <karl@gnu.org>
63496
63497         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
63498         omitting sectioning and index commands.
63499
63500 2007-07-13  Bruno Haible  <bruno@clisp.org>
63501
63502         New gnulib-tool option --more-symlinks.
63503         * gnulib-tool (func_usage): Document --more-symlinks.
63504         (do_copyrights): New variable.
63505         Recognize option --more-symlinks.
63506         (func_import): Don't add a copyright notice transform to
63507         sed_transform_lib_file if do_copyrights is empty.
63508
63509 2007-07-13  Bruno Haible  <bruno@clisp.org>
63510
63511         * lib/vasnprintf.c (decimal_point_char): Define also if
63512         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
63513         && !NEED_PRINTF_DIRECTIVE_A.
63514         Reported by Clemens Koller <clemens.koller@anagramm.de> via
63515         Gary V. Vaughan <gary@gnu.org>.
63516
63517 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
63518
63519         * lib/inttypes_.h: Undo previous change, since it was fixed
63520         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
63521
63522 2007-07-13  Bruno Haible  <bruno@clisp.org>
63523
63524         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
63525         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
63526
63527 2007-07-13  Jim Meyering  <jim@meyering.net>
63528
63529         df: Don't fail for Tru64's "file-on-file mount".
63530         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
63531         so we fall through and use statfs instead.  Details here:
63532         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
63533         Reported by Albert Chin.
63534
63535 2007-07-13  Bruno Haible  <bruno@clisp.org>
63536
63537         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
63538         * modules/configmake (License): Likewise.
63539         * modules/gettext (License): Likewise.
63540         * modules/gettext-h (License): Likewise.
63541         * modules/include_next (License): Likewise.
63542         * modules/link-warning (License): Likewise.
63543         * modules/localcharset (License): Likewise.
63544         * modules/localename (License): Likewise.
63545         * modules/lock (License): Likewise.
63546         * modules/relocatable-lib-lgpl (License): Likewise.
63547         * modules/size_max (License): Likewise.
63548         * modules/vasnprintf (License): Likewise.
63549         * modules/wchar (License): Likewise.
63550         * modules/xsize (License): Likewise.
63551
63552 2007-07-13  Bruno Haible  <bruno@clisp.org>
63553
63554         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
63555         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
63556
63557 2007-07-12  Bruno Haible  <bruno@clisp.org>
63558
63559         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
63560         in the modules files.
63561
63562 2007-07-11  Karl Berry  <karl@gnu.org>
63563
63564         * MODULES.html.sh (func_module): use
63565          sed -e '\|^'"${includefile}"'$|d'
63566          instead of /.../d, to avoid errors on $includefile's containing /.
63567
63568 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63569
63570         * gnulib-tool (func_import): Avoid duplication of --avoid
63571         statements
63572         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
63573         names to `_' in variable names.
63574
63575 2007-07-10  Eric Blake  <ebb9@byu.net>
63576
63577         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
63578         * NEWS: Document this change.
63579
63580 2007-07-08  Bruno Haible  <bruno@clisp.org>
63581
63582         Update to Unicode 5.0.
63583         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
63584         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
63585         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
63586         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
63587         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
63588         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
63589         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
63590         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
63591         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
63592         U+10A3F, U+1D242..U+1D244.
63593         (nonspacing_table_ind): Update.
63594         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
63595         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
63596
63597 2007-07-08  Bruno Haible  <bruno@clisp.org>
63598
63599         Update to Unicode 5.0.
63600         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
63601         code transform. Extend the name index field of unicode_name_to_code and
63602         unicode_code_to_name from 16 to 24 bits.
63603         * lib/uniname/uniname.c (unicode_character_name,
63604         unicode_name_character): Add the range 0x12xxx to the code transform.
63605         * lib/uniname/uninames.h: Regenerated.
63606         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
63607
63608 2007-07-07  Bruno Haible  <bruno@clisp.org>
63609
63610         * modules/wcwidth-tests: New file.
63611         * tests/test-wcwidth.c: New file.
63612
63613         Work around MacOS X wcwidth() bug.
63614         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
63615         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
63616         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
63617         original wcwidth in non-UTF-8 locales.
63618         * modules/wcwidth (Depends-on): Add localcharset, streq,
63619         uniwidth/width.
63620         * doc/functions/wcwidth.texi: Update.
63621
63622 2007-07-07  Bruno Haible  <bruno@clisp.org>
63623
63624         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
63625         (wcwidth): New declaration.
63626         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
63627         macros.
63628         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
63629         here. Prepare for creating <wchar.h> unconditionally.
63630         * modules/wchar (Depends-on): Add link-warning.
63631         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
63632         REPLACE_WCWIDTH, and GL_LINK_WARNING.
63633         * lib/wcwidth.h: Remove file.
63634         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
63635         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
63636         * modules/wcwidth (Files): Remove lib/wcwidth.h.
63637         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
63638         (Include): Replace wcwidth.h with <wchar.h>.
63639         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
63640         * lib/mbchar.h: Don't include wcwidth.h.
63641         * lib/mbswidth.c: Likewise.
63642         * NEWS: Mention the change.
63643
63644 2007-07-07  Bruno Haible  <bruno@clisp.org>
63645
63646         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
63647         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
63648         definition with an external declaration.
63649         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
63650         defined as a function. Remove AC_C_INLINE requirement.
63651         * modules/wcwidth (Files): Add lib/wcwidth.c.
63652         (Makefile.am): Remove redundant statement.
63653
63654 2007-07-07  Bruno Haible  <bruno@clisp.org>
63655
63656         * MODULES.html.sh (Unicode string functions): Add the new modules.
63657
63658         * tests/uniwidth/test-u32-strwidth.c: New file.
63659         * modules/uniwidth/u32-strwidth-tests: New file.
63660
63661         * lib/uniwidth/u32-strwidth.c: New file.
63662         * modules/uniwidth/u32-strwidth: New file.
63663
63664         * tests/uniwidth/test-u16-strwidth.c: New file.
63665         * modules/uniwidth/u16-strwidth-tests: New file.
63666
63667         * lib/uniwidth/u16-strwidth.c: New file.
63668         * modules/uniwidth/u16-strwidth: New file.
63669
63670         * tests/uniwidth/test-u8-strwidth.c: New file.
63671         * modules/uniwidth/u8-strwidth-tests: New file.
63672
63673         * lib/uniwidth/u8-strwidth.c: New file.
63674         * modules/uniwidth/u8-strwidth: New file.
63675
63676         * tests/uniwidth/test-u32-width.c: New file.
63677         * modules/uniwidth/u32-width-tests: New file.
63678
63679         * lib/uniwidth/u32-width.c: New file.
63680         * modules/uniwidth/u32-width: New file.
63681
63682         * tests/uniwidth/test-u16-width.c: New file.
63683         * modules/uniwidth/u16-width-tests: New file.
63684
63685         * lib/uniwidth/u16-width.c: New file.
63686         * modules/uniwidth/u16-width: New file.
63687
63688         * tests/uniwidth/test-u8-width.c: New file.
63689         * modules/uniwidth/u8-width-tests: New file.
63690
63691         * lib/uniwidth/u8-width.c: New file.
63692         * modules/uniwidth/u8-width: New file.
63693
63694         * tests/uniwidth/test-uc_width.c: New file.
63695         * modules/uniwidth/width-tests: New file.
63696
63697         * lib/uniwidth/width.c: New file, from GNU libiconv.
63698         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
63699         * modules/uniwidth/width: New file.
63700
63701         * lib/uniwidth.h: New file, from GNU libiconv.
63702         * modules/uniwidth/base: New file.
63703
63704 2007-07-07  Bruno Haible  <bruno@clisp.org>
63705
63706         * lib/uniname.h: New file, from GNU gettext.
63707         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
63708         * lib/uniname/uninames.h: New file, from GNU gettext.
63709         * lib/uniname/uniname.c: New file, from GNU gettext.
63710         * tests/uniname/test-uninames.sh: New file.
63711         * tests/uniname/test-uninames.c: New file, from GNU gettext.
63712         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
63713         * modules/uniname/base: New file.
63714         * modules/uniname/uniname: New file.
63715         * modules/uniname/uniname-tests: New file.
63716         * MODULES.html.sh (Unicode string functions): Add the new modules.
63717
63718 2007-07-06  Bruno Haible  <bruno@clisp.org>
63719
63720         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
63721
63722 2007-07-06  Bruno Haible  <bruno@clisp.org>
63723
63724         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
63725         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
63726         includes <cygwin/sys_time.h> which includes <sys/select.h> which
63727         include <sys/time.h>.
63728         Reported by Eric Blake.
63729
63730 2007-07-06  Eric Blake  <ebb9@byu.net>
63731
63732         Fix testing canonicalize on cygwin.
63733         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63734         Revert patch from 2007-06-19.
63735         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
63736         canonicalize module is also in use.
63737         * tests/test-canonicalize.c: New file.
63738         * tests/test-canonicalize.sh: Likewise.
63739         * modules/canonicalize-tests: Likewise.
63740
63741 2007-07-06  Jim Meyering  <jim@meyering.net>
63742
63743         * lib/getugroups.c (getugroups): Detect getgrent failure.
63744         Adjust comment to reflect reality: this function may return -1.
63745
63746 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
63747
63748         * build-aux/bootstrap (TP_URL,get_translations): Update to use
63749         the new TP address.
63750         (usage): Fix typo
63751         (gnulib_mk): New variable.
63752
63753 2007-07-05  Jim Meyering  <jim@meyering.net>
63754
63755         Don't let endgrent clobber errno, no matter how improbable.
63756         * lib/getugroups.c (getugroups): Save and restore errno around
63757         endgrent call.
63758
63759         Close the group DB even when failing with 2^31 or more members.
63760         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
63761
63762 2007-07-04  Jim Meyering  <jim@meyering.net>
63763
63764         * lib/getugroups.h: New file.
63765         * lib/getugroups.c: Include "getugroups.h".
63766         Remove uses of "register" keyword.
63767         Move local variable, "cp", down into scope where used.
63768         Give "username" parameter the "const" attribute.
63769         * modules/getugroups (Files): Add lib/getugroups.h
63770
63771 2007-07-04  Karl Berry  <karl@gnu.org>
63772
63773         * MODULES.html.sh (func_all_modules): Complete rename of
63774         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
63775
63776 2007-07-02  Bruno Haible  <bruno@clisp.org>
63777
63778         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
63779         mode, when inttypes.h comes from gnulib.
63780         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63781
63782 2007-07-02  Simon Josefsson  <simon@josefsson.org>
63783
63784         * NEWS: Mention lgpl module name change.
63785
63786         * modules/lgpl-2.1: Renamed from lgpl.
63787
63788         * NEWS: Mention gpl module name change.
63789
63790         * modules/gpl-3.0: New file, based on gpl-2.0.
63791
63792         * modules/gpl-2.0: Renamed from gpl.
63793
63794         * modules/gpl: Fix filename, doc/gpl.texi is now found at
63795         doc/gpl-2.0.texi.
63796
63797 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63798
63799         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
63800         #define __STDC_LIMIT_MACROS temporarily while including
63801         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
63802         Problem reported by Joel E. Denny in
63803         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
63804
63805 2007-07-01  Bruno Haible  <bruno@clisp.org>
63806
63807         * lib/unistdio.h: New file.
63808         * lib/unistdio/u-asnprintf.h: New file.
63809         * lib/unistdio/u-asprintf.h: New file.
63810         * lib/unistdio/u-printf-args.c: New file.
63811         * lib/unistdio/u-printf-args.h: New file.
63812         * lib/unistdio/u-printf-parse.h: New file.
63813         * lib/unistdio/u-snprintf.h: New file.
63814         * lib/unistdio/u-sprintf.h: New file.
63815         * lib/unistdio/u-vasprintf.h: New file.
63816         * lib/unistdio/u-vsnprintf.h: New file.
63817         * lib/unistdio/u-vsprintf.h: New file.
63818         * lib/unistdio/ulc-asnprintf.c: New file.
63819         * lib/unistdio/ulc-asprintf.c: New file.
63820         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
63821         * lib/unistdio/ulc-printf-parse.c: New file.
63822         * lib/unistdio/ulc-snprintf.c: New file.
63823         * lib/unistdio/ulc-sprintf.c: New file.
63824         * lib/unistdio/ulc-vasnprintf.c: New file.
63825         * lib/unistdio/ulc-vasprintf.c: New file.
63826         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
63827         * lib/unistdio/ulc-vsnprintf.c: New file.
63828         * lib/unistdio/ulc-vsprintf.c: New file.
63829         * lib/unistdio/u8-asnprintf.c: New file.
63830         * lib/unistdio/u8-asprintf.c: New file.
63831         * lib/unistdio/u8-printf-parse.c: New file.
63832         * lib/unistdio/u8-snprintf.c: New file.
63833         * lib/unistdio/u8-sprintf.c: New file.
63834         * lib/unistdio/u8-vasnprintf.c: New file.
63835         * lib/unistdio/u8-vasprintf.c: New file.
63836         * lib/unistdio/u8-vsnprintf.c: New file.
63837         * lib/unistdio/u8-vsprintf.c: New file.
63838         * lib/unistdio/u8-u8-asnprintf.c: New file.
63839         * lib/unistdio/u8-u8-asprintf.c: New file.
63840         * lib/unistdio/u8-u8-snprintf.c: New file.
63841         * lib/unistdio/u8-u8-sprintf.c: New file.
63842         * lib/unistdio/u8-u8-vasnprintf.c: New file.
63843         * lib/unistdio/u8-u8-vasprintf.c: New file.
63844         * lib/unistdio/u8-u8-vsnprintf.c: New file.
63845         * lib/unistdio/u8-u8-vsprintf.c: New file.
63846         * lib/unistdio/u16-asnprintf.c: New file.
63847         * lib/unistdio/u16-asprintf.c: New file.
63848         * lib/unistdio/u16-printf-parse.c: New file.
63849         * lib/unistdio/u16-snprintf.c: New file.
63850         * lib/unistdio/u16-sprintf.c: New file.
63851         * lib/unistdio/u16-vasnprintf.c: New file.
63852         * lib/unistdio/u16-vasprintf.c: New file.
63853         * lib/unistdio/u16-vsnprintf.c: New file.
63854         * lib/unistdio/u16-vsprintf.c: New file.
63855         * lib/unistdio/u16-u16-asnprintf.c: New file.
63856         * lib/unistdio/u16-u16-asprintf.c: New file.
63857         * lib/unistdio/u16-u16-snprintf.c: New file.
63858         * lib/unistdio/u16-u16-sprintf.c: New file.
63859         * lib/unistdio/u16-u16-vasnprintf.c: New file.
63860         * lib/unistdio/u16-u16-vasprintf.c: New file.
63861         * lib/unistdio/u16-u16-vsnprintf.c: New file.
63862         * lib/unistdio/u16-u16-vsprintf.c: New file.
63863         * lib/unistdio/u32-asnprintf.c: New file.
63864         * lib/unistdio/u32-asprintf.c: New file.
63865         * lib/unistdio/u32-printf-parse.c: New file.
63866         * lib/unistdio/u32-snprintf.c: New file.
63867         * lib/unistdio/u32-sprintf.c: New file.
63868         * lib/unistdio/u32-vasnprintf.c: New file.
63869         * lib/unistdio/u32-vasprintf.c: New file.
63870         * lib/unistdio/u32-vsnprintf.c: New file.
63871         * lib/unistdio/u32-vsprintf.c: New file.
63872         * lib/unistdio/u32-u32-asnprintf.c: New file.
63873         * lib/unistdio/u32-u32-asprintf.c: New file.
63874         * lib/unistdio/u32-u32-snprintf.c: New file.
63875         * lib/unistdio/u32-u32-sprintf.c: New file.
63876         * lib/unistdio/u32-u32-vasnprintf.c: New file.
63877         * lib/unistdio/u32-u32-vasprintf.c: New file.
63878         * lib/unistdio/u32-u32-vsnprintf.c: New file.
63879         * lib/unistdio/u32-u32-vsprintf.c: New file.
63880         * tests/unistdio/test-ulc-asnprintf1.c: New file.
63881         * tests/unistdio/test-ulc-asnprintf1.h: New file.
63882         * tests/unistdio/test-ulc-printf1.h: New file.
63883         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
63884         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
63885         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
63886         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
63887         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
63888         * tests/unistdio/test-ulc-vasprintf1.c: New file.
63889         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
63890         * tests/unistdio/test-ulc-vsprintf1.c: New file.
63891         * tests/unistdio/test-u8-asnprintf1.c: New file.
63892         * tests/unistdio/test-u8-asnprintf1.h: New file.
63893         * tests/unistdio/test-u8-printf1.h: New file.
63894         * tests/unistdio/test-u8-vasnprintf1.c: New file.
63895         * tests/unistdio/test-u8-vasnprintf2.c: New file.
63896         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
63897         * tests/unistdio/test-u8-vasnprintf3.c: New file.
63898         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
63899         * tests/unistdio/test-u8-vasprintf1.c: New file.
63900         * tests/unistdio/test-u8-vsnprintf1.c: New file.
63901         * tests/unistdio/test-u8-vsprintf1.c: New file.
63902         * tests/unistdio/test-u16-asnprintf1.c: New file.
63903         * tests/unistdio/test-u16-asnprintf1.h: New file.
63904         * tests/unistdio/test-u16-printf1.h: New file.
63905         * tests/unistdio/test-u16-vasnprintf1.c: New file.
63906         * tests/unistdio/test-u16-vasnprintf2.c: New file.
63907         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
63908         * tests/unistdio/test-u16-vasnprintf3.c: New file.
63909         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
63910         * tests/unistdio/test-u16-vasprintf1.c: New file.
63911         * tests/unistdio/test-u16-vsnprintf1.c: New file.
63912         * tests/unistdio/test-u16-vsprintf1.c: New file.
63913         * tests/unistdio/test-u32-asnprintf1.c: New file.
63914         * tests/unistdio/test-u32-asnprintf1.h: New file.
63915         * tests/unistdio/test-u32-printf1.h: New file.
63916         * tests/unistdio/test-u32-vasnprintf1.c: New file.
63917         * tests/unistdio/test-u32-vasnprintf2.c: New file.
63918         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
63919         * tests/unistdio/test-u32-vasnprintf3.c: New file.
63920         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
63921         * tests/unistdio/test-u32-vasprintf1.c: New file.
63922         * tests/unistdio/test-u32-vsnprintf1.c: New file.
63923         * tests/unistdio/test-u32-vsprintf1.c: New file.
63924         * modules/unistdio/base: New file.
63925         * modules/unistdio/u-printf-args: New file.
63926         * modules/unistdio/ulc-asnprintf: New file.
63927         * modules/unistdio/ulc-asprintf: New file.
63928         * modules/unistdio/ulc-fprintf: New file.
63929         * modules/unistdio/ulc-printf-parse: New file.
63930         * modules/unistdio/ulc-snprintf: New file.
63931         * modules/unistdio/ulc-sprintf: New file.
63932         * modules/unistdio/ulc-vasnprintf: New file.
63933         * modules/unistdio/ulc-vasprintf: New file.
63934         * modules/unistdio/ulc-vfprintf: New file.
63935         * modules/unistdio/ulc-vsnprintf: New file.
63936         * modules/unistdio/ulc-vsprintf: New file.
63937         * modules/unistdio/u8-asnprintf: New file.
63938         * modules/unistdio/u8-asprintf: New file.
63939         * modules/unistdio/u8-printf-parse: New file.
63940         * modules/unistdio/u8-snprintf: New file.
63941         * modules/unistdio/u8-sprintf: New file.
63942         * modules/unistdio/u8-vasnprintf: New file.
63943         * modules/unistdio/u8-vasprintf: New file.
63944         * modules/unistdio/u8-vsnprintf: New file.
63945         * modules/unistdio/u8-vsprintf: New file.
63946         * modules/unistdio/u8-u8-asnprintf: New file.
63947         * modules/unistdio/u8-u8-asprintf: New file.
63948         * modules/unistdio/u8-u8-snprintf: New file.
63949         * modules/unistdio/u8-u8-sprintf: New file.
63950         * modules/unistdio/u8-u8-vasnprintf: New file.
63951         * modules/unistdio/u8-u8-vasprintf: New file.
63952         * modules/unistdio/u8-u8-vsnprintf: New file.
63953         * modules/unistdio/u8-u8-vsprintf: New file.
63954         * modules/unistdio/u16-asnprintf: New file.
63955         * modules/unistdio/u16-asprintf: New file.
63956         * modules/unistdio/u16-printf-parse: New file.
63957         * modules/unistdio/u16-snprintf: New file.
63958         * modules/unistdio/u16-sprintf: New file.
63959         * modules/unistdio/u16-vasnprintf: New file.
63960         * modules/unistdio/u16-vasprintf: New file.
63961         * modules/unistdio/u16-vsnprintf: New file.
63962         * modules/unistdio/u16-vsprintf: New file.
63963         * modules/unistdio/u16-u16-asnprintf: New file.
63964         * modules/unistdio/u16-u16-asprintf: New file.
63965         * modules/unistdio/u16-u16-snprintf: New file.
63966         * modules/unistdio/u16-u16-sprintf: New file.
63967         * modules/unistdio/u16-u16-vasnprintf: New file.
63968         * modules/unistdio/u16-u16-vasprintf: New file.
63969         * modules/unistdio/u16-u16-vsnprintf: New file.
63970         * modules/unistdio/u16-u16-vsprintf: New file.
63971         * modules/unistdio/u32-asnprintf: New file.
63972         * modules/unistdio/u32-asprintf: New file.
63973         * modules/unistdio/u32-printf-parse: New file.
63974         * modules/unistdio/u32-snprintf: New file.
63975         * modules/unistdio/u32-sprintf: New file.
63976         * modules/unistdio/u32-vasnprintf: New file.
63977         * modules/unistdio/u32-vasprintf: New file.
63978         * modules/unistdio/u32-vsnprintf: New file.
63979         * modules/unistdio/u32-vsprintf: New file.
63980         * modules/unistdio/u32-u32-asnprintf: New file.
63981         * modules/unistdio/u32-u32-asprintf: New file.
63982         * modules/unistdio/u32-u32-snprintf: New file.
63983         * modules/unistdio/u32-u32-sprintf: New file.
63984         * modules/unistdio/u32-u32-vasnprintf: New file.
63985         * modules/unistdio/u32-u32-vasprintf: New file.
63986         * modules/unistdio/u32-u32-vsnprintf: New file.
63987         * modules/unistdio/u32-u32-vsprintf: New file.
63988         * modules/unistdio/ulc-asnprintf-tests: New file.
63989         * modules/unistdio/ulc-vasnprintf-tests: New file.
63990         * modules/unistdio/ulc-vasprintf-tests: New file.
63991         * modules/unistdio/ulc-vsnprintf-tests: New file.
63992         * modules/unistdio/ulc-vsprintf-tests: New file.
63993         * modules/unistdio/u8-asnprintf-tests: New file.
63994         * modules/unistdio/u8-vasnprintf-tests: New file.
63995         * modules/unistdio/u8-vasprintf-tests: New file.
63996         * modules/unistdio/u8-vsnprintf-tests: New file.
63997         * modules/unistdio/u8-vsprintf-tests: New file.
63998         * modules/unistdio/u16-asnprintf-tests: New file.
63999         * modules/unistdio/u16-vasnprintf-tests: New file.
64000         * modules/unistdio/u16-vasprintf-tests: New file.
64001         * modules/unistdio/u16-vsnprintf-tests: New file.
64002         * modules/unistdio/u16-vsprintf-tests: New file.
64003         * modules/unistdio/u32-asnprintf-tests: New file.
64004         * modules/unistdio/u32-vasnprintf-tests: New file.
64005         * modules/unistdio/u32-vasprintf-tests: New file.
64006         * modules/unistdio/u32-vsnprintf-tests: New file.
64007         * modules/unistdio/u32-vsprintf-tests: New file.
64008         * MODULES.html.sh (Unicode string functions): Add the new modules.
64009
64010 2007-07-01  Bruno Haible  <bruno@clisp.org>
64011
64012         * lib/sprintf.c (sprintf): Limit the available length estimation,
64013         to avoid address wraparound.
64014         * lib/vsprintf.c (vsprintf): Likewise.
64015         * modules/sprintf-posix (Dependencies): Add stdint.
64016         * modules/vsprintf-posix (Dependencies): Likewise.
64017
64018 2007-07-01  Bruno Haible  <bruno@clisp.org>
64019
64020         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64021         Windows PATH as well. Conservative double-quoting. Comments.
64022
64023 2007-07-01  Bruno Haible  <bruno@clisp.org>
64024             Eric Blake  <ebb9@byu.net>
64025             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64026
64027         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64028         empty components in $PATH, denoting '.'.
64029
64030 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64031
64032         * gnulib-tool: Fix indentation.
64033         (func_create_megatestdir): Likewise.
64034         Report by Bruno Haible.
64035
64036 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64037
64038         Sync from Automake.
64039         * build-aux/gnupload: Fix shell portability issues with for loops.
64040         Report by Karl Berry.
64041
64042 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64043
64044         * build-aux/maint.mk (POURL): Use translationproject.org.
64045
64046 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64047             Bruno Haible  <bruno@clisp.org>
64048
64049         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64050         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64051         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64052         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64053         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64054
64055 2007-06-27  Bruno Haible  <bruno@clisp.org>
64056
64057         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64058         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64059
64060 2007-06-26  Karl Berry  <karl@gnu.org>
64061
64062         * MODULES.html.sh: remove xreadlink-with-size.
64063
64064 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64065
64066         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64067         method that I hope also handles the double-include problem noted
64068         by Bruno Haible in
64069         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64070
64071 2007-06-23  Bruno Haible  <bruno@clisp.org>
64072
64073         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64074         Don't let the 'mostlyclean' target fail if the last subdirectory could
64075         not be removed.
64076         Reported by Karl Berry.
64077
64078 2007-06-23  Bruno Haible  <bruno@clisp.org>
64079
64080         * gnulib-tool (echo): Add a speedier workaround for ksh.
64081         * tests/test-echo.sh: Likewise.
64082
64083 2007-06-23  Bruno Haible  <bruno@clisp.org>
64084
64085         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64086         * tests/test-echo.sh: Likewise.
64087
64088 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64089
64090         * gnulib-tool (IFS): Initialize early, so we don't set it to
64091         empty later.
64092         (self_abspathname): Rewrite algorithm to set it, reindent.
64093         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
64094         (func_create_megatestdir): Merge some sed scripts.
64095
64096 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64097
64098         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
64099         exposed by Sun Studio 11 cc on Solaris 8.
64100
64101 2007-06-22  Bruno Haible  <bruno@clisp.org>
64102
64103         * gnulib-tool (echo): Ensure the echo primitive does not interpret
64104         backslashes.
64105         * tests/test-echo.sh: New file.
64106
64107 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64108
64109         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
64110         simplify `sed_replace_build_aux' scripts, they are portable but
64111         echoing them with `echo' is not.
64112         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
64113
64114 2007-06-21  Karl Berry  <karl@gnu.org>
64115
64116         * config/srclist.txt: guess we can't handle the licenses via
64117         srclist at the moment.
64118
64119 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64120
64121         * MODULES.html.sh: Add include_next.
64122         * modules/include_next: New file.
64123
64124 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64125
64126         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
64127         INCLUDE_NEXT.
64128         (gl_CHECK_NEXT_HEADERS): New macro.
64129         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
64130         the obsolescent gl_ABSOLUTE_HEADER.
64131         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
64132         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
64133         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
64134         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
64135         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
64136         * m4/math_h.m4 (gl_MATH_H): Likewise.
64137         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
64138         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
64139         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
64140         * m4/stdint.m4 (gl_STDINT_H): Likewise.
64141         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
64142         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
64143         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
64144         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64145         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64146         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
64147         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
64148         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
64149         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
64150         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64151         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64152         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64153         * m4/inttypes.m4 (gl_INTTYPES_H): Define
64154         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
64155         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
64156         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
64157         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
64158         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
64159         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
64160         * lib/float_.h: Likewise.
64161         * lib/inttypes_.h: Likewise.
64162         * lib/math_.h: Likewise.
64163         * lib/search_.h: Likewise.
64164         * lib/signal_.h: Likewise.
64165         * lib/stdint_.h: Likewise.
64166         * lib/stdio_.h: Likewise.
64167         * lib/stdlib_.h: Likewise.
64168         * lib/string_.h: Likewise.
64169         * lib/sys_stat_.h: Likewise.
64170         * lib/sys_time_.h: Likewise.
64171         * lib/time_.h: Likewise.
64172         * lib/unistd_.h: Likewise.
64173         * lib/wchar_.h: Likewise.
64174         * lib/wctype_.h: Likewise.
64175         * lib/dirent_.h: Likewise.
64176         * lib/iconv_.h: Likewise.
64177         * lib/locale_.h: Likewise.
64178         * lib/netinet_in_.h: Likewise.
64179         * lib/sys_select_.h: Likewise.
64180         * lib/sys_socket_.h: Likewise.
64181         * lib/sysexits_.h: Likewise.
64182         * modules/fcntl (Depends-on): Depend on include_next, not
64183         absolute_header.
64184         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
64185         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
64186         * modules/fchdir: Likewise.
64187         * modules/float: Likewise.
64188         * modules/iconv_open: Likewise.
64189         * modules/inttypes: Likewise.
64190         * modules/locale: Likewise.
64191         * modules/math: Likewise.
64192         * modules/netinet_in: Likewise.
64193         * modules/search: Likewise.
64194         * modules/signal: Likewise.
64195         * modules/stdint: Likewise.
64196         * modules/stdio: Likewise.
64197         * modules/stdlib: Likewise.
64198         * modules/string: Likewise.
64199         * modules/sys_select: Likewise.
64200         * modules/sys_socket: Likewise.
64201         * modules/sys_stat: Likewise.
64202         * modules/sys_time: Likewise.
64203         * modules/sysexits: Likewise.
64204         * modules/time: Likewise.
64205         * modules/unistd: Likewise.
64206         * modules/wchar: Likewise.
64207         * modules/wctype: Likewise.
64208         * modules/sys_stat: Change maintainer to "all".
64209         * modules/unistd: Likewise.
64210
64211 2007-06-20  Karl Berry  <karl@gnu.org>
64212
64213         * config/srclist.txt: track www changes in license files.
64214
64215 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
64216
64217         * build-aux/bootstrap: Remove stray dot.
64218         Make sure build_aux settings are honored when linking
64219         gnulib_extra_files.
64220
64221 2007-06-19  Eric Blake  <ebb9@byu.net>
64222
64223         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64224         Allow compilation on cygwin.
64225
64226 2007-06-19  Jim Meyering  <jim@meyering.net>
64227
64228         xreadlink-with-size: Remove module.  No longer used.
64229         Ex-callers now use xreadlink or mreadlink-with-size.
64230         * modules/xreadlink-with-size: Remove module.
64231         * lib/xreadlink-with-size.c: Remove file.
64232         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
64233         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
64234         just before the function definition *is* accurate.
64235
64236         Eliminate one way canonicalize_filename_mode could exit.
64237         * lib/canonicalize.c (canonicalize_filename_mode):
64238         Use mreadlink_with_size, not xreadlink_with_size.
64239
64240 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
64241
64242         Detect porting problems to FreeBSD/arm, which has time_t wider than
64243         long int.  Original problem reported for GNU diff by Xin Li in
64244         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
64245         * modules/getdate (Depends-on): Add intprops, verify.
64246         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
64247         is an integer type no wider than long int.
64248
64249 2007-06-18  Jim Meyering  <jim@meyering.net>
64250
64251         New module: mreadlink-with-size.
64252         * MODULES.html.sh: Add mreadlink-with-size.
64253         * modules/mreadlink-with-size: New module
64254         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
64255         not xreadlink-with-size.
64256         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
64257
64258 2007-06-16  Bruno Haible  <bruno@clisp.org>
64259
64260         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
64261         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
64262         Reported by Gary V. Vaughan <gary@gnu.org>.
64263
64264 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
64265
64266         Revamp lchown so that it lives in unistd.h where it belongs.
64267         * lib/lchown.h: Remove.
64268         * lib/dirchownmod.c: Don't include lib/lchown.h.
64269         * lib/fchownat.c: Likewise.
64270         * lib/openat.c: Likewise.
64271         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
64272         does not follow symlinks.
64273         (EOPNOTSUPP): Define if not defined.
64274         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
64275         is defined to 0.
64276         (lchown): New decl.
64277         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
64278         Do not check for lchown decl.
64279         Set REPLACE_LCHOWN.
64280         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
64281         REPLACE_LCHOWN.
64282         * modules/chown: Make it clear it follows symlinks.
64283         * modules/lchown: Make it clear it doesn't follow symlinks.
64284         (Files): Remove lib/lchown.h
64285         (Depends-on): Add unistd.
64286         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
64287         (Include): Include <unistd.h>, not "lchown.h".
64288         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
64289         REPLACE_LCHOWN.
64290
64291 2007-06-15  Jim Meyering  <jim@meyering.net>
64292
64293         Change license (GPL to LGPL) of fsusage and dependents.
64294         * modules/fsusage (License): Change to LGPL.
64295         * modules/full-read (License): Likewise.
64296         * modules/full-write (License): Likewise.
64297         * modules/safe-read (License): Likewise.
64298         * modules/safe-write (License): Likewise.
64299
64300 2007-06-14  Ben Pfaff  <blp@gnu.org>
64301
64302         Missing part of allocsa -> malloca transition.
64303         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
64304         gl_MALLOCA.
64305
64306 2007-06-12  Bruno Haible  <bruno@clisp.org>
64307
64308         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
64309         to ia64, x86_64, i386.
64310         Reported by Eric Blake.
64311
64312 2007-06-12  Bruno Haible  <bruno@clisp.org>
64313
64314         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
64315         cross-compiling to x86_64.
64316
64317 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
64318
64319         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
64320         glitch reported by Ralf Wildenhues in
64321         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
64322
64323         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
64324         Vin Shelton.
64325
64326 2007-06-11  Bruno Haible  <bruno@clisp.org>
64327
64328         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
64329         replacement string.
64330         Reported by Eric Blake.
64331
64332 2007-06-10  Bruno Haible  <bruno@clisp.org>
64333
64334         Prepare vasnprintf code for use with Unicode strings.
64335         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
64336         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
64337         TYPE_U32_STRING.
64338         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
64339         a_u32_string variants.
64340         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64341         * lib/printf-args.c: Don't include config.h and the specification
64342         header if PRINTF_FETCHARGS is already defined.
64343         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64344         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
64345         TYPE_U16_STRING, TYPE_U32_STRING.
64346         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
64347         u16_directive, u16_directives, u32_directive, u32_directives): New
64348         types.
64349         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
64350         New declarations.
64351         * lib/printf-parse.c: Don't include config.h and the specification
64352         header if PRINTF_PARSE is already defined. Eliminate the set of
64353         parameters for WIDE_CHAR_VERSION; the user of this file must provide
64354         them now. Include c-ctype.h.
64355         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
64356         directive and CHAR_T_ONLY_ASCII.
64357         * lib/vasnprintf.c: Don't include config.h and the specification header
64358         if VASNPRINTF is already defined.
64359         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
64360         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
64361         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
64362         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
64363         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
64364         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
64365         code accordingly.
64366         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
64367         pad_ourselves also in this case, with the 'c' and 's' directives, and
64368         with a different notion of "width".
64369         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
64370
64371 2007-06-10  Bruno Haible  <bruno@clisp.org>
64372
64373         * modules/unistr/u32-mbsnlen: New file.
64374         * lib/unistr/u32-mbsnlen.c: New file.
64375
64376         * modules/unistr/u16-mbsnlen: New file.
64377         * lib/unistr/u16-mbsnlen.c: New file.
64378
64379         * modules/unistr/u8-mbsnlen: New file.
64380         * lib/unistr/u8-mbsnlen.c: New file.
64381
64382         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
64383         declarations.
64384
64385 2007-06-10  Bruno Haible  <bruno@clisp.org>
64386
64387         * lib/string_.h (mbsnlen): New declaration.
64388         * lib/mbsnlen.c: New file.
64389         * m4/mbsnlen.m4: New file.
64390         * modules/mbsnlen: New file.
64391         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
64392         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
64393         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
64394
64395 2007-06-10  Bruno Haible  <bruno@clisp.org>
64396
64397         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
64398
64399 2007-06-10  Bruno Haible  <bruno@clisp.org>
64400
64401         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
64402         * lib/mbuiter.h: Likewise.
64403
64404 2007-06-10  Bruno Haible  <bruno@clisp.org>
64405
64406         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
64407         declaration.
64408
64409 2007-06-10  Karl Berry  <karl@gnu.org>
64410
64411         * config/srclist.txt: remove gettext entries, Bruno prefers
64412         to update individually.
64413
64414 2007-06-10  Bruno Haible  <bruno@clisp.org>
64415
64416         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
64417         'maxlen'. Ensure only length + width bytes are allocated, not
64418         length + 1 + width.
64419
64420 2007-06-09  Bruno Haible  <bruno@clisp.org>
64421
64422         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
64423         (CHAR_T): Remove macro.
64424         (VASNPRINTF): Update.
64425
64426 2007-06-09  Bruno Haible  <bruno@clisp.org>
64427
64428         * MODULES.html.sh (Unicode string functions): Add the new modules.
64429
64430         * modules/uniconv/u32-conv-to-enc: New file.
64431         * lib/uniconv/u32-conv-to-enc.c: New file.
64432         * modules/uniconv/u32-conv-to-enc-tests: New file.
64433         * tests/uniconv/test-u32-conv-to-enc.c: New file.
64434
64435         * modules/uniconv/u16-conv-to-enc: New file.
64436         * lib/uniconv/u16-conv-to-enc.c: New file.
64437         * lib/uniconv/u-conv-to-enc.h: New file.
64438         * modules/uniconv/u16-conv-to-enc-tests: New file.
64439         * tests/uniconv/test-u16-conv-to-enc.c: New file.
64440
64441         * modules/uniconv/u8-conv-to-enc: New file.
64442         * lib/uniconv/u8-conv-to-enc.c: New file.
64443         * modules/uniconv/u8-conv-to-enc-tests: New file.
64444         * tests/uniconv/test-u8-conv-to-enc.c: New file.
64445
64446         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
64447         u32_conv_to_encoding): New declarations.
64448
64449 2007-06-09  Bruno Haible  <bruno@clisp.org>
64450
64451         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
64452
64453 2007-06-09  Bruno Haible  <bruno@clisp.org>
64454
64455         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
64456         * modules/malloca: Renamed from modules/allocsa, updated.
64457         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
64458         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
64459         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
64460         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
64461         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
64462         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
64463         * modules/xmalloca: Renamed from modules/xallocsa, updated.
64464         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
64465         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
64466         * modules/c-strcasestr (Depends-on): Update.
64467         * lib/c-strcasestr.c: Update.
64468         * modules/c-strstr (Depends-on): Update.
64469         * lib/c-strstr.c: Update.
64470         * modules/canonicalize-lgpl (Depends-on): Update.
64471         * lib/canonicalize-lgpl.c: Update.
64472         * modules/clean-temp (Depends-on): Update.
64473         * lib/clean-temp.c: Update.
64474         * modules/csharpcomp (Depends-on): Update.
64475         * lib/csharpcomp.c: Update.
64476         * modules/csharpexec (Depends-on): Update.
64477         * lib/csharpexec.c: Update.
64478         * modules/javacomp (Depends-on): Update.
64479         * lib/javacomp.c: Update.
64480         * modules/javaexec (Depends-on): Update.
64481         * lib/javaexec.c: Update.
64482         * modules/mbscasestr (Depends-on): Update.
64483         * lib/mbscasestr.c: Update.
64484         * modules/mbsstr (Depends-on): Update.
64485         * lib/mbsstr.c: Update.
64486         * modules/setenv (Depends-on): Update.
64487         * lib/setenv.c: Update.
64488         * modules/strcasestr (Depends-on): Update.
64489         * lib/strcasestr.c: Update.
64490         * modules/striconveha (Depends-on): Update.
64491         * lib/striconveha.c: Update.
64492         * modules/relocatable-prog-wrapper (Files): Update.
64493         * lib/relocwrapper.c: Update.
64494         * build-aux/install-reloc: Update.
64495         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
64496
64497 2007-06-08  Bruno Haible  <bruno@clisp.org>
64498
64499         Port to uClibc.
64500         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
64501         * lib/fpurge.c (fpurge): Likewise.
64502         * lib/freading.c (freading): Likewise.
64503         * lib/fseeko.c (rpl_fseeko): Likewise.
64504         * lib/fseterr.c (fseterr): Likewise.
64505         * lib/fwriting.c (fwriting): Likewise.
64506         * tests/test-fflush.c (main): Avoid a failure on uClibc.
64507
64508 2007-06-08  Bruno Haible  <bruno@clisp.org>
64509
64510         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
64511         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
64512         * modules/gettext (Files): Add m4/intlmacosx.m4.
64513
64514 2007-06-07  Bruno Haible  <bruno@clisp.org>
64515
64516         * modules/localename-tests: New file.
64517         * tests/test-localename.c: New file.
64518
64519         New module 'localename'.
64520         * lib/localename.h: New file.
64521         * lib/localename.c: New file, from GNU gettext.
64522         * m4/localename.m4: New file.
64523         * modules/localename: New file.
64524
64525 2007-06-07  Bruno Haible  <bruno@clisp.org>
64526
64527         Work around the lack of <wchar.h> on some builds of uClibc.
64528         * doc/headers/wchar.texi: Update.
64529         * lib/wchar_.h: Include <wchar.h> only if it exists.
64530         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
64531         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
64532         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
64533         doesn't exist.
64534         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
64535         * modules/mbfile (Depends-on): Add wchar.
64536         * modules/mbiter (Depends-on): Likewise.
64537         * modules/mbuiter (Depends-on): Likewise.
64538         Reported by Simon Josefsson.
64539
64540 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
64541
64542         Work around problem reported by Steven M. Schweda in
64543         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
64544         Tru64 5.1B with the Compaq compiler environment installed declares
64545         an 'isblank' function but does not define it in the C library.
64546         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
64547         * lib/regex_internal.h (isblank): Likewise.
64548         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
64549         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64550
64551 2007-06-05  Bruno Haible  <bruno@clisp.org>
64552
64553         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
64554         ia64.
64555         * modules/printf-safe: New file.
64556         * modules/fprintf-posix (Depends-on): Add printf-safe.
64557         * modules/printf-posix (Depends-on): Likewise.
64558         * modules/snprintf-posix (Depends-on): Likewise.
64559         * modules/sprintf-posix (Depends-on): Likewise.
64560         * modules/vasnprintf-posix (Depends-on): Likewise.
64561         * modules/vasprintf-posix (Depends-on): Likewise.
64562         * modules/vfprintf-posix (Depends-on): Likewise.
64563         * modules/vprintf-posix (Depends-on): Likewise.
64564         * modules/vsnprintf-posix (Depends-on): Likewise.
64565         * modules/vsprintf-posix (Depends-on): Likewise.
64566         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
64567         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
64568         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
64569         "no" on i386, x86_64, ia64.
64570         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
64571         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64572         on i386, x86_64, ia64.
64573         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
64574         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64575         on i386, x86_64, ia64.
64576         * tests/test-vasnprintf-posix.c: Include float.h.
64577         (LDBL80_WORDS): New macro.
64578         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64579         on i386, x86_64, ia64.
64580         * tests/test-vasprintf-posix.c: Include float.h.
64581         (LDBL80_WORDS): New macro.
64582         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64583         on i386, x86_64, ia64.
64584         * tests/test-snprintf-posix.c: Include float.h.
64585         * tests/test-sprintf-posix.c: Likewise.
64586         * tests/test-vsnprintf-posix.c: Likewise.
64587         * tests/test-vsprintf-posix.c: Likewise.
64588
64589 2007-06-05  Bruno Haible  <bruno@clisp.org>
64590
64591         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
64592         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
64593         non-IEEE numbers on i386, x86_64, ia64.
64594         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
64595         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
64596         * tests/test-isnanl.h: Include float.h.
64597         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
64598
64599 2007-06-05  Bruno Haible  <bruno@clisp.org>
64600
64601         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
64602         also the %a / %A. Handle the %a / %A code before this extra handling.
64603
64604 2007-06-05  Bruno Haible  <bruno@clisp.org>
64605
64606         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
64607         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
64608
64609 2007-06-05  Bruno Haible  <bruno@clisp.org>
64610
64611         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
64612         typo in variable name.
64613
64614 2007-06-05  Eric Blake  <ebb9@byu.net>
64615
64616         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
64617         Reported by Simon Josefsson.
64618
64619 2007-06-04  Bruno Haible  <bruno@clisp.org>
64620
64621         Avoid test failures on some PowerPC platforms.
64622         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
64623         Define differently for PowerPC.
64624         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
64625         Reported by Gary V. Vaughan <gary@gnu.org>.
64626
64627 2007-06-02  Bruno Haible  <bruno@clisp.org>
64628
64629         Fix test-stdint failure on FreeBSD/ia64.
64630         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
64631         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
64632         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
64633         * doc/headers/stdint.texi: Update.
64634
64635 2007-06-01  Bruno Haible  <bruno@clisp.org>
64636
64637         * tests/test-binary-io.c (main): Pass a third argument to open().
64638         Reported by Gary V. Vaughan <gary@gnu.org>.
64639
64640 2007-06-01  Bruno Haible  <bruno@clisp.org>
64641
64642         * doc/functions/frexpl.texi: Update for mingw.
64643
64644 2007-06-01  Bruno Haible  <bruno@clisp.org>
64645
64646         * tests/test-lseek.c (main): Disable test of errno for invalid third
64647         argument.
64648         * doc/functions/lseek.texi: Update.
64649         Reported by Gary V. Vaughan <gary@gnu.org>.
64650
64651 2007-05-28  Bruno Haible  <bruno@clisp.org>
64652
64653         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
64654
64655 2007-05-31  Eric Blake  <ebb9@byu.net>
64656
64657         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
64658         cross compiling.
64659
64660 2007-05-30  Eric Blake  <ebb9@byu.net>
64661         and Bruno Haible  <bruno@clisp.org>
64662
64663         Work around mingw test failures exposed by m4-1.4.9b.
64664         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
64665         * tests/test-unistd.c: Disable uid_t and git_t tests for the
64666         moment.
64667
64668 2007-05-30  Bruno Haible  <bruno@clisp.org>
64669
64670         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
64671         assuming that they are closed. Needed on HP-UX 11.
64672
64673 2007-05-29  Bruno Haible  <bruno@clisp.org>
64674
64675         Fix a problem with #include_next.
64676         * lib/dirent_.h: Split the double-inclusion guard.
64677         * lib/fcntl_.h: Likewise.
64678         * lib/float_.h: Likewise.
64679         * lib/iconv_.h: Likewise.
64680         * lib/inttypes_.h: Likewise.
64681         * lib/locale_.h: Likewise.
64682         * lib/math_.h: Likewise.
64683         * lib/netinet_in_.h: Likewise.
64684         * lib/search_.h: Likewise.
64685         * lib/signal_.h: Likewise.
64686         * lib/stdint_.h: Likewise.
64687         * lib/stdio_.h: Likewise.
64688         * lib/stdlib_.h: Likewise.
64689         * lib/string_.h: Likewise.
64690         * lib/sys_select_.h: Likewise.
64691         * lib/sys_socket_.h: Likewise.
64692         * lib/sys_stat_.h: Likewise.
64693         * lib/sys_time_.h: Likewise.
64694         * lib/sysexits_.h: Likewise.
64695         * lib/time_.h: Likewise.
64696         * lib/unistd_.h: Likewise.
64697         * lib/wchar_.h: Likewise.
64698         * lib/wctype_.h: Likewise.
64699
64700 2007-05-29  Bruno Haible  <bruno@clisp.org>
64701
64702         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
64703         for the moment.
64704
64705 2007-05-29  Bruno Haible  <bruno@clisp.org>
64706
64707         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
64708         invocation.
64709         Reported by Eric Blake.
64710
64711 2007-05-29  Bruno Haible  <bruno@clisp.org>
64712
64713         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
64714         compiling case.
64715
64716 2007-05-29  Eric Blake  <ebb9@byu.net>
64717             Bruno Haible  <bruno@clisp.org>
64718
64719         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
64720         cross compiles.
64721
64722 2007-05-28  Eric Blake  <ebb9@byu.net>
64723
64724         * modules/closein-tests (test_closein_LDADD): Support test on
64725         cygwin with libtool.
64726
64727 2007-05-28  Bruno Haible  <bruno@clisp.org>
64728
64729         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
64730         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64731         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64732         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64733         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64734         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64735         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64736         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64737         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64738
64739 2007-05-28  Eric Blake  <ebb9@byu.net>
64740
64741         Unconditionally include <config.h> in unit tests.
64742         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
64743         * tests/test-allocsa.c, tests/test-arcfour.c,
64744         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
64745         tests/test-array_list.c, tests/test-array_oset.c,
64746         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
64747         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
64748         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
64749         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
64750         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
64751         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
64752         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
64753         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
64754         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
64755         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
64756         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
64757         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
64758         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
64759         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
64760         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
64761         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
64762         test-md5.c, test-memmem.c, test-printf-posix.c,
64763         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
64764         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
64765         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
64766         test-strcasestr.c, test-striconv.c, test-striconveh.c,
64767         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
64768         test-vasnprintf-posix2.c, test-vasnprintf.c,
64769         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
64770         test-vfprintf-posix.c, test-vprintf-posix.c,
64771         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
64772         test-xvasprintf.c: Likewise.
64773
64774 2007-05-28  Bruno Haible  <bruno@clisp.org>
64775
64776         * gnulib-tool (func_import): Remember the --with-tests command-line
64777         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
64778         Reported by Eric Blake.
64779
64780 2007-05-28  Bruno Haible  <bruno@clisp.org>
64781
64782         * modules/ftell-tests: New file.
64783         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
64784         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
64785
64786         * lib/ftell.c: New file.
64787         * modules/ftell: New file.
64788         * m4/ftell.m4: New file.
64789         * doc/functions/ftell.texi: Update.
64790         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
64791         REPLACE_FTELL.
64792         * lib/stdio_.h (rpl_ftell): New declaration.
64793         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
64794         REPLACE_FTELL.
64795
64796 2007-05-28  Eric Blake  <ebb9@byu.net>
64797
64798         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
64799
64800 2007-05-28  Bruno Haible  <bruno@clisp.org>
64801
64802         * modules/fseek-tests: New file.
64803         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
64804         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
64805
64806         * lib/fseek.c: New file.
64807         * modules/fseek: New file.
64808         * m4/fseek.m4: New file.
64809         * doc/functions/fseek.texi: Update.
64810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
64811         REPLACE_FSEEK.
64812         * lib/stdio_.h (rpl_fseek): New declaration.
64813         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
64814         REPLACE_FSEEK.
64815
64816 2007-05-28  Bruno Haible  <bruno@clisp.org>
64817
64818         * lib/stdio_.h (fflush): More comments.
64819
64820 2007-05-28  Bruno Haible  <bruno@clisp.org>
64821
64822         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
64823         runtime test.
64824
64825 2007-05-28  Eric Blake  <ebb9@byu.net>
64826
64827         Improve lseek module.
64828         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
64829         * lib/unistd_.h (lseek): Scale back link warning message.
64830         * tests/test-lseek.c: Beef up test.
64831         * tests/test-lseek.sh: Exercise more facets of lseek.
64832         Reported by Bruno Haible.
64833
64834 2007-05-28  Bruno Haible  <bruno@clisp.org>
64835
64836         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
64837         to define.
64838
64839 2007-05-27  Bruno Haible  <bruno@clisp.org>
64840
64841         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
64842
64843 2007-05-27  Bruno Haible  <bruno@clisp.org>
64844
64845         * modules/openmp: New file.
64846         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
64847         Noah Misch.
64848
64849 2007-05-26  Bruno Haible  <bruno@clisp.org>
64850
64851         * modules/chdir-long (Depends-on): Add fchdir.
64852         * modules/chdir-safer (Depends-on): Likewise.
64853         * modules/fts (Depends-on): Likewise.
64854         * modules/fts-lgpl (Depends-on): Likewise.
64855         * modules/openat (Depends-on): Likewise.
64856         * modules/savewd (Depends-on): Likewise.
64857
64858 2007-05-24  Eric Blake  <ebb9@byu.net>
64859
64860         Fix lseek on mingw.
64861         * modules/lseek: New module.
64862         * m4/lseek.m4: New file.
64863         * lib/lseek.c: New file.
64864         * modules/lseek-tests: New file.
64865         * tests/test-lseek.c: New file.
64866         * tests/test-lseek.sh: New file.
64867         * MODULES.html.sh: Document lseek module.
64868         * modules/fflush (Depends-on): Add lseek, fseeko.
64869         * modules/fseeko (Depends-on): Likewise.
64870         * modules/ftello (Depends-on): Likewise.
64871         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
64872         broken.
64873         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
64874         broken.
64875         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
64876         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
64877         * lib/ftello.c (rpl_ftello): Likewise.
64878         * tests/test-fseeko.c (main): Test this.
64879         * tests/test-fseeko.sh: Likewise.
64880         * tests/test-ftello.c (main): Likewise.
64881         * tests/test-ftello.sh: Likewise.
64882         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
64883         implies replacing fseek.
64884         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
64885         HAVE_FTELLO.
64886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
64887         * modules/unistd (Makefile.am): Likewise.
64888         * lib/unistd_.h (lseek): Declare a replacement.
64889         * doc/functions/lseek.texi (lseek): Document this fix.
64890         * doc/functions/fseek.texi (fseek): Likewise.
64891         * doc/functions/ftell.texi (ftell): Likewise.
64892
64893 2007-05-24  Bruno Haible  <bruno@clisp.org>
64894
64895         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
64896         in the printed representation of a NaN.
64897         * tests/test-vasprintf-posix.c (test_function): Likewise.
64898         * tests/test-snprintf-posix.h (test_function): Likewise.
64899         * tests/test-sprintf-posix.h (test_function): Likewise.
64900         Reported by Eric Blake.
64901
64902 2007-05-23  Eric Blake  <ebb9@byu.net>
64903
64904         Fix fseeko/ftello on cygwin 1.5.24.
64905         * doc/functions/fseeko.texi (fseeko): Document the fix.
64906         * doc/functions/ftello.texi (ftello): Document the fix.
64907         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
64908         * doc/functions/stdout.text (stdout): New file.
64909         * doc/functions/stderr.text (stderr): New file.
64910         * doc/gnulib.texi (Function Substitutes): Use new files.
64911         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
64912         prior to 1.7.0.
64913         * tests/test-ftello.c (main): Likewise for ftello.
64914         * tests/test-fseeko.sh: New file.
64915         * tests/test-ftello.sh: New file.
64916         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
64917         with seekable stdin.
64918         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
64919         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
64920         (gl_REPLACE_FSEEKO): New macro.
64921         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
64922         * modules/fseeko (Files): Distribute fseeko.c.
64923         * modules/ftello (Files): Distribute ftello.c.
64924         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
64925         mode.
64926         * lib/ftello.c (rpl_ftello): New file.
64927         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
64928         fseeko, ftello.
64929         (gl_STDIN_LARGE_OFFSET): New macro.
64930         * modules/stdio (Makefile.am): Perform the replacement.
64931         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
64932
64933 2007-05-23  Bruno Haible  <bruno@clisp.org>
64934
64935         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
64936         GNULIB_POSIXCHECK is defined.
64937
64938 2007-05-21  Bruno Haible  <bruno@clisp.org>
64939
64940         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
64941         Check also the output for NaN arguments. When cross-compiling, guess
64942         no on IRIX.
64943         * lib/vasnprintf.c: Update comments.
64944         * tests/test-vasnprintf-posix.c (strisnan): New function.
64945         (test_function): Use it.
64946         * tests/test-vasprintf-posix.c (strisnan): New function.
64947         (test_function): Use it.
64948         * tests/test-snprintf-posix.h (strisnan): New function.
64949         (test_function): Use it.
64950         * tests/test-sprintf-posix.h (strisnan): New function.
64951         (test_function): Use it.
64952         Reported by Eric Blake.
64953
64954 2007-05-20  Bruno Haible  <bruno@clisp.org>
64955
64956         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
64957         numbers that fails on BeOS.
64958         * doc/functions/frexpl.texi: Update.
64959
64960 2007-05-20  Jim Meyering  <jim@meyering.net>
64961
64962         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
64963         forced upon us by glibc-2.6.
64964
64965 2007-05-20  Bruno Haible  <bruno@clisp.org>
64966
64967         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
64968         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
64969         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
64970         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
64971         NEED_PRINTF_INFINITE.
64972         (is_infinitel): New function.
64973         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
64974         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
64975         gl_PREREQ_VASNPRINTF_INFINITE.
64976         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
64977         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64978         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
64979         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
64980         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
64981         gl_PREREQ_VASNPRINTF_INFINITE.
64982         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64983         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64984         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64985         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64986         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64987         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64988         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64989         * doc/functions/fprintf.texi: Update.
64990         * doc/functions/printf.texi: Update.
64991         * doc/functions/snprintf.texi: Update.
64992         * doc/functions/sprintf.texi: Update.
64993         * doc/functions/vfprintf.texi: Update.
64994         * doc/functions/vprintf.texi: Update.
64995         * doc/functions/vsnprintf.texi: Update.
64996         * doc/functions/vsprintf.texi: Update.
64997
64998 2007-05-20  Bruno Haible  <bruno@clisp.org>
64999
65000         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65001         was not found in libc.
65002         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65003
65004 2007-05-20  Bruno Haible  <bruno@clisp.org>
65005
65006         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65007         printed as "-nan" instead of "nan".
65008         * tests/test-vasprintf-posix.c (test_function): Likewise.
65009         * tests/test-snprintf-posix.h (test_function): Likewise.
65010         * tests/test-sprintf-posix.h (test_function): Likewise.
65011         Needed for HP-UX 11.
65012
65013 2007-05-20  Jim Meyering  <jim@meyering.net>
65014
65015         Fix buggy test for the fchownat-deref bug.
65016         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65017         symlink required for the run-test.  Without it, this test would
65018         always declare that fchownat doesn't work, and client code would
65019         unnecessarily use the replacement function with fixed libc.
65020         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65021         Reported by Greg Schafer.
65022
65023 2007-05-19  Bruno Haible  <bruno@clisp.org>
65024
65025         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65026         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65027         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65028         Needed for IRIX 6.5 and Solaris 2.5.1.
65029
65030 2007-05-19  Bruno Haible  <bruno@clisp.org>
65031
65032         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65033         (test_function): Skip tests involving -0.0 on platforms where
65034         -0.0 = 0.0.
65035         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65036         (test_function): Skip tests involving -0.0 on platforms where
65037         -0.0 = 0.0.
65038         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65039         (test_function): Skip tests involving -0.0 on platforms where
65040         -0.0 = 0.0.
65041         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65042         (test_function): Skip tests involving -0.0 on platforms where
65043         -0.0 = 0.0.
65044         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65045         tests.
65046         * tests/test-printf-posix.h (test_function): Likewise.
65047         * tests/test-printf-posix.output: Remove all -0.0 related results.
65048         Needed for IRIX 6.5.
65049
65050 2007-05-19  Bruno Haible  <bruno@clisp.org>
65051
65052         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65053         printed as "nan0x7fffffff" instead of "nan".
65054         * tests/test-vasprintf-posix.c (test_function): Likewise.
65055         * tests/test-snprintf-posix.h (test_function): Likewise.
65056         * tests/test-sprintf-posix.h (test_function): Likewise.
65057         * tests/test-fprintf-posix.h (NaN): Remove macro.
65058         (test_function): Remove all NaN related tests.
65059         * tests/test-printf-posix.h (NaN): Remove macro.
65060         (test_function): Remove all NaN related tests.
65061         * tests/test-printf-posix.output: Remove all NaN related results.
65062         Needed for IRIX 6.5.
65063
65064 2007-05-19  Bruno Haible  <bruno@clisp.org>
65065
65066         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65067         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65068
65069 2007-05-19  Bruno Haible  <bruno@clisp.org>
65070
65071         * lib/float_.h: New file.
65072         * m4/float_h.m4: New file.
65073         * modules/float: New file.
65074         * modules/isnanl (Dependencies): Add float.
65075         * modules/isnanl-nolibm (Dependencies): Likewise.
65076         * modules/mathl (Dependencies): Likewise.
65077         * modules/printf-frexpl (Dependencies): Likewise.
65078         * modules/signbit (Dependencies): Likewise.
65079         * modules/vasnprintf (Dependencies): Likewise.
65080         * doc/headers/float.texi: Update.
65081
65082 2007-05-19  Jim Meyering  <jim@meyering.net>
65083
65084         * lib/utimens.c (gl_futimens): Rename from futimens,
65085         now that glibc-2.6 declares futimens.
65086         * lib/utimens.h: Likewise.
65087
65088 2007-05-19  Bruno Haible  <bruno@clisp.org>
65089
65090         Avoid test failures on mingw.
65091         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65092         * tests/test-printf-posix.sh: Likewise.
65093         * tests/test-vfprintf-posix.sh: Likewise.
65094         * tests/test-vprintf-posix.sh: Likewise.
65095
65096 2007-05-19  Bruno Haible  <bruno@clisp.org>
65097
65098         Fix *printf result for NaN, Inf, -0.0 on mingw.
65099         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
65100         * lib/vasnprintf.c: Include math.h and isnan.h.
65101         (is_infinite_or_zero): New function.
65102         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
65103         values in the %f, %F, %e, %E, %g, %G directives.
65104         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
65105         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65106         gl_PRINTF_INFINITE and test its result. Invoke
65107         gl_PREREQ_VASNPRINTF_INFINITE.
65108         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65109         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65110         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65111         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65112         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65113         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65114         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65115         * doc/functions/fprintf.texi: Update.
65116         * doc/functions/printf.texi: Update.
65117         * doc/functions/snprintf.texi: Update.
65118         * doc/functions/sprintf.texi: Update.
65119         * doc/functions/vfprintf.texi: Update.
65120         * doc/functions/vprintf.texi: Update.
65121         * doc/functions/vsnprintf.texi: Update.
65122         * doc/functions/vsprintf.texi: Update.
65123
65124 2007-05-19  Bruno Haible  <bruno@clisp.org>
65125
65126         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
65127         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
65128         Instead of multiplying with 10^k, set extra_zeroes to k.
65129         (scale10_round_long_double): Remove function.
65130
65131 2007-05-18  Bruno Haible  <bruno@clisp.org>
65132
65133         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
65134         introduced on 2007-05-06.
65135
65136 2007-05-18  Bruno Haible  <bruno@clisp.org>
65137
65138         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
65139         %g directives.
65140         * tests/test-vasprintf-posix.c (test_function): Likewise.
65141         * tests/test-snprintf-posix.h (test_function): Likewise.
65142         * tests/test-sprintf-posix.h (test_function): Likewise.
65143
65144 2007-05-18  Bruno Haible  <bruno@clisp.org>
65145
65146         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
65147         (strmatch): New function.
65148         (test_function): Test the %f directive on numbers of various exponents.
65149         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
65150         (strmatch): New function.
65151         (test_function): Test the %f directive on numbers of various exponents.
65152         * tests/test-snprintf-posix.h (strmatch): New function.
65153         (test_function): Test the %f directive on numbers of various exponents.
65154         * tests/test-sprintf-posix.h (strmatch): New function.
65155         (test_function): Test the %f directive on numbers of various exponents.
65156         * tests/test-snprintf-posix.c (SIZEOF): New macro.
65157         * tests/test-sprintf-posix.c (SIZEOF): New macro.
65158         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
65159         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
65160
65161 2007-05-18  Bruno Haible  <bruno@clisp.org>
65162
65163         Add support for 'long double' number output.
65164         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
65165         * lib/vasnprintf.c: Include math.h and float+.h.
65166         (mp_limb_t): New type.
65167         (GMP_LIMB_BITS): New macro.
65168         (mp_twolimb_t): New type.
65169         (GMP_TWOLIMB_BITS): New macro.
65170         (mpn_t): New type.
65171         (multiply, divide, convert_to_decimal, decode_long_double,
65172         scale10_round_long_double, scale10_round_decimal_long_double,
65173         floorlog10l): New functions.
65174         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
65175         for the %f, %F, %e, %E, %g, %G directives.
65176         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
65177         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65178         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
65179         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
65180         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65181         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65182         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65183         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65184         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65185         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65186         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65187         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
65188         * modules/snprintf-posix (Depends-on): Likewise.
65189         * modules/sprintf-posix (Depends-on): Likewise.
65190         * modules/vasnprintf-posix (Depends-on): Likewise.
65191         * modules/vasprintf-posix (Depends-on): Likewise.
65192         * modules/vfprintf-posix (Depends-on): Likewise.
65193         * modules/vsnprintf-posix (Depends-on): Likewise.
65194         * modules/vsprintf-posix (Depends-on): Likewise.
65195         * modules/vasnprintf (Files): Add lib/float+.h.
65196         * doc/functions/fprintf.texi: Update.
65197         * doc/functions/printf.texi: Update.
65198         * doc/functions/snprintf.texi: Update.
65199         * doc/functions/sprintf.texi: Update.
65200         * doc/functions/vfprintf.texi: Update.
65201         * doc/functions/vprintf.texi: Update.
65202         * doc/functions/vsnprintf.texi: Update.
65203         * doc/functions/vsprintf.texi: Update.
65204
65205 2007-05-18  Bruno Haible  <bruno@clisp.org>
65206
65207         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
65208
65209 2007-05-18  Bruno Haible  <bruno@clisp.org>
65210
65211         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
65212         for printing 64-bit integers. Needed for mingw.
65213
65214 2007-05-18  Bruno Haible  <bruno@clisp.org>
65215
65216         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65217         gl_FUNC_FREXPL_WORKS.
65218         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
65219
65220 2007-05-18  Bruno Haible  <bruno@clisp.org>
65221
65222         * modules/frexpl-nolibm-tests: New file.
65223
65224         * modules/frexpl-nolibm: New file.
65225         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
65226
65227 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65228
65229         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
65230         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65231         GCC 4.2, which otherwise issues a lot of warnings.
65232         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
65233         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
65234         Likewise.
65235         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
65236         * modules/iconv_open (iconv.h): Likewise.
65237         * modules/locale (locale.h): Likewise.
65238         * modules/netinet_in (netinet/in.h): Likewise.
65239         * modules/sys_select (sys_select.h): Likewise.
65240         * modules/sys_socket (sys/socket.h): Likewise.
65241         * modules/sys_stat (sys/stat.h): Likewise.
65242         * modules/sysexits (sysexits.h): Likewise.
65243         * modules/unistd (unistd.h): Likewise.
65244
65245 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65246
65247         * modules/closein-tests (Makefile.am): Distribute
65248         `test-closein.sh'.
65249
65250 2007-05-17  Bruno Haible  <bruno@clisp.org>
65251
65252         * tests/test-printf-posix.output: Renamed from
65253         tests/test-fprintf-posix.out.
65254         * modules/fprintf-posix-tests: Update.
65255         * modules/printf-posix-tests: Update.
65256         * modules/vfprintf-posix-tests: Update.
65257         * modules/vprintf-posix-tests: Update.
65258         * tests/test-fprintf-posix.sh: Update.
65259         * tests/test-printf-posix.sh: Update.
65260         * tests/test-vfprintf-posix.sh: Update.
65261         * tests/test-vprintf-posix.sh: Update.
65262         Reported by Ralf Wildenhues.
65263
65264 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65265
65266         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
65267         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65268         GCC 4.2, which otherwise issues a lot of warnings.
65269         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
65270         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
65271         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
65272         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
65273         it should no longer be needed.
65274         * lib/string_.h: Likewise.
65275         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
65276         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
65277         * modules/inttypes (inttypes.h): Likewise.
65278         * modules/math (math.h): Likewise.
65279         * modules/search (search.h): Likewise.
65280         * modules/signal (signal.h): Likewise.
65281         * modules/stdint (stdint.h): Likewise.
65282         * modules/stdio (stdio.h): Likewise.
65283         * modules/stdlib (stdlib.h): Likewise.
65284         * modules/string (string.h): Likewise.
65285         * modules/sys_time (sys/time.h): Likewise.
65286         * modules/time (time.h): Likewise.
65287         * modules/wchar (wchar.h): Likewise.
65288         * modules/wctype (wtype.h): Likewise.
65289
65290 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
65291
65292         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
65293
65294 2007-05-13  Bruno Haible  <bruno@clisp.org>
65295
65296         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
65297         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65298         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
65299         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65300         (gl_PREREQ_STRTOK_R): Don't require it here.
65301
65302 2007-05-13  Bruno Haible  <bruno@clisp.org>
65303
65304         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
65305         when used in C++ mode.
65306
65307 2007-05-12  Bruno Haible  <bruno@clisp.org>
65308
65309         * lib/linebuffer.h: Tweak doc.
65310         * lib/linebuffer.c: Likewise.
65311
65312 2007-05-12  James Youngman  <jay@gnu.org>
65313
65314         * lib/linebuffer.c (readlinebuffer_delim): New function,
65315         like readlinebuffer, but use a caller-specified delimiter.
65316         (readlinebuffer): Just call readlinebuffer_delim with '\n'
65317         as the delimiter.
65318         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
65319
65320 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65321
65322         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
65323         * modules/openat (Files): Remove openat-die.c.
65324         (Depends-on): Add openat-die.
65325         * modules/openat-die: New module.
65326
65327 2007-05-06  Bruno Haible  <bruno@clisp.org>
65328
65329         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
65330         Update with info about Cygwin.
65331         * doc/functions/fprintf.texi: Update.
65332         * doc/functions/printf.texi: Update.
65333         * doc/functions/snprintf.texi: Update.
65334         * doc/functions/sprintf.texi: Update.
65335         * doc/functions/vfprintf.texi: Update.
65336         * doc/functions/vprintf.texi: Update.
65337         * doc/functions/vsnprintf.texi: Update.
65338         * doc/functions/vsprintf.texi: Update.
65339         Reported by Eric Blake.
65340
65341 2007-05-06  Bruno Haible  <bruno@clisp.org>
65342
65343         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
65344         padding ourselves for the floating-point directives.
65345         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
65346         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
65347         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65348         gl_PRINTF_FLAG_ZERO and test its result. Invoke
65349         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
65350         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65351         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65352         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65353         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65354         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65355         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65356         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65357         * tests/test-snprintf-posix.h (test_function): Also check the width
65358         and some flags in the %f directive.
65359         * tests/test-sprintf-posix.h (test_function): Likewise.
65360         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65361         * tests/test-vasprintf-posix.c (test_function): Likewise.
65362         * doc/functions/fprintf.texi: Update.
65363         * doc/functions/printf.texi: Update.
65364         * doc/functions/snprintf.texi: Update.
65365         * doc/functions/sprintf.texi: Update.
65366         * doc/functions/vfprintf.texi: Update.
65367         * doc/functions/vprintf.texi: Update.
65368         * doc/functions/vsnprintf.texi: Update.
65369         * doc/functions/vsprintf.texi: Update.
65370
65371 2007-05-06  Bruno Haible  <bruno@clisp.org>
65372
65373         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
65374         pass the ' flag character to sprintf or snprintf.
65375         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
65376         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
65377         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65378         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
65379         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
65380         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65381         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65382         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65383         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65384         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65385         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65386         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65387         * tests/test-snprintf-posix.h (test_function): Also check the grouping
65388         flag.
65389         * tests/test-sprintf-posix.h (test_function): Likewise.
65390         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65391         * tests/test-vasprintf-posix.c (test_function): Likewise.
65392         * doc/functions/fprintf.texi: Update.
65393         * doc/functions/printf.texi: Update.
65394         * doc/functions/snprintf.texi: Update.
65395         * doc/functions/sprintf.texi: Update.
65396         * doc/functions/vfprintf.texi: Update.
65397         * doc/functions/vprintf.texi: Update.
65398         * doc/functions/vsnprintf.texi: Update.
65399         * doc/functions/vsprintf.texi: Update.
65400
65401 2007-05-01  Bruno Haible  <bruno@clisp.org>
65402
65403         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
65404
65405 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
65406
65407         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
65408         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
65409
65410 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65411
65412         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
65413         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
65414         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
65415
65416 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
65417
65418         * lib/argp-help.c (struct hol_entry): New member `ord'.
65419         (HOL_ENTRY_PTRCMP): Use ord for comparison
65420         (hol_sort): Initialize ord.
65421
65422 2007-05-01  Bruno Haible  <bruno@clisp.org>
65423
65424         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
65425         Reported by Eric Blake.
65426         * doc/gnulib.texi (Function Substitutes): Update.
65427
65428 2007-05-01  Bruno Haible  <bruno@clisp.org>
65429
65430         * doc/functions.texi: Remove file, now redundant through
65431         doc/functions/*.texi.
65432
65433 2007-05-01  Bruno Haible  <bruno@clisp.org>
65434
65435         * modules/argp (Depends-on): Add sleep.
65436
65437 2007-05-01  Bruno Haible  <bruno@clisp.org>
65438
65439         * modules/sleep-tests: New file.
65440         * tests/test-sleep.c: New file.
65441
65442         * modules/sleep: New file.
65443         * lib/sleep.c: New file.
65444         * m4/sleep.m4: New file.
65445         * lib/unistd_.h (sleep): New declaration.
65446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
65447         HAVE_SLEEP.
65448         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
65449         * doc/functions/sleep.texi: Document the sleep module.
65450
65451 2007-05-01  Bruno Haible  <bruno@clisp.org>
65452
65453         * lib/sigprocmask.h: Remove file.
65454         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
65455         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
65456         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
65457         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
65458         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
65459         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
65460         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
65461         HAVE_SIGSET_T as a shell variable.
65462         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
65463         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
65464         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
65465         (Depends-on): Add signal. Remove verify.
65466         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
65467         (Include): Mention <signal.h> instead of sigprocmask.h.
65468         * NEWS: Mention the change.
65469         * lib/fatal-signal.c: Don't include sigprocmask.h.
65470
65471 2007-05-01  Bruno Haible  <bruno@clisp.org>
65472
65473         * modules/signal: New file.
65474         * lib/signal_.h: New file.
65475         * m4/signal_h.m4: New file.
65476
65477 2007-05-01  Bruno Haible  <bruno@clisp.org>
65478
65479         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
65480         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
65481         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
65482         HAVE_WCTYPE_CTMP_BUG into wctype.h.
65483
65484 2007-05-01  Bruno Haible  <bruno@clisp.org>
65485
65486         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
65487         configure time.
65488         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
65489         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
65490         * modules/sys_stat (Makefile.am): Substitute their values into
65491         sys/stat.h.
65492
65493 2007-05-01  Bruno Haible  <bruno@clisp.org>
65494
65495         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
65496         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
65497         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
65498
65499 2007-05-01  Bruno Haible  <bruno@clisp.org>
65500
65501         * doc/header/assert.texi: Undo last change: don't mention the gnulib
65502         'assert' module here.
65503
65504 2007-05-01  Bruno Haible  <bruno@clisp.org>
65505
65506         * doc/functions/*.texi: New files.
65507         * doc/functions/google-ranking.txt: New file.
65508         * doc/gnulib.texi (Function Substitutes): New chapter.
65509         (ctime, inet_ntoa): Remove sections.
65510         * doc/ctime.texi: Remove file.
65511         * doc/inet_ntoa.texi: Remove file.
65512         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
65513         dependencies.
65514         (%.info): New rule, specifying a --reference-limit.
65515
65516 2007-05-01  Bruno Haible  <bruno@clisp.org>
65517
65518         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
65519
65520 2007-05-01  Bruno Haible  <bruno@clisp.org>
65521
65522         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
65523         the portability of 'mkdir' to mingw systems.
65524
65525 2007-05-01  Bruno Haible  <bruno@clisp.org>
65526
65527         * doc/headers/google-ranking.txt: New file.
65528
65529 2007-04-30  Eric Blake  <ebb9@byu.net>
65530
65531         Prefer fseeko to fseek.
65532         * modules/getpass (Depends-on): Add fseeko.
65533         * lib/getpass.c (getpass): Use fseeko, not fseek.
65534
65535 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
65536
65537         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
65538         assumes the sorting is stable, while most qsort implementations
65539         are not.  Use argument addresses to ensure they never compare as
65540         equal.
65541
65542         * tests/test-argp-2.sh (usage-indent test): Fix output
65543         (func_compare): Restore diff options
65544         * tests/test-argp.c: Restore #include "progname.h"
65545
65546 2007-04-29  Bruno Haible  <bruno@clisp.org>
65547
65548         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
65549         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65550         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
65551         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65552         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
65553         (configure.ac): Define CHECK_SNPRINTF_POSIX.
65554         (TESTS, check_PROGRAMS): Add test-snprintf.
65555         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
65556         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
65557         (TESTS, check_PROGRAMS): Add test-vsnprintf.
65558         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
65559         assertions that fail on HP-UX, OSF/1, or IRIX.
65560         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
65561
65562 2007-04-29  Bruno Haible  <bruno@clisp.org>
65563
65564         * MODULES.html.sh (posix_functions): Remove 'contents'.
65565
65566 2007-04-29  Karl Berry  <karl@gnu.org>
65567
65568         * config/srclist.txt (gendocs_template_min): new entry.
65569
65570 2007-04-29  Bruno Haible  <bruno@clisp.org>
65571
65572         Work around fpurge bug on BSD systems.
65573         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
65574         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
65575         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
65576         fpurge to rpl_fpurge if the system already has this function.
65577         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
65578         the case where the system already has this function. Correct invariants
65579         on BSD systems.
65580         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
65581         BSD systems.
65582
65583 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
65584
65585         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
65586         proposed by Sven Verdoolaege.
65587
65588         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
65589         options.
65590         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
65591         (usage and help tests): Update
65592
65593 2007-04-29  Bruno Haible  <bruno@clisp.org>
65594
65595         * tests/test-fflush.c (main): Use a file of size 17, not 10.
65596         Print more information in case of failure. Disable a test on BeOS.
65597
65598 2007-04-29  Bruno Haible  <bruno@clisp.org>
65599
65600         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
65601         This helps debugging on systems on which no gdb is available.
65602
65603 2007-04-29  Bruno Haible  <bruno@clisp.org>
65604
65605         * lib/freading.h: Improve comments.
65606         * lib/fwriting.h: Likewise.
65607         * tests/test-freading.c (main): Don't check freading immediately after
65608         repositioning. Needed for glibc.
65609
65610 2007-04-29  Bruno Haible  <bruno@clisp.org>
65611
65612         * lib/freading.c (freading): Trivial simplification.
65613
65614 2007-04-28  Bruno Haible  <bruno@clisp.org>
65615
65616         * tests/test-fwriting.c (main): Also test the interaction between
65617         fflush and fwriting.
65618         * modules/fwriting-tests (Depends-on): Add fflush.
65619
65620         * tests/test-freading.c (main): Also test the interaction between
65621         fflush and freading.
65622         * modules/freading-tests (Depends-on): Add fflush.
65623
65624 2007-04-28  Bruno Haible  <bruno@clisp.org>
65625
65626         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
65627         fseeko and ftello.
65628         Suggested by Eric Blake.
65629
65630 2007-04-28  Jim Meyering  <jim@meyering.net>
65631
65632         Avoid false-negative in gl_STDINT_H's C99 conformance test.
65633         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
65634         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
65635
65636 2007-04-27  Eric Blake  <ebb9@byu.net>
65637
65638         * doc/headers/assert.texi (assert.h): Document assert module use.
65639
65640 2007-04-27  Bruno Haible  <bruno@clisp.org>
65641
65642         * doc/headers/*.texi: New files.
65643         * doc/gnulib.texi (Header File Substitutes): New chapter.
65644         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
65645         dependencies.
65646         (standards.info ,standards.html, standards.dvi): Update dependencies.
65647         (mostlyclean, clean): New targets.
65648
65649 2007-04-27  Bruno Haible  <bruno@clisp.org>
65650
65651         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
65652         * modules/sysexits (Files, Makefile.am): Update.
65653
65654         * lib/sys_socket_.h: Renamed from lib/socket_.h.
65655         * modules/sys_socket (Files, Makefile.am): Update.
65656
65657         * lib/sys_stat_.h: Renamed from lib/stat_.h.
65658         * modules/sys_stat (Files, Makefile.am): Update.
65659
65660 2007-04-27  Eric Blake  <ebb9@byu.net>
65661
65662         * lib/freading.h: Improve comments.
65663         * lib/fwriting.h: Likewise.
65664         * lib/fflush.c: Likewise.
65665
65666         Fix closein for mingw.
65667         * modules/closein-tests: Add tests for closein.
65668         * tests/test-closein.c: New file.
65669         * tests/test-closein.sh: Likewise.
65670         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
65671         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
65672
65673 2007-04-27  Bruno Haible  <bruno@clisp.org>
65674
65675         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
65676         version is < 6.
65677         * lib/math_.h [__DECC]: Likewise.
65678         * lib/stdio_.h [__DECC]: Likewise.
65679         * lib/stdlib_.h [__DECC]: Likewise.
65680         * lib/string_.h [__DECC]: Likewise.
65681         * lib/time_.h [__DECC]: Likewise.
65682         * lib/wchar_.h [__DECC]: Likewise.
65683         * lib/wctype_.h [__DECC]: Likewise.
65684
65685 2007-04-27  Bruno Haible  <bruno@clisp.org>
65686
65687         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
65688
65689 2007-04-27  Bruno Haible  <bruno@clisp.org>
65690
65691         * lib/fflush.c: Add comments.
65692         * modules/fpurge-tests (Depends-on): Add fflush.
65693         * modules/freadable-tests (Depends-on): Likewise.
65694         * modules/fwritable-tests (Depends-on): Likewise.
65695
65696 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
65697
65698         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
65699         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
65700         Report by Bruno Haible <bruno@clisp.org>.
65701
65702 2007-04-26  Eric Blake  <ebb9@byu.net>
65703
65704         Fix fflush on mingw.
65705         * modules/fflush (Depends-on): Add freading.
65706         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
65707         but unread data.
65708
65709 2007-04-26  Eric Blake  <ebb9@byu.net>
65710         and Bruno Haible  <bruno@clisp.org>
65711
65712         Implement freading and fwriting.
65713         * lib/freading.c: New file.
65714         * lib/freading.h: Likewise.
65715         * m4/freading.m4: Likewise.
65716         * modules/freading: Likewise.
65717         * modules/freading-tests: Likewise.
65718         * tests/test-freading.c: Likewise.
65719         * lib/fwriting.c: New file.
65720         * lib/fwriting.h: Likewise.
65721         * m4/fwriting.m4: Likewise.
65722         * modules/fwriting: Likewise.
65723         * modules/fwriting-tests: Likewise.
65724         * tests/test-fwriting.c: Likewise.
65725         * MODULES.html.sh (File stream based Input/Output): Mention them.
65726
65727 2007-04-26  Bruno Haible  <bruno@clisp.org>
65728
65729         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
65730         'long' when we assume it.
65731         Suggested by Eric Blake.
65732
65733 2007-04-26  Bruno Haible  <bruno@clisp.org>
65734
65735         Ensure fseeko, ftello are declared on glibc systems.
65736         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
65737         * modules/fseeko (configure.ac-early): Likewise.
65738         * modules/ftello (configure.ac-early): Likewise.
65739         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
65740         AC_FUNC_FSEEKO for this.
65741         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
65742         (gl_CHECK_FSEEKO): Remove macro.
65743
65744 2007-04-26  Bruno Haible  <bruno@clisp.org>
65745
65746         * tests/test-fflush.c (main): Also check the ftell result after
65747         fflush and fseek/fseeko.
65748         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
65749         file descriptor position cache in the stream.
65750         * lib/fseeko.c (rpl_fseeko): Likewise.
65751
65752 2007-04-26  Bruno Haible  <bruno@clisp.org>
65753
65754         * modules/fflush-tests (Depends-on): Add fseeko.
65755
65756 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
65757             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65758
65759         * lib/argz_.h: ensure error_t definition is obtained in same
65760         mechanism system argz.h would have.
65761         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
65762         argz facilities are known bad.  Err on the side of caution if
65763         cross-compiling.
65764
65765 2007-04-25  Eric Blake  <ebb9@byu.net>
65766
65767         * lib/fpurge.c (includes): Use stdlib.h for free.
65768         * tests/test-fflush.c (main): Also test fflush-fseeko.
65769
65770 2007-04-25  Bruno Haible  <bruno@clisp.org>
65771
65772         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
65773         * lib/fseeko.c: New file.
65774         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
65775         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
65776         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
65777         gl_FUNC_FSEEKO.
65778         (gl_FUNC_FSEEKO): Invoke it.
65779         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
65780         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
65781         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
65782
65783 2007-04-25  Bruno Haible  <bruno@clisp.org>
65784
65785         * modules/fflush (Depends-on): Add ftello.
65786
65787 2007-04-25  Bruno Haible  <bruno@clisp.org>
65788
65789         * modules/ftello-tests: New file.
65790         * tests/test-ftello.c: New file.
65791
65792         * modules/ftello: New file.
65793         * m4/ftello.m4: New file.
65794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
65795         HAVE_FTELLO.
65796         * lib/stdio_.h (ftello): New declaration.
65797         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
65798         HAVE_FTELLO.
65799
65800 2007-04-25  Bruno Haible  <bruno@clisp.org>
65801
65802         * modules/fseeko-tests: New file.
65803         * tests/test-fseeko.c: New file.
65804
65805         * modules/fseeko: New file.
65806         * m4/fseeko.m4: New file.
65807         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
65808         HAVE_FSEEKO.
65809         * lib/stdio_.h (fseeko): New declaration.
65810         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
65811         HAVE_FSEEKO.
65812
65813 2007-04-25  Bruno Haible  <bruno@clisp.org>
65814
65815         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
65816
65817 2007-04-25  Bruno Haible  <bruno@clisp.org>
65818
65819         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
65820         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
65821         * tests/test-unistd.c: Likewise.
65822         * tests/test-fcntl.c: Likewise.
65823
65824 2007-04-23  Eric Blake  <ebb9@byu.net>
65825
65826         * lib/fflush.c: Fix missing include.
65827         Reported by Bruno Haible.
65828
65829 2007-04-23  Bruno Haible  <bruno@clisp.org>
65830
65831         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
65832         Reported by Eric Blake.
65833
65834 2007-04-23  Bruno Haible  <bruno@clisp.org>
65835
65836         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
65837
65838 2007-04-23  Bruno Haible  <bruno@clisp.org>
65839
65840         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
65841
65842 2007-04-23  Bruno Haible  <bruno@clisp.org>
65843
65844         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
65845         Needed on HP-UX 11.
65846
65847 2007-04-16  Eric Blake  <ebb9@byu.net>
65848
65849         Make fflush rely on fpurge.
65850         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
65851         open coding all variants.
65852         * modules/fflush (Depends-on): Add fpurge and unistd.
65853         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
65854         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
65855
65856         Fix --with-tests compilation on cygwin.
65857         * modules/argmatch-tests (Makefile.am): List gnulib library first
65858         in LDADD.
65859         * modules/argp-tests (Makefile.am): Likewise.
65860         * modules/array-list-tests (Makefile.am): Likewise.
65861         * modules/array-oset-tests (Makefile.am): Likewise.
65862         * modules/avltree-list-tests (Makefile.am): Likewise.
65863         * modules/avltree-oset-tests (Makefile.am): Likewise.
65864         * modules/avltreehash-list-tests (Makefile.am): Likewise.
65865         * modules/carray-list-tests (Makefile.am): Likewise.
65866         * modules/dirname-tests (Makefile.am): Likewise.
65867         * modules/frexp-tests (Makefile.am): Likewise.
65868         * modules/isnanl-tests (Makefile.am): Likewise.
65869         * modules/linked-list-tests (Makefile.am): Likewise.
65870         * modules/linkedhash-list-tests (Makefile.am): Likewise.
65871         * modules/lock-tests (Makefile.am): Likewise.
65872         * modules/rbtree-list-tests (Makefile.am): Likewise.
65873         * modules/rbtree-oset-tests (Makefile.am): Likewise.
65874         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
65875         * modules/tls-tests (Makefile.am): Likewise.
65876         * modules/tsearch-tests (Makefile.am): Likewise.
65877         * modules/xvasprintf-tests (Makefile.am): Likewise.
65878
65879         Fix fpurge for cygwin.
65880         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
65881         value.
65882         * modules/fpurge-tests (Depends-on): Clean up trash.
65883
65884 2007-04-16  Simon Josefsson  <simon@josefsson.org>
65885
65886         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
65887
65888         * m4/autobuild.m4: Re-indent.
65889
65890 2007-04-13  Bruno Haible  <bruno@clisp.org>
65891
65892         * modules/fpurge-tests: New file.
65893         * tests/test-fpurge.c: New file.
65894
65895         * modules/fpurge: New file.
65896         * lib/fpurge.h: New file.
65897         * lib/fpurge.c: New file.
65898         * m4/fpurge.m4: New file.
65899
65900 2007-04-13  Bruno Haible  <bruno@clisp.org>
65901
65902         * modules/fbufmode-tests: New file.
65903         * tests/test-fbufmode.c: New file.
65904
65905         * modules/fbufmode: New file.
65906         * lib/fbufmode.h: New file.
65907         * lib/fbufmode.c: New file.
65908         * m4/fbufmode.m4: New file.
65909
65910 2007-04-13  Bruno Haible  <bruno@clisp.org>
65911
65912         * modules/fwritable-tests: New file.
65913         * tests/test-fwritable.c: New file.
65914
65915         * modules/fwritable: New file.
65916         * lib/fwritable.h: New file.
65917         * lib/fwritable.c: New file.
65918         * m4/fwritable.m4: New file.
65919
65920 2007-04-13  Bruno Haible  <bruno@clisp.org>
65921
65922         * modules/freadable-tests: New file.
65923         * tests/test-freadable.c: New file.
65924
65925         * modules/freadable: New file.
65926         * lib/freadable.h: New file.
65927         * lib/freadable.c: New file.
65928         * m4/freadable.m4: New file.
65929
65930 2007-04-13  Bruno Haible  <bruno@clisp.org>
65931
65932         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
65933         MOSTLYCLEANFILES.
65934
65935 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65936
65937         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
65938         gzip bootstrap.conf to avoid dragging in i18n machinery.
65939         (gnulib_tool_option): Use it.
65940
65941 2007-04-13  Bruno Haible  <bruno@clisp.org>
65942
65943         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
65944         %F directives.
65945         * tests/test-vasprintf-posix.c (test_function): Likewise.
65946         * tests/test-snprintf-posix.h (test_function): Likewise.
65947         * tests/test-sprintf-posix.h (test_function): Likewise.
65948         * tests/test-fprintf-posix.h (test_function): Likewise.
65949         * tests/test-printf-posix.h (test_function): Likewise.
65950         * tests/test-fprintf-posix.out: Likewise.
65951
65952 2007-04-13  Bruno Haible  <bruno@clisp.org>
65953
65954         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
65955         * modules/tls-tests (configure.ac): Likewise.
65956         Reported by Arto C. Nirkko <anirkko@insel.ch>.
65957
65958 2007-04-13  Bruno Haible  <bruno@clisp.org>
65959
65960         * lib/tls.c (glthread_tls_get): Fix return type.
65961         Patch by Arto C. Nirkko <anirkko@insel.ch>.
65962
65963 2007-04-12  Eric Blake  <ebb9@byu.net>
65964
65965         * modules/gettime (Depends-on): Remove gettime.
65966         Reported by Dmitry V. Levin.
65967
65968 2007-04-12  Bruno Haible  <bruno@clisp.org>
65969
65970         * modules/fflush (Include): Mention <stdio.h>.
65971         * modules/strtoimax (Include): Mention <inttypes.h>.
65972         * modules/strtoumax (Include): Likewise.
65973
65974 2007-04-12  Eric Blake  <ebb9@byu.net>
65975
65976         * .cvsignore: New file.
65977         * .gitignore: Likewise.
65978
65979 2007-04-12  Bruno Haible  <bruno@clisp.org>
65980
65981         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
65982         not before, since $(LDADD) often contains libgnu.a.
65983         * modules/striconv-tests (test_striconv_LDADD): Likewise.
65984         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
65985         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
65986         Needed on Cygwin.
65987
65988 2007-04-12  Eric Blake  <ebb9@byu.net>
65989
65990         Work around glibc's failure to flush stdin on fclose.
65991         * lib/closein.c (close_stdin): Flush stdin before closing.
65992
65993         Work around glibc's failure to reset seekable stdin on exit.
65994         * modules/closein: New module.
65995         * lib/closein.c: New file.
65996         * lib/closein.h: Likewise.
65997         * m4/closein.m4: Likewise.
65998         * MODULES.html.sh (File stream based Input/Output): Document it.
65999
66000 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66001
66002         * gnulib-tool: Rename generated 'autobuild' script to
66003         'do-autobuild' in --create-megatestdir output.
66004
66005         * doc/gnulib.texi (Build robot for gnulib): Fix.
66006
66007 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66008
66009         * modules/sysexits (Depends-on): Add absolute-header.
66010
66011 2007-04-12  Eric Blake  <ebb9@byu.net>
66012
66013         No need to preserve errno on success.
66014         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66015         Reported by Bruno Haible.
66016
66017 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66018
66019         * MODULES.html.sh (Support for maintaining and releasing
66020         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66021
66022 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66023
66024         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66025
66026 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66027
66028         * modules/autobuild: New module.
66029
66030         * m4/autobuild.m4: New file.
66031
66032 2007-04-11  Bruno Haible  <bruno@clisp.org>
66033
66034         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66035         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66036         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66037         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66038         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66039         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66040         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66041         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66042         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66043         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66044         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
66045         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66046         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66047         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
66048         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66049         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66050         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
66051         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66052         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66053         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
66054         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66055         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66056         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
66057         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66058         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66059         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
66060         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66061         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66062         Reported by Eric Blake.
66063
66064 2007-04-11  Bruno Haible  <bruno@clisp.org>
66065
66066         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66067
66068 2007-04-10  Bruno Haible  <bruno@clisp.org>
66069
66070         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66071         for NaN and Infinity. Needed on FreeBSD 6.1.
66072         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66073         regarding results for "%010a" of Infinity and NaN.
66074         * tests/test-vasprintf-posix.c (test_function): Likewise.
66075         * tests/test-snprintf-posix.h (test_function): Likewise.
66076         * tests/test-sprintf-posix.h (test_function): Likewise.
66077         * tests/test-fprintf-posix.h (test_function): Likewise.
66078         * tests/test-printf-posix.h (test_function): Likewise.
66079         * tests/test-fprintf-posix.out: Likewise.
66080
66081 2007-04-10  Bruno Haible  <bruno@clisp.org>
66082
66083         * modules/locale-tests: New file.
66084         * tests/test-locale.c: New file.
66085
66086         * modules/locale: New file.
66087         * lib/locale_.h: New file.
66088         * m4/locale_h.m4: New file.
66089
66090 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66091             Bruno Haible  <bruno@clisp.org>
66092
66093         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
66094         be determined, test for availability of the copysignf, copysign,
66095         copysignl functions.
66096         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66097         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
66098         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
66099
66100 2007-04-09  Eric Blake  <ebb9@byu.net>
66101
66102         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
66103         * modules/stdio (Makefile.am): Support fflush.
66104         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66105         * modules/fflush: New file.
66106         * lib/fflush.c: Likewise.
66107         * m4/fflush.m4: Likewise.
66108         * modules/fflush-tests: New test.
66109         * tests/test-fflush.c: Likewise.
66110         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
66111
66112 2007-04-06  Bruno Haible  <bruno@clisp.org>
66113
66114         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
66115         (VASNPRINTF): Use signbit for faster determination whether to print a
66116         minus sign.
66117         * modules/vasnprintf (Files): Remove lib/float+.h.
66118         * modules/fprintf-posix (Depends-on): Add signbit.
66119         * modules/snprintf-posix (Depends-on): Likewise.
66120         * modules/sprintf-posix (Depends-on): Likewise.
66121         * modules/vasnprintf-posix (Depends-on): Likewise.
66122         * modules/vasprintf-posix (Depends-on): Likewise.
66123         * modules/vfprintf-posix (Depends-on): Likewise.
66124         * modules/vsnprintf-posix (Depends-on): Likewise.
66125         * modules/vsprintf-posix (Depends-on): Likewise.
66126
66127 2007-04-06  Bruno Haible  <bruno@clisp.org>
66128
66129         * tests/test-frexp.c (main): Test also the sign bit of zero results.
66130         * tests/test-frexpl.c (main): Likewise.
66131         * tests/test-ldexpl.c (main): Likewise.
66132         * modules/frexp-tests (Depends-on): Add signbit.
66133         * modules/frexpl-tests (Depdends-on): Likewise.
66134         * modules/ldexpl-tests (Depdends-on): Likewise.
66135
66136 2007-04-06  Bruno Haible  <bruno@clisp.org>
66137
66138         * modules/signbit-tests: New file.
66139         * tests/test-signbit.c: New file.
66140
66141         * modules/signbit: New file.
66142         * lib/signbitf.c: New file.
66143         * lib/signbitd.c: New file.
66144         * lib/signbitl.c: New file.
66145         * m4/signbit.m4: New file.
66146         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
66147         (signbit): New macro.
66148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
66149         REPLACE_SIGNBIT.
66150         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
66151         REPLACE_FREXPL into math.h.
66152
66153 2007-04-06  Bruno Haible  <bruno@clisp.org>
66154
66155         * modules/isnanf-nolibm-tests: New file.
66156         * tests/test-isnanf.c: New file.
66157
66158         * modules/isnanf-nolibm: New file.
66159         * lib/isnanf.h: New file.
66160         * lib/isnanf.c: New file.
66161         * lib/isnan.c: Consider the USE_FLOAT macro.
66162         * m4/isnanf.m4: New file.
66163
66164 2007-04-06  Bruno Haible  <bruno@clisp.org>
66165
66166         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
66167         (Link): New section.
66168
66169         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
66170
66171 2007-04-06  Bruno Haible  <bruno@clisp.org>
66172
66173         Assume the 'long double' type.
66174         * m4/longdouble.m4: Remove file.
66175         * config/srclist.txt: Don't mention longdouble.m4.
66176         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
66177         * lib/float+.h: Likewise.
66178         * lib/frexp.c: Likewise.
66179         * lib/printf-args.h: Likewise.
66180         * lib/printf-args.c: Likewise.
66181         * lib/printf-frexp.c: Likewise.
66182         * lib/printf-parse.c: Likewise.
66183         * lib/vasnprintf.c: Likewise.
66184         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
66185         * m4/intl.m4: Likewise.
66186         * m4/isnanl.m4: Likewise.
66187         * m4/printf.m4: Likewise.
66188         * m4/printf-frexpl.m4: Likewise.
66189         * m4/vasnprintf.m4: Likewise.
66190         * modules/allocsa (Files): Remove m4/longdouble.m4.
66191         * modules/gettext (Files): Likewise.
66192         * modules/relocatable-prog-wrapper (Files): Likewise.
66193         * modules/vasnprintf (Files): Likewise.
66194         * modules/isnanl (Files): Likewise.
66195         (Include): Simplify.
66196         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
66197         (Include): Simplify.
66198         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
66199         (Include): Simplify.
66200         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
66201         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66202         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
66203         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66204         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66205         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66206         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
66207         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66208         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66209         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66210         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
66211         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66212         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
66213         * tests/test-isnanl.c: Likewise.
66214         * tests/test-snprintf-posix.h: Likewise.
66215         * tests/test-sprintf-posix.h: Likewise.
66216         * tests/test-vasnprintf-posix.c: Likewise.
66217         * tests/test-vasnprintf-posix2.c: Likewise.
66218         * tests/test-vasprintf-posix.c: Likewise.
66219
66220 2007-04-06  Bruno Haible  <bruno@clisp.org>
66221
66222         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
66223         * lib/math_.h [__DECC]: Include the overridden include file through
66224         #include_next, outside the double-inclusion guard.
66225         * lib/stdio_.h [__DECC]: Likewise.
66226         * lib/stdlib_.h [__DECC]: Likewise.
66227         * lib/string_.h [__DECC]: Likewise.
66228         * lib/time_.h [__DECC]: Likewise.
66229         * lib/wchar_.h [__DECC]: Likewise.
66230         * lib/wctype_.h [__DECC]: Likewise.
66231         * lib/inttypes_.h [__DECC]: Likewise.
66232         Reported by Albert Chin <china@thewrittenword.com> in
66233         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
66234
66235 2007-04-04  Eric Blake  <ebb9@byu.net>
66236
66237         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
66238         1.5.x.
66239
66240 2007-04-04  Bruno Haible  <bruno@clisp.org>
66241
66242         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
66243         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
66244
66245 2007-04-04  Bruno Haible  <bruno@clisp.org>
66246
66247         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
66248         results for "%010a" of Infinity and NaN.
66249         * tests/test-vasprintf-posix.c (test_function): Likewise.
66250         * tests/test-snprintf-posix.h (test_function): Likewise.
66251         * tests/test-sprintf-posix.h (test_function): Likewise.
66252         * tests/test-fprintf-posix.h (test_function): Remove these tests.
66253         * tests/test-printf-posix.h (test_function): Likewise.
66254         * tests/test-fprintf-posix.out: Update.
66255         Needed for FreeBSD 6.1.
66256
66257 2007-04-04  Bruno Haible  <bruno@clisp.org>
66258
66259         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
66260         directly used by the gnulib modules nor by gnulib-tool.
66261
66262 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66263
66264         * DEPENDENCIES: Give overall description of version dependency
66265         desirability.  Use more-typical names for apps.
66266         Add shell, coreutils, diffutils, grep, tar, gzip.
66267
66268 2007-04-04  Simon Josefsson  <simon@josefsson.org>
66269
66270         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
66271
66272 2007-04-04  Karl Berry  <karl@gnu.org>
66273
66274         * MODULES.html.sh (func_module): missing '.
66275
66276 2007-04-03  Bruno Haible  <bruno@clisp.org>
66277
66278         * modules/argmatch-tests (Makefile.am): New variable
66279         test_argmatch_LDADD.
66280         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
66281         * modules/array-list-tests (Makefile.am): New variable
66282         test_array_list_LDADD.
66283         * modules/array-oset-tests (Makefile.am): New variable
66284         test_array_oset_LDADD.
66285         * modules/avltree-list-tests (Makefile.am): New variable
66286         test_avltree_list_LDADD.
66287         * modules/avltree-oset-tests (Makefile.am): New variable
66288         test_avltree_oset_LDADD.
66289         * modules/avltreehash-list-tests (Makefile.am): New variable
66290         test_avltreehash_list_LDADD.
66291         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
66292         test_canonicalize_lgpl_LDADD.
66293         * modules/carray-list-tests (Makefile.am): New variable
66294         test_carray_list_LDADD.
66295         * modules/dirname-tests (Makefile.am): New variable
66296         test_dirname_LDADD.
66297         * modules/linked-list-tests (Makefile.am): New variable
66298         test_linked_list_LDADD.
66299         * modules/linkedhash-list-tests (Makefile.am): New variable
66300         test_linkedhash_list_LDADD.
66301         * modules/rbtree-list-tests (Makefile.am): New variable
66302         test_rbtree_list_LDADD.
66303         * modules/rbtree-oset-tests (Makefile.am): New variable
66304         test_rbtree_oset_LDADD.
66305         * modules/rbtreehash-list-tests (Makefile.am): New variable
66306         test_rbtreehash_list_LDADD.
66307         * modules/xvasprintf-tests (Makefile.am): New variable
66308         test_xvasprintf_LDADD.
66309         Reported by Eric Blake.
66310
66311 2007-04-03  Eric Blake  <ebb9@byu.net>
66312
66313         * DEPENDENCIES: Weaken m4 requirements.
66314
66315 2007-04-03  Bruno Haible  <bruno@clisp.org>
66316
66317         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
66318         * modules/isnanl-tests (configure.ac): Likewise.
66319
66320 2007-04-03  Ben Pfaff  <blp@gnu.org>
66321
66322         * modules/iconv_open: Add $(srcdir)/ to source directory
66323         references in Makefile fragments that call gperf, to fix VPATH
66324         builds.
66325
66326 2007-04-03  Bruno Haible  <bruno@clisp.org>
66327
66328         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
66329         * lib/ldexpl.c: Undo last change.
66330
66331 2007-04-03  Bruno Haible  <bruno@clisp.org>
66332
66333         * modules/printf-frexpl (Depends-on): Undo last change.
66334         (Files): Add m4/ldexpl.m4.
66335
66336 2007-04-03  Bruno Haible  <bruno@clisp.org>
66337
66338         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
66339         * modules/isnanl (Link): New section.
66340
66341         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
66342         * modules/frexp (Link): New section.
66343
66344         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
66345         * modules/frexpl (Link): New section.
66346
66347         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
66348         * modules/ldexpl (Link): New section.
66349
66350 2007-04-03  Bruno Haible  <bruno@clisp.org>
66351
66352         * modules/TEMPLATE-EXTENDED: New file.
66353         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
66354
66355 2007-04-03  Bruno Haible  <bruno@clisp.org>
66356
66357         * DEPENDENCIES: New file.
66358         Suggested by Simon Josefsson.
66359
66360 2007-04-03  Bruno Haible  <bruno@clisp.org>
66361
66362         * doc/gnulib.texi: Escape @.
66363
66364 2007-04-03  James Youngman  <jay@gnu.org>
66365         and Paul Eggert  <eggert@cs.ucla.edu>
66366
66367         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
66368         birthtime on all systems that have birthtime, not just those which
66369         use st_birthtimensec rather than st_birthtim.  Putting zero in
66370         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
66371         that the birth time is not available for files on an NFS mount.
66372
66373 2007-04-03  Simon Josefsson  <simon@josefsson.org>
66374
66375         * modules/memxor: Move back from crypto/, suggested by Bruno.
66376         * modules/crypto/hmac-sha1: Fix memxor dependency.
66377
66378         * modules/crypto/gc: Moved from ../.
66379
66380 2007-04-02  Eric Blake  <ebb9@byu.net>
66381
66382         * lib/ldexpl.c (includes): Avoid libm.
66383
66384         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
66385
66386 2007-04-02  Bruno Haible  <bruno@clisp.org>
66387
66388         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
66389         on IRIX.
66390
66391 2007-04-02  Bruno Haible  <bruno@clisp.org>
66392
66393         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
66394         x86 or x86_64 platforms running MacOS X.
66395         Reported by Ryan Schmidt <@ryandesign.com>.
66396
66397 2007-04-02  Bruno Haible  <bruno@clisp.org>
66398
66399         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
66400         i386.
66401
66402 2007-04-01  Simon Josefsson  <simon@josefsson.org>
66403
66404         * modules/crypto/arcfour: Moved from ../.
66405         * modules/crypto/arcfour-tests: Moved from ../.
66406         * modules/crypto/arctwo: Moved from ../.
66407         * modules/crypto/arctwo-tests: Moved from ../.
66408         * modules/crypto/des: Moved from ../.
66409         * modules/crypto/des-tests: Moved from ../.
66410         * modules/crypto/gc-arcfour: Moved from ../.
66411         * modules/crypto/gc-arcfour-tests: Moved from ../.
66412         * modules/crypto/gc-arctwo: Moved from ../.
66413         * modules/crypto/gc-arctwo-tests: Moved from ../.
66414         * modules/crypto/gc-des: Moved from ../.
66415         * modules/crypto/gc-des-tests: Moved from ../.
66416         * modules/crypto/gc-hmac-md5: Moved from ../.
66417         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
66418         * modules/crypto/gc-hmac-sha1: Moved from ../.
66419         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
66420         * modules/crypto/gc-md2: Moved from ../.
66421         * modules/crypto/gc-md2-tests: Moved from ../.
66422         * modules/crypto/gc-md4: Moved from ../.
66423         * modules/crypto/gc-md4-tests: Moved from ../.
66424         * modules/crypto/gc-md5: Moved from ../.
66425         * modules/crypto/gc-md5-tests: Moved from ../.
66426         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
66427         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
66428         * modules/crypto/gc-random: Moved from ../.
66429         * modules/crypto/gc-rijndael: Moved from ../.
66430         * modules/crypto/gc-rijndael-tests: Moved from ../.
66431         * modules/crypto/gc-sha1: Moved from ../.
66432         * modules/crypto/gc-sha1-tests: Moved from ../.
66433         * modules/crypto/gc-tests: Moved from ../.
66434         * modules/crypto/hmac-md5: Moved from ../.
66435         * modules/crypto/hmac-md5-tests: Moved from ../.
66436         * modules/crypto/hmac-sha1: Moved from ../.
66437         * modules/crypto/hmac-sha1-tests: Moved from ../.
66438         * modules/crypto/md2: Moved from ../.
66439         * modules/crypto/md2-tests: Moved from ../.
66440         * modules/crypto/md4: Moved from ../.
66441         * modules/crypto/md4-tests: Moved from ../.
66442         * modules/crypto/md5: Moved from ../.
66443         * modules/crypto/md5-tests: Moved from ../.
66444         * modules/crypto/memxor: Moved from ../.
66445         * modules/crypto/rijndael: Moved from ../.
66446         * modules/crypto/rijndael-tests: Moved from ../.
66447         * modules/crypto/sha1: Moved from ../.
66448
66449 2007-03-30  James Youngman  <jay@gnu.org>
66450
66451         * tests/test-stat-time.c (prepare_test): use chmod() rather than
66452         rename() to change the ctime of a file (because ctime is unaffected
66453         by rename on jfs2 on AIX 5.1).
66454         (main): Start by doing cleanup, in case a previous run failed leaving
66455         test files behind.
66456
66457 2007-03-31  Bruno Haible  <bruno@clisp.org>
66458
66459         Support old proprietary implementations of iconv.
66460         * modules/iconv_open: New file.
66461         * lib/iconv_.h: New file.
66462         * m4/iconv_h.m4: New file.
66463         * lib/iconv_open.c: New file.
66464         * lib/iconv_open-aix.gperf: New file.
66465         * lib/iconv_open-hpux.gperf: New file.
66466         * lib/iconv_open-irix.gperf: New file.
66467         * lib/iconv_open-osf.gperf: New file.
66468         * m4/iconv_open.m4: New file.
66469         * modules/linebreak (Depends-on): Add iconv_open.
66470         * modules/striconv (Depends-on): Likewise.
66471         * modules/striconveh (Depends-on): Likewise.
66472         * modules/unicodeio (Depends-on): Likewise.
66473         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
66474         (iconv_t)(-1).
66475         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
66476         conversion if cd is (iconv_t)(-1).
66477         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
66478         is not possible.
66479
66480 2007-03-31  Bruno Haible  <bruno@clisp.org>
66481
66482         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66483         work on Solaris either. Protect also second use of "autodetect_jp".
66484
66485 2007-03-31  Bruno Haible  <bruno@clisp.org>
66486
66487         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
66488         the function is not present.
66489
66490 2007-03-31  Bruno Haible  <bruno@clisp.org>
66491
66492         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
66493         the function is not present.
66494
66495 2007-03-31  Bruno Haible  <bruno@clisp.org>
66496
66497         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
66498         a bug in HP-UX iconv_open().
66499
66500 2007-03-31  Bruno Haible  <bruno@clisp.org>
66501
66502         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
66503         (Mathematics <math.h>): New section, add fpieee.
66504         (Input/output <stdio.h>): Add fseterr.
66505         (Mathematics <math.h>): New section, add printf-frexp.
66506         (Container data structures): Add sublist.
66507         (Core language properties): Add fpucw, inline.
66508         (Functions for greatest-width integer types <inttypes.h>): Add
66509         imaxabs, imaxdiv, inttypes.
66510         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
66511         isnanl-nolibm, ldexp.
66512         (Mathematics <math.h>): New section, add printf-frexpl.
66513         (Support for systems lacking POSIX:2001): Add fprintf-posix,
66514         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
66515         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
66516         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
66517         (Unicode string functions): Add unistr/u*-mbtoucr.
66518         (Java): Add javacomp-script, javaexec-script.
66519         (C#): Add csharpcomp-script, csharpexec-script.
66520         (Support for building libraries and executables): Add havelib,
66521         relocatable-*.
66522         (Support for maintaining and releasing projects): Renamed from
66523         'Support for maintaining and release projects'. Add announce-gen.
66524
66525 2007-03-31  Bruno Haible  <bruno@clisp.org>
66526
66527         * README: Talk primarily about git.
66528         (git and CVS): Renamed from CVS.
66529         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
66530         gnulib is available through git.
66531         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
66532
66533 2007-03-30  Bruno Haible  <bruno@clisp.org>
66534
66535         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
66536         * lib/poll_.h: Likewise.
66537         * lib/stat_.h: Likewise.
66538         * lib/sys_time_.h: Likewise.
66539         * lib/sysexit_.h: Likewise.
66540         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
66541         * lib/stdbool_.h: Likewise.
66542         * lib/byteswap_.h: Add double-inclusion guard.
66543
66544 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
66545
66546         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
66547
66548 2007-03-30  Karl Berry  <karl@gnu.org>
66549
66550         * config/srclist-update: double space after USA in the license
66551         substitution, since that's how it's usually (?) written.
66552
66553 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66554
66555         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
66556         reported by Bruno Haible.
66557
66558 2007-03-29  Bruno Haible  <bruno@clisp.org>
66559
66560         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
66561         a bug in AIX iconv().
66562
66563 2007-03-29  Bruno Haible  <bruno@clisp.org>
66564
66565         * modules/ldexpl-tests: New file.
66566         * tests/test-ldexpl.c: New file.
66567
66568 2007-03-29  Bruno Haible  <bruno@clisp.org>
66569
66570         * lib/ldexpl.c: Include fpucw.h.
66571         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
66572         multiplication.
66573         * modules/ldexpl (Depends-on): Add fpucw.
66574
66575 2007-03-29  Bruno Haible  <bruno@clisp.org>
66576
66577         * modules/ldexpl: New file.
66578         * m4/ldexpl.m4: New file.
66579         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
66580         set.
66581         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
66582         REPLACE_LDEXPL.
66583         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
66584         REPLACE_LDEXPL.
66585         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66586         gl_FUNC_LDEXPL_WORKS.
66587         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
66588         * modules/mathl (Files): Remove lib/ldexpl.c.
66589         (Depends-on): Add ldexpl.
66590
66591 2007-03-29  Bruno Haible  <bruno@clisp.org>
66592
66593         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
66594
66595 2007-03-29  Bruno Haible  <bruno@clisp.org>
66596
66597         * tests/test-striconveh.c (main): Don't assume that a direct conversion
66598         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
66599         and possibly also HP-UX.
66600         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66601         work on AIX, IRIX, HP-UX, OSF/1.
66602         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
66603         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
66604         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
66605         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
66606         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
66607         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
66608
66609 2007-03-29  Bruno Haible  <bruno@clisp.org>
66610
66611         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
66612
66613 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66614
66615         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
66616         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
66617
66618 2007-03-29  Eric Blake  <ebb9@byu.net>
66619
66620         * lib/acl-internal.h: Remove redundant include.
66621         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
66622         Cygwin when a file is locked.
66623
66624 2007-03-29  Bruno Haible  <bruno@clisp.org>
66625
66626         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
66627         file.
66628         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
66629
66630 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66631
66632         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
66633         try to remove a parent directory if the child couldn't be removed
66634         (except for the first rmdir, which could fail because the child
66635         doesn't exist).  Problem reported by Jeff Blaine in
66636         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
66637
66638 2007-03-28  Bruno Haible  <bruno@clisp.org>
66639
66640         * lib/striconveh.c (utf8conv_carefully): New function.
66641         (mem_cd_iconveh_internal): Invoke it.
66642
66643 2007-03-28  Bruno Haible  <bruno@clisp.org>
66644
66645         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
66646         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
66647         input.
66648         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
66649         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
66650         unistr/u8-uctomb.
66651
66652 2007-03-28  Bruno Haible  <bruno@clisp.org>
66653
66654         * modules/unistr/u8-mbtoucr: New file.
66655         * lib/unistr/u8-mbtoucr.c: New file.
66656         * modules/unistr/u16-mbtoucr: New file.
66657         * lib/unistr/u16-mbtoucr.c: New file.
66658         * modules/unistr/u16-mbtoucr: New file.
66659         * lib/unistr/u16-mbtoucr.c: New file.
66660         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
66661
66662 2007-03-27  Simon Josefsson  <simon@josefsson.org>
66663             Bruno Haible  <bruno@clisp.org>
66664
66665         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
66666         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
66667         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
66668
66669         * m4/stdio_h.m4: Add stubs for vasprintf too.
66670
66671         * modules/stdio: Support vasprintf in sed command.
66672
66673         * modules/vasprintf: Depend on stdio for prototypes.  Remove
66674         vasprintf.h.  Add stdio module indicator.
66675
66676         * lib/stdio_.h: Declare asprintf and vasprintf, based on
66677         vasprintf.h.
66678
66679         * lib/vasprintf.h: File removed.
66680
66681         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
66682         * lib/vasprintf.c: Ditto.
66683         * lib/xvasprintf.c: Ditto.
66684         * tests/test-vasprintf-posix.c: Ditto.
66685         * tests/test-vasprintf.c: Ditto.
66686
66687 2007-03-27  Bruno Haible  <bruno@clisp.org>
66688
66689         Make vasnprintf multithread-safe.
66690         * lib/vasnprintf.c (decimal_point_char): New function.
66691         (VASNPRINTF): Use it.
66692         Suggested by Simon Josefsson.
66693
66694 2007-03-27  Eric Blake  <ebb9@byu.net>
66695
66696         Support sub-second birthtime on cygwin.
66697         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
66698         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
66699         (get_stat_birthtime): Also work with st_birthtim.
66700
66701 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
66702
66703         * lib/stat-time.h (USE_BIRTHTIME): Remove.
66704         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
66705         (get_stat_birthtime_ns): Do not try to use "spare" fields.
66706         (get_stat_birthtime_ns): Simplify compile-time tests.
66707         (get_stat_birthtime): Change the API to look like
66708         get_stat_mtime etc., except return a negative tv_nsec on error.
66709         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
66710         Don't check for "spare" fields.
66711         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
66712         or for struct stat.st_birthtime, as these tests aren't used.
66713         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
66714
66715 2007-03-27  Bruno Haible  <bruno@clisp.org>
66716
66717         * lib/stat-time.h: Include <sys/stat.h>.
66718
66719 2007-03-27  James Youngman  <jay@gnu.org>
66720
66721         * lib/stat-time.h (get_stat_birthtime): New function for
66722           retrieving st_birthtime as provided by UFS2 (hence *BSD).
66723         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
66724           and its variants.
66725         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
66726         * modules/stat-time-test: New file.
66727         * tests/test-stat-time.c: New test, devised by Bruno Haible.
66728
66729 2007-03-26  Bruno Haible  <bruno@clisp.org>
66730
66731         Better support of signalling NaNs.
66732         * lib/atanl.c: Include isnanl.h.
66733         (atanl): Perform test for NaN at the beginning of the function and
66734         through a call to isnanl.
66735         * lib/cosl.c: Include isnanl.h.
66736         (cosl): Perform test for NaN at the beginning of the function and
66737         through a call to isnanl.
66738         * lib/ldexpl.c: Include isnanl.h.
66739         (ldexpl): Perform test for NaN through a call to isnanl.
66740         * lib/logl.c: Include isnanl.h.
66741         (logl): Perform test for NaN at the beginning of the function and
66742         through a call to isnanl.
66743         * lib/sinl.c: Include isnanl.h.
66744         (sinl): Perform test for NaN at the beginning of the function and
66745         through a call to isnanl.
66746         * lib/sqrtl.c: Include isnanl.h.
66747         (sqrtl): Perform test for NaN at the beginning of the function and
66748         through a call to isnanl.
66749         * lib/tanl.c: Include isnanl.h.
66750         (tanl): Perform test for NaN at the beginning of the function and
66751         through a call to isnanl.
66752         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
66753         * modules/mathl (Depends-on): Add isnanl.
66754
66755 2007-03-26  Eric Blake  <ebb9@byu.net>
66756
66757         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
66758         regression in logic sense of previous patch.
66759
66760 2007-03-26  Bruno Haible  <bruno@clisp.org>
66761
66762         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
66763         unportable shell command "if ! ...".
66764         Reported by Ralf Wildenhues.
66765
66766 2007-03-25  Bruno Haible  <bruno@clisp.org>
66767
66768         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
66769         <sysexits.h> file, and only add EX_CONFIG.
66770         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
66771         absolute file name and whether it is sufficient. Substitute also
66772         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
66773         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
66774         ABSOLUTE_SYSEXITS_H into sysexits.h.
66775
66776 2007-03-25  Bruno Haible  <bruno@clisp.org>
66777
66778         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
66779         hints is NULL.
66780
66781 2007-03-25  Bruno Haible  <bruno@clisp.org>
66782
66783         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
66784         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
66785
66786 2007-03-25  Bruno Haible  <bruno@clisp.org>
66787
66788         * lib/vasnprintf.c: Include langinfo.h.
66789         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
66790         multithread-safe.
66791         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
66792         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
66793         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66794         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66795         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66796         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66797         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66798         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
66799         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66800         Reported by Simon Josefsson.
66801
66802 2007-03-25  Bruno Haible  <bruno@clisp.org>
66803
66804         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
66805         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
66806         * modules/vasnprintf (Depends-on): Add stdint.
66807
66808 2007-03-25  Bruno Haible  <bruno@clisp.org>
66809
66810         * modules/fpieee: New file.
66811         * m4/fpieee.m4: New file.
66812         * modules/isnan-nolibm (Depends-on): Add fpieee.
66813         * modules/isnanl-nolibm (Depends-on): Add fpieee.
66814         * modules/isnanl (Depends-on): Add fpieee.
66815
66816 2007-03-25  Bruno Haible  <bruno@clisp.org>
66817
66818         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
66819
66820 2007-03-25  Bruno Haible  <bruno@clisp.org>
66821
66822         Avoid test failures on IRIX 6.5.
66823         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
66824         (main): Use it.
66825         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
66826         macros.
66827         (main): Use them.
66828
66829 2007-03-25  Bruno Haible  <bruno@clisp.org>
66830
66831         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
66832         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
66833         exists but doesn't work.
66834         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
66835         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
66836         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
66837         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
66838         math.h.
66839
66840 2007-03-25  Bruno Haible  <bruno@clisp.org>
66841
66842         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
66843         returns inf. Needed on IRIX 6.5.
66844
66845 2007-03-25  Bruno Haible  <bruno@clisp.org>
66846
66847         * tests/test-frexpl.c: Include isnanl-nolibm.h.
66848         (main): Use isnanl instead of x != x idiom.
66849         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
66850
66851         * tests/test-frexp.c: Include isnan.h.
66852         (main): Use isnan instead of x != x idiom.
66853         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
66854
66855 2007-03-25  Bruno Haible  <bruno@clisp.org>
66856
66857         * tests/test-frexp.c (NaN): New function/macro.
66858         (main): Use it instead of 0.0 / 0.0.
66859         * tests/test-isnan.c (NaN): New function/macro.
66860         (main): Use it instead of 0.0 / 0.0.
66861         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
66862         (test_function): Use it instead of 0.0 / 0.0.
66863         * tests/test-vasprintf-posix.c (NaN): New function/macro.
66864         (test_function): Use it instead of 0.0 / 0.0.
66865         * tests/test-snprintf-posix.h (NaN): New function/macro.
66866         (test_function): Use it instead of 0.0 / 0.0.
66867         * tests/test-sprintf-posix.h (NaN): New function/macro.
66868         (test_function): Use it instead of 0.0 / 0.0.
66869         * tests/test-fprintf-posix.h (NaN): New function/macro.
66870         (test_function): Use it instead of 0.0 / 0.0.
66871         * tests/test-printf-posix.h (NaN): New function/macro.
66872         (test_function): Use it instead of 0.0 / 0.0.
66873
66874         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
66875
66876 2007-03-25  Bruno Haible  <bruno@clisp.org>
66877
66878         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
66879
66880 2007-03-25  Bruno Haible  <bruno@clisp.org>
66881
66882         * lib/regexec.c (merge_state_with_log): Make static.
66883
66884 2007-03-25  Bruno Haible  <bruno@clisp.org>
66885
66886         * lib/trigl.c (kernel_rem_pio2): Make static.
66887
66888 2007-03-25  Bruno Haible  <bruno@clisp.org>
66889
66890         * lib/sincosl.c (sincosl_table): Make static.
66891
66892 2007-03-25  Bruno Haible  <bruno@clisp.org>
66893
66894         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
66895         if the compiler does not support C99.
66896
66897 2007-03-25  Bruno Haible  <bruno@clisp.org>
66898
66899         * modules/time (Makefile.am): Ensure all rule action lines start with a
66900         tab.
66901
66902 2007-03-24  Bruno Haible  <bruno@clisp.org>
66903
66904         * modules/tsearch-tests: New file.
66905         * tests/test-tsearch.sh: New file.
66906         * tests/test-tsearch.c: New file, mostly copied from glibc.
66907
66908         * modules/search-tests: New file.
66909         * tests/test-search.c: New file.
66910
66911         * modules/search: New file.
66912         * lib/search_.h: New file, incorporating lib/tsearch.h.
66913         * m4/search_h.m4: New file.
66914         * lib/tsearch.h: Remove file.
66915         * lib/tsearch.c: Include search.h instead of tsearch.h.
66916         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
66917         HAVE_TSEARCH.
66918         * modules/tsearch (Files): Remove lib/tsearch.h.
66919         (Depends-on): Add search.
66920         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
66921         (Include): Change tsearch.h into search.h.
66922
66923 2007-03-24  Bruno Haible  <bruno@clisp.org>
66924
66925         * modules/fpucw: New file.
66926         * lib/fpucw.h: New file.
66927         * lib/frexp.c: Include fpucw.h.
66928         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
66929         (FUNC): Use them.
66930         * lib/printf-frexp.c: Include fpucw.h.
66931         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
66932         (FUNC): Use them.
66933         * lib/vasnprintf.c: Include fpucw.h.
66934         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
66935         'long double' calculations.
66936         * tests/test-frexpl.c: Include fpucw.h.
66937         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
66938         * tests/test-printf-frexpl.c: Include fpucw.h.
66939         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
66940         * modules/frexpl (Depends-on): Add fpucw.
66941         * modules/printf-frexpl (Depends-on): Likewise.
66942         * modules/fprintf-posix (Depends-on): Likewise.
66943         * modules/snprintf-posix (Depends-on): Likewise.
66944         * modules/sprintf-posix (Depends-on): Likewise.
66945         * modules/vasnprintf-posix (Depends-on): Likewise.
66946         * modules/vasprintf-posix (Depends-on): Likewise.
66947         * modules/vfprintf-posix (Depends-on): Likewise.
66948         * modules/vsnprintf-posix (Depends-on): Likewise.
66949         * modules/vsprintf-posix (Depends-on): Likewise.
66950         * modules/frexpl-tests (Depends-on): Likewise.
66951         * modules/printf-frexpl-tests (Depends-on): Likewise.
66952
66953 2007-03-24  Bruno Haible  <bruno@clisp.org>
66954
66955         * lib/float+.h: New file.
66956         * lib/isnan.c: Include float+.h.
66957         (SIZE): New macro.
66958         (FUNC): Compare only SIZE bytes of the value.
66959         * lib/vasnprintf.c: Include float+.h.
66960         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
66961         SIZEOF_LDBL or SIZEOF_DBL bytes.
66962         * modules/isnan-nolibm (Files): Add lib/float+.h.
66963         * modules/isnanl-nolibm (Files): Add lib/float+.h.
66964         * modules/isnanl (Files): Add lib/float+.h.
66965         * modules/vasnprintf (Files): Add lib/float+.h.
66966
66967 2007-03-24  Bruno Haible  <bruno@clisp.org>
66968
66969         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
66970         include isnanl-nolibm.h.
66971
66972 2007-03-24  Bruno Haible  <bruno@clisp.org>
66973
66974         * tests/test-read-file.c (main): Don't produce spurious output for
66975         expected situations. Make the test fail if it encountered unexpected
66976         results.
66977
66978 2007-03-24  Bruno Haible  <bruno@clisp.org>
66979
66980         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
66981         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
66982
66983 2007-03-24  Bruno Haible  <bruno@clisp.org>
66984
66985         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
66986
66987 2007-03-24  Bruno Haible  <bruno@clisp.org>
66988
66989         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
66990         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
66991
66992         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
66993         * modules/utf8-ucs4: Turn into a symbolic link to module
66994         unistr/u8-mbtouc.
66995
66996         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
66997         utf8-ucs4-unsafe.
66998         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
66999         unistr/u8-mbtouc-unsafe.
67000
67001         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67002         * modules/utf16-ucs4: Turn into a symbolic link to module
67003         unistr/u16-mbtouc.
67004
67005         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67006         utf16-ucs4-unsafe.
67007         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67008         unistr/u16-mbtouc-unsafe.
67009
67010         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67011         * modules/ucs4-utf8: Turn into a symbolic link to module
67012         unistr/u8-ubtomb.
67013
67014         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67015         * modules/ucs4-utf16: Turn into a symbolic link to module
67016         unistr/u16-ubtomb.
67017
67018 2007-03-24  Bruno Haible  <bruno@clisp.org>
67019
67020         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67021         Enable the function only if HAVE_INLINE.
67022         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67023         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67024         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67025         Enable the function only if HAVE_INLINE.
67026         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67027         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67028         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67029         Enable the function only if HAVE_INLINE.
67030         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67031         Enable the function only if HAVE_INLINE.
67032         * modules/utf8-ucs4: Update.
67033         * modules/utf8-ucs4-unsafe: Update.
67034         * modules/utf16-ucs4: Update.
67035         * modules/utf16-ucs4-unsafe: Update.
67036         * modules/ucs4-utf8: Update.
67037         * modules/ucs4-utf16: Update.
67038
67039 2007-03-24  Bruno Haible  <bruno@clisp.org>
67040
67041         * lib/utf8-ucs4.h: Remove file.
67042         * lib/utf8-ucs4-unsafe.h: Remove file.
67043         * lib/utf16-ucs4.h: Remove file.
67044         * lib/utf16-ucs4-unsafe.h: Remove file.
67045         * lib/ucs4-utf8.h: Remove file.
67046         * lib/ucs4-utf16.h: Remove file.
67047         * lib/unistr.h: Include their previous contents.
67048         * m4/utf-ucs4.m4: Remove file.
67049         * m4/ucs4-utf.m4: Remove file.
67050         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67051         (Depends-on): Add unistr/base.
67052         (configure.ac): Remove gl_UTF_UCS4.
67053         (Makefile.am): Update.
67054         (Include): Change to unistr.h.
67055         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67056         (Depends-on): Add unistr/base.
67057         (configure.ac): Remove gl_UTF_UCS4.
67058         (Makefile.am): Update.
67059         (Include): Change to unistr.h.
67060         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67061         (Depends-on): Add unistr/base.
67062         (configure.ac): Remove gl_UTF_UCS4.
67063         (Makefile.am): Update.
67064         (Include): Change to unistr.h.
67065         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67066         (Depends-on): Add unistr/base.
67067         (configure.ac): Remove gl_UTF_UCS4.
67068         (Makefile.am): Update.
67069         (Include): Change to unistr.h.
67070         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67071         (Depends-on): Add unistr/base.
67072         (configure.ac): Remove gl_UCS4_UTF.
67073         (Makefile.am): Update.
67074         (Include): Change to unistr.h.
67075         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67076         (Depends-on): Add unistr/base.
67077         (configure.ac): Remove gl_UCS4_UTF.
67078         (Makefile.am): Update.
67079         (Include): Change to unistr.h.
67080         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67081         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67082         utf8-ucs4-unsafe.h.
67083         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67084         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67085         utf16-ucs4-unsafe.h.
67086         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67087         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67088         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67089         * lib/unistr/u8-strchr.c: Likewise.
67090         * lib/unistr/u8-strrchr.c: Likewise.
67091         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67092         * lib/unistr/u16-strchr.c: Likewise.
67093         * lib/unistr/u16-strrchr.c: Likewise.
67094         * lib/striconveh.c: Update.
67095         * lib/linebreak.c: Update.
67096
67097 2007-03-24  Bruno Haible  <bruno@clisp.org>
67098
67099         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
67100         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
67101
67102 2007-03-22  Bruno Haible  <bruno@clisp.org>
67103
67104         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
67105
67106 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67107
67108         * MODULES.html.sh (File system functions): New module write-any-file.
67109         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
67110         * m4/write-any-file.m4: New files.
67111
67112 2007-03-23  Eric Blake  <ebb9@byu.net>
67113
67114         * gnulib-tool: Rearrange space-tab sequences, since some editors
67115         like to eat them.
67116
67117 2007-03-23  Eric Blake  <ebb9@byu.net>
67118
67119         * lib/version-etc.c (version_etc_va): Update license wording to
67120         be more concise.  Recommended by Richard Stallman.
67121
67122 2007-03-22  Bruno Haible  <bruno@clisp.org>
67123
67124         * lib/poll.c (MSG_PEEK): New fallback definition.
67125
67126 2007-03-22  Bruno Haible  <bruno@clisp.org>
67127
67128         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
67129         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
67130         (main): Update.
67131         Fixes a compilation error on BeOS.
67132
67133 2007-03-22  Bruno Haible  <bruno@clisp.org>
67134
67135         * modules/frexpl-tests: New file.
67136         * tests/test-frexpl.c: New file.
67137
67138         * modules/frexpl: New file.
67139         * m4/frexpl.m4: New file.
67140         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
67141         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
67142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
67143         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
67144         (Depends-on): Add frexpl. Remove isnanl-nolibm.
67145         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
67146
67147 2007-03-22  Bruno Haible  <bruno@clisp.org>
67148
67149         * lib/frexpl.c: Share code with lib/frexp.c.
67150         * modules/mathl (Files): Add lib/frexp.c.
67151         (Depends-on): Add isnanl-nolibm.
67152
67153 2007-03-22  Bruno Haible  <bruno@clisp.org>
67154
67155         * modules/printf-frexp (Files): Add m4/frexp.m4.
67156         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
67157         only if the found frexp function actually works.
67158
67159 2007-03-22  Bruno Haible  <bruno@clisp.org>
67160
67161         * lib/frexp.c: Remove older implementation that uses divisions.
67162
67163 2007-03-21  Bruno Haible  <bruno@clisp.org>
67164
67165         * modules/frexp-tests: New file.
67166         * tests/test-frexp.c: New file.
67167
67168         * modules/frexp: New file.
67169         * lib/frexp.c: New file.
67170         * m4/frexp.m4: New file.
67171         * lib/math_.h (frexp): New declaration.
67172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
67173         REPLACE_FREXP.
67174         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
67175
67176 2007-03-21  Bruno Haible  <bruno@clisp.org>
67177
67178         * modules/isnanl-tests: New file.
67179         * tests/test-isnanl.c: New file.
67180
67181         * modules/isnanl: New file.
67182         * lib/isnanl.h: New file.
67183         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
67184         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
67185         gl_FUNC_ISNANL_WORKS.
67186         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
67187         New macros.
67188
67189 2007-03-21  Bruno Haible  <bruno@clisp.org>
67190
67191         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
67192         lib/isnanl.h.
67193         (Include): Update.
67194         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
67195         * lib/vasnprintf.c: Update.
67196         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
67197         tests/test-isnanl.h, remove tests/test-isnanl.c.
67198         (Makefile.am): Update.
67199         * tests/test-isnanl-nolibm.c: New file.
67200         * tests/test-isnanl.h: New file.
67201         * tests/test-isnanl.c: Remove file.
67202
67203 2007-03-21  Jim Meyering  <jim@meyering.net>
67204
67205         When trying to open ".", treat ESTALE like EACCES.
67206         * lib/savewd.c (savewd_save): Resort to forking not just upon
67207         failure with EACCES, but also when errno is ESTALE.
67208
67209 2007-03-20  Bruno Haible  <bruno@clisp.org>
67210
67211         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
67212         Needed on AIX 5.1. Reported by Matthew Woehlke.
67213
67214 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67215
67216         Suggestions by Bruno Haible:
67217         * lib/acl-internal.h: Include "gettext.h" rather than rolling
67218         our own.
67219         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
67220         * modules/acl (Depends-on): Add gettext.
67221
67222 2007-03-19  Bruno Haible  <bruno@clisp.org>
67223
67224         * modules/iconvme: Remove file.
67225         * lib/iconvme.h: Remove file.
67226         * lib/iconvme.c: Remove file.
67227         * m4/iconvme.m4: Remove file.
67228
67229 2007-03-19  Bruno Haible  <bruno@clisp.org>
67230
67231         * doc/relocatable-maint.texi: Break long shell script line.
67232         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67233
67234 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67235
67236         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
67237         handle file_has_acl.
67238         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
67239         * lib/acl.c: Move header inclusions and related macro defns into
67240         lib/acl-internal.h.
67241         (S_ISLNK): Remove defn, since that's now done for us.
67242         (file_has_acl): Move to lib/file-has-acl.c.
67243         Call acl_trivial if available.  This is the crucial part of the fix.
67244         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
67245         shared within the library.  Rewrite a bit, partly to make it compatible
67246         with the GNU coding style.
67247         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
67248         Remove unnecessary double-quotes.
67249         Don't test for acl_to_text; the build will catch that.
67250         Replace acl_entries if it doesn't exist and it is needed.
67251         Check for -lsec and acl_trivial (as used on Solaris 10).
67252         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
67253         lib/file-has-acl.c.
67254         (Depends-on): Add sys_stat, for S_ISLNK.
67255
67256 2007-03-19  Ben Pfaff  <blp@gnu.org>
67257
67258         * doc/gnulib.texi: Fix typos.
67259         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67260
67261 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67262
67263         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
67264         If size is zero here, buf must be zero.
67265
67266 2007-03-19  Simon Josefsson  <simon@josefsson.org>
67267
67268         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
67269         <bruno@clisp.org>.
67270
67271 2007-03-18  Bruno Haible  <bruno@clisp.org>
67272
67273         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
67274         Suggested by Eric Blake.
67275
67276 2007-03-18  Ben Pfaff  <blp@gnu.org>
67277
67278         * doc/relocatable.texi: Recommend using as prefix a directory
67279         that does not exist and will never be created.  Based on
67280         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
67281         and others.
67282
67283 2007-03-17  Bruno Haible  <bruno@clisp.org>
67284
67285         * lib/fchownat.c: Include lchown.h.
67286
67287 2007-03-17  Bruno Haible  <bruno@clisp.org>
67288
67289         Fix endless loop when the given allocated size was > INT_MAX.
67290         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
67291         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
67292         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
67293         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
67294         * lib/sprintf.c (sprintf): Likewise.
67295
67296 2007-03-17  Bruno Haible  <bruno@clisp.org>
67297
67298         * tests/test-argp-2.sh (func_compare): Output a context diff.
67299
67300 2007-03-17  Bruno Haible  <bruno@clisp.org>
67301
67302         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
67303         locale's decimal-point character.
67304
67305 2007-03-17  Bruno Haible  <bruno@clisp.org>
67306
67307         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
67308         before comparing it. Needed because on some platforms (e.g. x86) a
67309         'long double' occupies less bytes than sizeof (long double).
67310
67311 2007-03-17  Bruno Haible  <bruno@clisp.org>
67312
67313         * tests/test-crc.c (main): Make printf statements 64-bit clean.
67314         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
67315         * tests/test-getaddrinfo.c (simple): Likewise.
67316         * tests/test-read-file.c (main): Likewise.
67317
67318 2007-03-17  Bruno Haible  <bruno@clisp.org>
67319
67320         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
67321
67322 2007-03-17  Bruno Haible  <bruno@clisp.org>
67323
67324         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
67325         unused variable.
67326
67327 2007-03-17  Bruno Haible  <bruno@clisp.org>
67328
67329         * tests/test-c-strcasecmp.c: Include c-strcase.h.
67330         * tests/test-c-strncasecmp.c: Likewise.
67331
67332 2007-03-17  Bruno Haible  <bruno@clisp.org>
67333
67334         * modules/stdlib (Depends-on): Add unistd.
67335         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
67336         Needed for MacOS X 10.3.
67337
67338 2007-03-17  Bruno Haible  <bruno@clisp.org>
67339
67340         * lib/unistr/u-strdup.h: Include <stdlib.h>.
67341
67342 2007-03-17  Bruno Haible  <bruno@clisp.org>
67343
67344         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
67345
67346 2007-03-17  Bruno Haible  <bruno@clisp.org>
67347
67348         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
67349         to reflect files copied from gnulib (with or without modifications).
67350         Suggested by Jim Meyering.
67351
67352 2007-03-17  Eric Blake  <ebb9@byu.net>
67353
67354         * NEWS: Document stdlib change from 2007-02-18.
67355
67356 2007-03-17  Jim Meyering  <jim@meyering.net>
67357
67358         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
67359         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
67360         someone uses a name containing shell meta-characters.
67361         Reported by Alfred M. Szmidt.
67362
67363         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
67364
67365 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67366
67367         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
67368         and copy gettext configuration files only if configure.ac contains
67369         a use of AM_GNU_GETTEXT_VERSION.
67370
67371 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67372
67373         * build-aux/bootstrap (gnulib_name): New variable.
67374         (gnulib_tool_options): Use it.
67375
67376 2007-03-13  Simon Josefsson  <simon@josefsson.org>
67377
67378         * tests/test-des.c: Use new namespace.
67379
67380 2007-03-15  Bruno Haible  <bruno@clisp.org>
67381
67382         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
67383         Reported by James Youngman <jay@gnu.org>.
67384
67385 2007-03-15  Bruno Haible  <bruno@clisp.org>
67386
67387         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
67388         declared prototype. Needed with cc on OSF/1 5.1.
67389
67390 2007-03-15  Bruno Haible  <bruno@clisp.org>
67391
67392         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
67393         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
67394         (struct gl_list_implementation): Add dispose_fn argument to the
67395         'create_empty', 'create' methods.
67396         (struct gl_list_impl_base): Add field 'dispose_fn'.
67397         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
67398         argument.
67399         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
67400         dispose_fn argument.
67401         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
67402         dispose_fn on the dropped values.
67403         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
67404         dispose_fn argument.
67405         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
67406         dropped values.
67407         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
67408         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67409         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
67410         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67411         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
67412         argument.
67413         (gl_tree_list_free): Call dispose_fn on the dropped values.
67414         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
67415         the dropped values.
67416         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
67417         Add dispose_fn argument.
67418         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
67419         Call dispose_fn on the dropped values.
67420         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
67421         Add dispose_fn argument.
67422         (gl_sublist_create): Initialize the 'dispose_fn' field.
67423         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
67424         * tests/test-array_list.c (main): Update.
67425         * tests/test-carray_list.c (main): Update.
67426         * tests/test-avltree_list.c (main): Update.
67427         * tests/test-rbtree_list.c (main): Update.
67428         * tests/test-avltreehash_list.c (main): Update.
67429         * tests/test-rbtreehash_list.c (main): Update.
67430         * tests/test-linked_list.c (main): Update.
67431         * tests/test-linkedhash_list.c (main): Update.
67432         * tests/test-array_oset.c (main): Update.
67433
67434 2007-03-15  Bruno Haible  <bruno@clisp.org>
67435
67436         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
67437         (gl_oset_create_empty): Add dispose_fn argument.
67438         (struct gl_oset_implementation): Add dispose_fn argument to
67439         'create_empty' method.
67440         (struct gl_oset_impl_base): Add dispose_fn field.
67441         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
67442         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
67443         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
67444         values.
67445         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
67446         (gl_tree_oset_free): Call dispose_fn on the dropped values.
67447         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67448         dropped value.
67449         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67450         dropped value.
67451         * tests/test-array_oset.c (main): Update.
67452         * tests/test-avltree_oset.c (main): Update.
67453         * tests/test-rbtree_oset.c (main): Update.
67454         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
67455
67456 2007-03-13  Bruno Haible  <bruno@clisp.org>
67457
67458         * tests/test-stdbool.c (i): Update after last patch.
67459
67460 2007-03-12  Bruno Haible  <bruno@clisp.org>
67461
67462         * lib/quotearg.c: Include <wctype.h> early, before the definition of
67463         the iswprint macro. Needed on Solaris 2.5.1.
67464
67465 2007-03-12  Bruno Haible  <bruno@clisp.org>
67466
67467         * tests/test-printf-frexp.c (main): Declare x as volatile.
67468
67469 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67470
67471         * doc/gnulib.texi (Build robot for gnulib): New section.
67472
67473 2007-03-12  Jim Meyering  <jim@meyering.net>
67474
67475         * build-aux/bootstrap: New file.
67476         * build-aux/bootstrap.conf: New file, from coreutils.
67477
67478 2007-03-11  Bruno Haible  <bruno@clisp.org>
67479
67480         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
67481
67482 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67483
67484         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
67485         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
67486         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
67487
67488 2007-03-11  Bruno Haible  <bruno@clisp.org>
67489
67490         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
67491         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
67492
67493 2007-03-11  Bruno Haible  <bruno@clisp.org>
67494
67495         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
67496         formula. Needed for SunPRO C 5.0.
67497
67498 2007-03-11  Bruno Haible  <bruno@clisp.org>
67499
67500         * modules/long-options (Depends-on): Add getopt.
67501
67502 2007-03-11  Bruno Haible  <bruno@clisp.org>
67503
67504         * modules/modechange (Depends-on): Add stdbool.
67505
67506 2007-03-11  Bruno Haible  <bruno@clisp.org>
67507
67508         * modules/i-ring (Depends-on): Add stdbool.
67509
67510 2007-03-11  Bruno Haible  <bruno@clisp.org>
67511
67512         * modules/gc-des (Depends-on): Add stdbool.
67513
67514 2007-03-11  Bruno Haible  <bruno@clisp.org>
67515
67516         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
67517
67518 2007-03-11  Bruno Haible  <bruno@clisp.org>
67519
67520         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
67521
67522 2007-03-11  Bruno Haible  <bruno@clisp.org>
67523
67524         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
67525
67526 2007-03-11  Bruno Haible  <bruno@clisp.org>
67527
67528         * lib/vasnprintf.c (sprintf): Undefine.
67529
67530 2007-03-11  Bruno Haible  <bruno@clisp.org>
67531
67532         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
67533         initializers in SunPRO C and Compaq C compilers.
67534
67535 2007-03-11  Bruno Haible  <bruno@clisp.org>
67536
67537         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
67538         decrementing code ANSI C compliant.
67539
67540 2007-03-11  Bruno Haible  <bruno@clisp.org>
67541
67542         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
67543         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
67544
67545 2007-03-11  Bruno Haible  <bruno@clisp.org>
67546
67547         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
67548         <stdbool.h> substitute doesn't pass.
67549
67550 2007-03-11  Bruno Haible  <bruno@clisp.org>
67551
67552         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
67553
67554 2007-03-11  Bruno Haible  <bruno@clisp.org>
67555
67556         * gnulib-tool (func_create_megatestdir): Create also an autobuild
67557         script, for submission to autobuild.josefsson.org.
67558
67559 2007-03-10  Bruno Haible  <bruno@clisp.org>
67560
67561         * modules/canonicalize-lgpl-tests: New file.
67562         * tests/test-canonicalize-lgpl.sh: New file.
67563         * tests/test-canonicalize-lgpl.c: New file.
67564
67565         * modules/c-strcase-tests: New file.
67566         * tests/test-c-strcase.sh: New file.
67567         * tests/test-c-strcasecmp.c: New file.
67568         * tests/test-c-strncasecmp.c: New file.
67569
67570         * modules/atexit-tests: New file.
67571         * tests/test-atexit.sh: New file.
67572         * tests/test-atexit.c: New file.
67573
67574 2007-03-10  Bruno Haible  <bruno@clisp.org>
67575
67576         * tests/test-binary-io.sh: Use temporary filenames that are not so
67577         likely to clash with those of other tests (in a parallel make).
67578         * tests/test-binary-io.c: Likewise.
67579
67580 2007-03-10  Bruno Haible  <bruno@clisp.org>
67581
67582         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
67583         fallback; use #error instead.
67584         Suggested by Simon Josefsson.
67585
67586 2007-03-10  Bruno Haible  <bruno@clisp.org>
67587
67588         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
67589         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
67590         first and the last.
67591
67592 2007-03-10  Bruno Haible  <bruno@clisp.org>
67593
67594         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
67595
67596 2007-03-10  Bruno Haible  <bruno@clisp.org>
67597
67598         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
67599         "make distcheck".
67600         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
67601         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
67602         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
67603
67604 2007-03-10  Bruno Haible  <bruno@clisp.org>
67605
67606         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
67607         variable.
67608         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
67609         variable.
67610
67611 2007-03-09  Eric Blake  <ebb9@byu.net>
67612         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
67613
67614         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
67615         types are not being provided by gnulib.
67616         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
67617         types are supported.
67618
67619 2007-03-10  Bruno Haible  <bruno@clisp.org>
67620
67621         * lib/stdio_.h (__attribute__): New macro.
67622         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
67623         vsprintf): Specify __attribute__ __format__ for GCC.
67624         Suggested by Eric Blake.
67625
67626 2007-03-09  Bruno Haible  <bruno@clisp.org>
67627
67628         * modules/printf-posix-tests: New file.
67629         * tests/test-printf-posix.sh: New file.
67630         * tests/test-printf-posix.c: New file.
67631
67632         * modules/printf-posix: New file.
67633         * lib/printf.c: New file.
67634         * m4/printf-posix-rpl.m4: New file.
67635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
67636         REPLACE_PRINTF.
67637         * lib/stdio_.h (printf): New declaration.
67638         (format, __format__, ____printf____, ____scanf____, ____strftime____,
67639         ____strfmon____): New macros.
67640         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
67641         REPLACE_PRINTF.
67642
67643 2007-03-09  Bruno Haible  <bruno@clisp.org>
67644
67645         * tests/test-vasnprintf-posix2.sh: New file.
67646         * tests/test-vasnprintf-posix2.c: New file.
67647         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
67648         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
67649         (Makefile.am): Activate test-vasnprintf-posix2.sh.
67650
67651         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
67652         a locale dependent decimal point, rather than always '.'.
67653
67654 2007-03-09  Eric Blake  <ebb9@byu.net>
67655
67656         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
67657         spite of platforms like Tandem/NSK that define it to -1.
67658
67659 2007-03-08  Bruno Haible  <bruno@clisp.org>
67660
67661         * modules/vprintf-posix-tests: New file.
67662         * tests/test-vprintf-posix.sh: New file.
67663         * tests/test-vprintf-posix.c: New file.
67664         * tests/test-printf-posix.h: New file.
67665
67666         * modules/vprintf-posix: New file.
67667         * lib/vprintf.c: New file.
67668         * m4/vprintf-posix.m4: New file.
67669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
67670         REPLACE_VPRINTF.
67671         * lib/stdio_.h (vprintf): New declaration.
67672         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
67673         REPLACE_VPRINTF.
67674
67675 2007-03-08  Bruno Haible  <bruno@clisp.org>
67676
67677         * modules/fprintf-posix-tests: New file.
67678         * tests/test-fprintf-posix.sh: New file.
67679         * tests/test-fprintf-posix.c: New file.
67680
67681         * modules/fprintf-posix: New file.
67682         * lib/fprintf.c: New file.
67683         * m4/fprintf-posix.m4: New file.
67684         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
67685         REPLACE_FPRINTF.
67686         * lib/stdio_.h (fprintf): New declaration.
67687         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
67688         REPLACE_FPRINTF.
67689
67690 2007-03-08  Bruno Haible  <bruno@clisp.org>
67691
67692         * modules/vfprintf-posix-tests: New file.
67693         * tests/test-vfprintf-posix.sh: New file.
67694         * tests/test-vfprintf-posix.c: New file.
67695         * tests/test-fprintf-posix.h: New file.
67696         * tests/test-fprintf-posix.out: New file.
67697
67698         * modules/vfprintf-posix: New file.
67699         * lib/vfprintf.c: New file.
67700         * m4/vfprintf-posix.m4: New file.
67701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
67702         REPLACE_VFPRINTF.
67703         * lib/stdio_.h (vfprintf): New declaration.
67704         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
67705         REPLACE_VFPRINTF.
67706
67707 2007-03-08  Bruno Haible  <bruno@clisp.org>
67708
67709         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
67710
67711 2007-03-08  Bruno Haible  <bruno@clisp.org>
67712
67713         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
67714         instead of 'expr' invocations.
67715         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67716         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67717         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67718         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67719         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67720         Suggested by Paul Eggert.
67721
67722 2007-03-08  Bruno Haible  <bruno@clisp.org>
67723
67724         * modules/fseterr-tests: New file.
67725         * tests/test-fseterr.c: New file.
67726
67727         * modules/fseterr: New file.
67728         * lib/fseterr.h: New file.
67729         * lib/fseterr.c: New file.
67730
67731 2007-03-08  Bruno Haible  <bruno@clisp.org>
67732
67733         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
67734         * lib/getopt_.h: Likewise.
67735         * lib/mbswidth.h: Likewise.
67736         * lib/setenv.h: Likewise.
67737         * lib/vasnprintf.h: Likewise.
67738         * lib/vasprintf.h: Likewise.
67739         * lib/verror.h: Likewise.
67740         * lib/xsetenv.h: Likewise.
67741         * lib/xvasprintf.h: Likewise.
67742
67743 2007-03-08  Jim Meyering  <jim@meyering.net>
67744
67745         * users.txt: Add parted.
67746
67747         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
67748
67749 2007-03-07  Bruno Haible  <bruno@clisp.org>
67750
67751         * m4/printf.m4: Make the shell script snippets copy&pastable.
67752
67753 2007-03-02  Bruno Haible  <bruno@clisp.org>
67754
67755         * lib/netinet_in_.h: New file.
67756         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
67757         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
67758         * modules/netinet_in (Files): Add lib/netinet_in_.h.
67759         (Depends-on): Add absolute-header.
67760         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
67761         into netinet/in.h.
67762
67763 2007-03-03  Bruno Haible  <bruno@clisp.org>
67764
67765         * lib/sys_select_.h: New file.
67766         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
67767         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
67768         * modules/sys_select (Files): Add lib/sys_select_.h.
67769         (Depends-on): Add absolute-header.
67770         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
67771         into sys/select.h.
67772
67773 2007-03-02  Bruno Haible  <bruno@clisp.org>
67774
67775         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
67776         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
67777         values.
67778         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
67779         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
67780         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
67781         * modules/sys_socket (Depends-on): Add absolute-header.
67782         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
67783         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
67784         (Include): Remove requirement of inclusion of <sys/types.h>.
67785
67786 2007-03-02  Bruno Haible  <bruno@clisp.org>
67787
67788         * lib/byteswap_.h (bswap_32): Fix formula.
67789
67790 2007-03-06  Bruno Haible  <bruno@clisp.org>
67791
67792         * modules/sprintf-posix-tests: New file.
67793         * tests/test-sprintf-posix.c: New file.
67794
67795         * modules/sprintf-posix: New file.
67796         * lib/sprintf.c: New file.
67797         * m4/sprintf-posix.m4: New file.
67798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
67799         REPLACE_SPRINTF.
67800         * lib/stdio_.h (sprintf): New declaration.
67801         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
67802         REPLACE_SPRINTF.
67803
67804 2007-03-06  Bruno Haible  <bruno@clisp.org>
67805
67806         * modules/vsprintf-posix-tests: New file.
67807         * tests/test-vsprintf-posix.c: New file.
67808         * tests/test-sprintf-posix.h: New file.
67809
67810         * modules/vsprintf-posix: New file.
67811         * lib/vsprintf.c: New file.
67812         * m4/vsprintf-posix.m4: New file.
67813         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
67814         REPLACE_VSPRINTF.
67815         * lib/stdio_.h (vsprintf): New declaration.
67816         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
67817         REPLACE_VSPRINTF.
67818
67819 2007-03-06  Bruno Haible  <bruno@clisp.org>
67820
67821         * modules/vsnprintf (Depend-on): Remove minmax.
67822
67823 2007-03-06  Bruno Haible  <bruno@clisp.org>
67824
67825         * modules/snprintf-posix-tests: New file.
67826         * tests/test-snprintf-posix.c: New file.
67827
67828         * modules/snprintf-posix: New file.
67829         * m4/snprintf-posix.m4: New file.
67830         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
67831         gl_FUNC_SNPRINTF.
67832         (gl_FUNC_SNPRINTF): Invoke it.
67833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
67834         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
67835         is set.
67836         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
67837
67838 2007-03-06  Bruno Haible  <bruno@clisp.org>
67839
67840         * modules/vsnprintf-posix-tests: New file.
67841         * tests/test-vsnprintf-posix.c: New file.
67842         * tests/test-snprintf-posix.h: New file.
67843
67844         * modules/vsnprintf-posix: New file.
67845         * m4/vsnprintf-posix.m4: New file.
67846         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
67847         gl_FUNC_VSNPRINTF.
67848         (gl_FUNC_VSNPRINTF): Invoke it.
67849         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
67850         * lib/stdio_.h (vsnprintf): Define as a replacement if
67851         REPLACE_VSNPRINTF is set.
67852         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
67853
67854 2007-03-06  Bruno Haible  <bruno@clisp.org>
67855
67856         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
67857         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
67858
67859 2007-03-06  Bruno Haible  <bruno@clisp.org>
67860
67861         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
67862         (asinl): Declare also if HAVE_DECL_ASINL is set.
67863         (atanl): Declare also if HAVE_DECL_ATANL is set.
67864         (ceill): Declare also if HAVE_DECL_CEILL is set.
67865         (cosl): Declare also if HAVE_DECL_COSL is set.
67866         (expl): Declare also if HAVE_DECL_EXPL is set.
67867         (floorl): Declare also if HAVE_DECL_FLOORL is set.
67868         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
67869         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
67870         (logl): Declare also if HAVE_DECL_LOGL is set.
67871         (sinl): Declare also if HAVE_DECL_SINL is set.
67872         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
67873         (tanl): Declare also if HAVE_DECL_TANL is set.
67874         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
67875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
67876         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
67877         declaration of frexpl, ldexpl.
67878         * modules/printf-frexpl (Depends-on): Add math.
67879         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
67880
67881 2007-03-05  Bruno Haible  <bruno@clisp.org>
67882
67883         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
67884         frexpl and ldexpl are declared.
67885         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
67886
67887 2007-03-05  Bruno Haible  <bruno@clisp.org>
67888
67889         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
67890         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
67891
67892 2007-03-05  Bruno Haible  <bruno@clisp.org>
67893
67894         * lib/stdio_.h: Include <stddef.h>.
67895
67896 2007-03-05  Bruno Haible  <bruno@clisp.org>
67897
67898         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
67899
67900 2007-03-05  Bruno Haible  <bruno@clisp.org>
67901
67902         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
67903         NetBSD 4, from Ralf Wildenhues.
67904
67905 2007-03-04  Bruno Haible  <bruno@clisp.org>
67906
67907         * lib/vasprintf.h: Update #if logic for the case when the functions
67908         exist but are overridden.
67909
67910 2007-03-04  Bruno Haible  <bruno@clisp.org>
67911
67912         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
67913         implementations: glibc-2.4 and MacOS X 10.3.
67914         * tests/test-vasnprintf-posix.c (test_function): Test also the case
67915         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
67916         * tests/test-vasprintf-posix.c (test_function): Likewise.
67917
67918 2007-03-04  Bruno Haible  <bruno@clisp.org>
67919
67920         * modules/vasprintf-posix-tests: New file.
67921         * tests/test-vasprintf-posix.c: New file.
67922
67923         * modules/vasprintf-posix: New file.
67924         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
67925         defined.
67926         * m4/vasprintf-posix.m4: New file.
67927         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
67928         gl_FUNC_VASPRINTF.
67929         (gl_FUNC_VASPRINTF): Invoke it.
67930         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
67931         here.
67932         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
67933
67934 2007-03-04  Bruno Haible  <bruno@clisp.org>
67935
67936         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
67937         REPLACE_GETTIMEOFDAY.
67938         * modules/sys_time (Makefile.am): Likewise.
67939         * m4/sys_time_h.m4: Likewise.
67940         * m4/gettimeofday.m4: Likewise.
67941
67942 2007-03-04  Bruno Haible  <bruno@clisp.org>
67943
67944         * modules/vasnprintf-posix-tests: New file.
67945         * tests/test-vasnprintf-posix.c: New file.
67946
67947         * modules/vasnprintf-posix: New file.
67948         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
67949         printf-frexpl.h.
67950         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
67951         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
67952         REPLACE_VASNPRINTF is defined.
67953         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
67954         gl_FUNC_VASNPRINTF.
67955         (gl_FUNC_VASNPRINTF): Invoke it.
67956         * m4/vasnprintf-posix.m4: New file.
67957         * m4/printf.m4: New file.
67958
67959 2007-03-04  Bruno Haible  <bruno@clisp.org>
67960
67961         Compile progreloc.c only if --enable-relocatable is specified.
67962         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
67963         if --enable-relocatable was specified.
67964         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
67965         lib_SOURCES.
67966
67967 2007-03-04  Jim Meyering  <jim@meyering.net>
67968
67969         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
67970         Use it consistently, rather than enumerating errno constants.
67971
67972 2007-03-04  Bruno Haible  <bruno@clisp.org>
67973
67974         * modules/xvasprintf-tests: New file.
67975         * tests/test-xvasprintf.c: New file.
67976
67977         * modules/vasprintf-tests: New file.
67978         * tests/test-vasprintf.c: New file.
67979
67980         * modules/vasnprintf-tests: New file.
67981         * tests/test-vasnprintf.c: New file.
67982
67983         * modules/vsnprintf-tests: New file.
67984         * tests/test-vsnprintf.c: New file.
67985
67986         * modules/snprintf-tests: New file.
67987         * tests/test-snprintf.c: New file.
67988
67989 2007-03-04  Bruno Haible  <bruno@clisp.org>
67990
67991         Compile relocatable.c only if --enable-relocatable is specified.
67992         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
67993         gl_RELOCATABLE_LIBRARY.
67994         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
67995         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
67996         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
67997         gl_RELOCATABLE_LIBRARY.
67998         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
67999         (Makefile.am): Remove lib_SOURCES.
68000         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68001         gl_RELOCATABLE_LIBRARY.
68002         (Makefile.am): Remove lib_SOURCES.
68003         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68004         always.
68005         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68006         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68007
68008 2007-03-04  Bruno Haible  <bruno@clisp.org>
68009
68010         * modules/argmatch-tests: New file.
68011         * tests/test-argmatch.c: New file.
68012
68013         * tests/test-allocsa.c (main): Halve the number of loop runs.
68014
68015         * modules/alloca-opt-tests: New file.
68016         * tests/test-alloca-opt.c: New file.
68017
68018 2007-03-04  Jim Meyering  <jim@meyering.net>
68019
68020         Work around difference between Linux ACLs and Solaris 10 ZFS.
68021         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68022         for EINVAL.
68023
68024 2007-03-03  Bruno Haible  <bruno@clisp.org>
68025
68026         * modules/relocatable-prog (Depends-on): Add back progreloc's
68027         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68028
68029 2007-03-03  Bruno Haible  <bruno@clisp.org>
68030
68031         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68032         * modules/relocatable-lib: New file.
68033
68034 2007-03-03  Bruno Haible  <bruno@clisp.org>
68035
68036         * modules/relocatable-prog: Renamed from modules/relocatable.
68037         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68038
68039 2007-03-03  Bruno Haible  <bruno@clisp.org>
68040
68041         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68042         m4/relocatable-lib.m4.
68043         (Depends-on): Remove 'relocatable'.
68044         (configure.ac): Add gl_RELOCATABLE_NOP.
68045
68046 2007-03-03  Bruno Haible  <bruno@clisp.org>
68047
68048         * modules/relocatable-prog-wrapper: New file.
68049         * modules/relocatable (Depends-on): Add it. Remove all other
68050         dependencies except progname.
68051         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68052
68053         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68054         (gl_FUNC_STRERROR): Nop.
68055         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68056
68057         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68058         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68059
68060         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68061         (gl_FUNC_READLINK): Update.
68062
68063         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68064
68065 2007-03-03  Bruno Haible  <bruno@clisp.org>
68066
68067         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68068         * modules/xreadlink (Depends-on): Add unistd.
68069         * modules/xreadlink-with-size (Depends-on): Likewise.
68070
68071 2007-03-03  Bruno Haible  <bruno@clisp.org>
68072
68073         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68074         extracted from gt_FUNC_SETENV.
68075         (gt_FUNC_SETENV): Remove macro.
68076         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68077         remove gt_FUNC_SETENV.
68078
68079 2007-03-03  Bruno Haible  <bruno@clisp.org>
68080
68081         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68082         ENABLE_RELOCATABLE here.
68083         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68084
68085 2007-03-03  Bruno Haible  <bruno@clisp.org>
68086
68087         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68088         * tests/test-rbtreehash_list.c: Include progname.h.
68089         (main): Call set_program_name.
68090
68091         * modules/rbtree-oset-tests (Depends-on): Add progname.
68092         * tests/test-rbtree_oset.c: Include progname.h.
68093         (main): Call set_program_name.
68094
68095         * modules/rbtree-list-tests (Depends-on): Add progname.
68096         * tests/test-rbtree_list.c: Include progname.h.
68097         (main): Call set_program_name.
68098
68099         * modules/linked-list-tests (Depends-on): Add progname.
68100         * tests/test-linked_list.c: Include progname.h.
68101         (main): Call set_program_name.
68102
68103 2007-03-03  Bruno Haible  <bruno@clisp.org>
68104
68105         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
68106         All uses of __restrict changed to _Restrict_.
68107         * lib/glob_.h (__restrict): Remove macro.
68108
68109 2007-03-02  Bruno Haible  <bruno@clisp.org>
68110
68111         * modules/gettext (configure.ac): Require gettext infrastructure
68112         from version 0.16.1.
68113
68114 2007-03-02  Bruno Haible  <bruno@clisp.org>
68115
68116         * modules/linkedhash-list-tests (Depends-on): Add progname.
68117         * tests/test-linkedhash_list.c: Include progname.h.
68118         (main): Call set_program_name.
68119
68120         * modules/carray-list-tests (Depends-on): Add progname.
68121         * tests/test-carray_list.c: Include progname.h.
68122         (main): Call set_program_name.
68123
68124         * modules/avltreehash-list-tests (Depends-on): Add progname.
68125         * tests/test-avltreehash_list.c: Include progname.h.
68126         (main): Call set_program_name.
68127
68128         * modules/avltree-oset-tests (Depends-on): Add progname.
68129         * tests/test-avltree_oset.c: Include progname.h.
68130         (main): Call set_program_name.
68131
68132         * modules/avltree-list-tests (Depends-on): Add progname.
68133         * tests/test-avltree_list.c: Include progname.h.
68134         (main): Call set_program_name.
68135
68136         * modules/array-oset-tests (Depends-on): Add progname.
68137         * tests/test-array_oset.c: Include progname.h.
68138         (main): Call set_program_name.
68139
68140         * modules/array-list-tests (Depends-on): Add progname.
68141         * tests/test-array_list.c: Include progname.h.
68142         (main): Call set_program_name.
68143
68144         * modules/argp-tests (Depends-on): Add progname.
68145         * tests/test-argp.c: Include argp.h first. Include progname.h.
68146         (main): Call set_program_name.
68147
68148 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
68149
68150         * doc/gnulib-tool.texi (Initial import): Reword description of
68151         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
68152         limited effect even if defined after the first system include.
68153
68154 2007-03-01  Bruno Haible  <bruno@clisp.org>
68155
68156         * build-aux/config.libpath: Update to libtool-1.5.22.
68157         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68158
68159 2007-03-01  Bruno Haible  <bruno@clisp.org>
68160
68161         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
68162         foo_CFLAGS.
68163         Reported by Ralf Wildenhues.
68164
68165 2007-03-01  Bruno Haible  <bruno@clisp.org>
68166
68167         * build-aux/install-reloc: Remove object files left over by some
68168         compilers.
68169         Reported by Ralf Wildenhues.
68170
68171 2007-03-01  Bruno Haible  <bruno@clisp.org>
68172
68173         * build-aux/install-reloc: Break long lines.
68174
68175 2007-03-01  Bruno Haible  <bruno@clisp.org>
68176
68177         * doc/relocatable.texi: Document that it may not work on OpenBSD.
68178         Reported by Ralf Wildenhues.
68179
68180 2007-03-01  Bruno Haible  <bruno@clisp.org>
68181
68182         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
68183         include ordering constraints.
68184
68185 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68186
68187         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
68188         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
68189         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
68190         as another example.
68191         * lib/time_.h: Fix misspelling.
68192         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68193         Require gl_HEADER_TIME_H_DEFAULTS.
68194         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
68195         * m4/time_r.m4 (gl_TIME_R): Likewise.
68196         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
68197
68198 2007-03-01  Bruno Haible  <bruno@clisp.org>
68199
68200         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
68201         * m4/utimens.m4 (gl_UTIMENS): Likewise.
68202
68203 2007-03-01  Jim Meyering  <jim@meyering.net>
68204
68205         * modules/xreadlink (Maintainer): Add my name.
68206         * modules/xreadlink-with-size (Depends-on): Alphabetize.
68207
68208 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
68209             Bruno Haible  <bruno@clisp.org>
68210
68211         * build-aux/install-reloc: Compile also c-ctype.c.
68212         * build-aux/relocatable.sh.in: New file.
68213         * doc/relocatable.texi: New file.
68214         * doc/relocatable-maint.texi: New file.
68215         * doc/gnulib.texi: Include relocatable-maint.texi.
68216         * lib/progreloc.c: Include unistd.h unconditionally.
68217         * lib/relocwrapper.c: Include unistd.h unconditionally.
68218         Include c-ctype.h.
68219         (add_dotbin): Use c_tolower.
68220         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
68221         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
68222         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
68223         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
68224         to m4/relocatable-lib.m4.
68225         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
68226         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
68227         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
68228         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
68229         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
68230         * modules/relocatable: New file.
68231         * modules/relocatable-lib: New file.
68232         * modules/relocatable-script: New file.
68233
68234 2007-02-28  Bruno Haible  <bruno@clisp.org>
68235
68236         Import --enable-relocatable infrastructure.
68237         * build-aux/config.libpath: New file, from GNU gettext.
68238         * build-aux/install-reloc: New file, from GNU gettext.
68239         * build-aux/reloc-ldflags: New file, from GNU gettext.
68240         * lib/relocatable.h: New file, from GNU gettext.
68241         * lib/relocatable.c: New file, from GNU gettext.
68242         * lib/relocwrapper.c: New file, from GNU gettext.
68243         * m4/relocatable.m4: New file, from GNU gettext.
68244
68245 2007-02-28  Bruno Haible  <bruno@clisp.org>
68246
68247         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
68248
68249         * modules/xreadlink: New file, from GNU gettext with modifications.
68250         * lib/xreadlink.c: New file, from GNU gettext.
68251         * lib/xreadlink.h: Add comments.
68252         (xreadlink): New declaration.
68253
68254         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
68255         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
68256         lib/xreadlink-with-size.c.
68257         (configure.ac): Remove gl_XREADLINK invocation.
68258         (Makefile.am): Augment lib_SOURCES.
68259         * m4/xreadlink.m4: Remove file.
68260         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
68261         (xreadlink_with_size): Renamed from xreadink.
68262         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
68263         * modules/canonicalize (Depends-on): Replace xreadlink with
68264         xreadlink-with-size.
68265         * lib/canonicalize.c (canonicalize_filename_mode): Update.
68266
68267 2007-02-25  Jim Meyering  <jim@meyering.net>
68268
68269         * build-aux/announce-gen: When complaining about excess arguments,
68270         list them.
68271
68272 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68273
68274         * README: Document signed integer overflow situation more
68275         accurately.
68276
68277 2007-02-25  Bruno Haible  <bruno@clisp.org>
68278
68279         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
68280         'a' or 'A' conversion.
68281
68282 2007-02-25  Bruno Haible  <bruno@clisp.org>
68283
68284         * modules/filename: Renamed from modules/pathname.
68285         (Files): Replace lib/pathname.h with lib/filename.h. Replace
68286         lib/concatpath.c with lib/concat-filename.c.
68287         (Makefile.am): Update.
68288         (Include): Replace pathname.h with filename.h.
68289         * lib/filename.h: Renamed from lib/pathname.h.
68290         (concatenated_filename): Renamed from concatenated_pathname.
68291         * lib/concat-filename.c: Renamed from lib/concatpath.c.
68292         (concatenated_filename): Renamed from concatenated_pathname.
68293         * lib/findprog.c: Include filename.h instead of pathname.h.
68294         (find_in_path): Update.
68295         * lib/javacomp.c: Include filename.h instead of pathname.h.
68296         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
68297         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
68298         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
68299         is_oldgcj_14_13_usable, is_javac_usable): Update.
68300         * lib/javaexec.c: Include filename.h instead of pathname.h.
68301         (execute_java_class): Update.
68302         * modules/findprog: Update.
68303         * modules/javacomp: Update.
68304         * modules/javaexec: Update.
68305         * MODULES.html.sh (File system functions): Add 'filename', remove
68306         'pathname'.
68307
68308 2007-02-25  Bruno Haible  <bruno@clisp.org>
68309
68310         * modules/printf-frexpl-tests: New file.
68311         * tests/test-printf-frexpl.c: New file.
68312
68313         * modules/printf-frexpl: New file.
68314         * lib/printf-frexpl.h: New file.
68315         * lib/printf-frexpl.c: New file.
68316         * m4/printf-frexpl.m4: New file.
68317
68318 2007-02-25  Bruno Haible  <bruno@clisp.org>
68319
68320         * modules/printf-frexp-tests: New file.
68321         * tests/test-printf-frexp.c: New file.
68322
68323         * modules/printf-frexp: New file.
68324         * lib/printf-frexp.h: New file.
68325         * lib/printf-frexp.c: New file.
68326         * m4/printf-frexp.m4: New file.
68327
68328 2007-02-25  Bruno Haible  <bruno@clisp.org>
68329
68330         Assume automake >= 1.10 for the tests.
68331         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
68332         * modules/arctwo-tests: Likewise.
68333         * modules/argp-tests: Likewise.
68334         * modules/avltree-list-tests: Likewise.
68335         * modules/avltree-oset-tests: Likewise.
68336         * modules/avltreehash-list-tests: Likewise.
68337         * modules/carray-list-tests: Likewise.
68338         * modules/crc-tests: Likewise.
68339         * modules/des-tests: Likewise.
68340         * modules/gc-arcfour-tests: Likewise.
68341         * modules/gc-arctwo-tests: Likewise.
68342         * modules/gc-des-tests: Likewise.
68343         * modules/gc-hmac-md5-tests: Likewise.
68344         * modules/gc-hmac-sha1-tests: Likewise.
68345         * modules/gc-md2-tests: Likewise.
68346         * modules/gc-md4-tests: Likewise.
68347         * modules/gc-md5-tests: Likewise.
68348         * modules/gc-pbkdf2-sha1-tests: Likewise.
68349         * modules/gc-rijndael-tests: Likewise.
68350         * modules/gc-sha1-tests: Likewise.
68351         * modules/gc-tests: Likewise.
68352         * modules/getaddrinfo-tests: Likewise.
68353         * modules/hmac-md5-tests: Likewise.
68354         * modules/hmac-sha1-tests: Likewise.
68355         * modules/linked-list-tests: Likewise.
68356         * modules/linkedhash-list-tests: Likewise.
68357         * modules/lock-tests: Likewise.
68358         * modules/md2-tests: Likewise.
68359         * modules/md4-tests: Likewise.
68360         * modules/md5-tests: Likewise.
68361         * modules/rbtree-list-tests: Likewise.
68362         * modules/rbtree-oset-tests: Likewise.
68363         * modules/rbtreehash-list-tests: Likewise.
68364         * modules/read-file-tests: Likewise.
68365         * modules/rijndael-tests: Likewise.
68366         * modules/stdint-tests: Likewise.
68367         * modules/tls-tests: Likewise.
68368
68369 2007-02-24  Bruno Haible  <bruno@clisp.org>
68370
68371         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
68372         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
68373         function; instead check whether isnan with a double argument links.
68374         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
68375         function; instead check whether isnan with a 'long double' argument
68376         links.
68377         Reported by Eric Blake <ebb9@byu.net>.
68378
68379 2007-02-24  Bruno Haible  <bruno@clisp.org>
68380
68381         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
68382         defined.
68383         * lib/isnanl.c: Remove all code. Just include isnan.c.
68384         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
68385
68386 2007-02-25  Jim Meyering  <jim@meyering.net>
68387
68388         Avoid conflicting types for 'unsetenv' on FreeBSD.
68389         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
68390         conflicting with FreeBSD's (5.0 and 6.1) function declaration
68391         in stdlib.h.
68392
68393 2007-02-24  Bruno Haible  <bruno@clisp.org>
68394
68395         * modules/isnanl-nolibm-tests: New file.
68396         * tests/test-isnanl.c: New file.
68397
68398         * modules/isnanl-nolibm: New file.
68399         * lib/isnanl.h: New file.
68400         * lib/isnanl.c: New file.
68401         * m4/isnanl.m4: New file.
68402
68403 2007-02-24  Bruno Haible  <bruno@clisp.org>
68404
68405         * modules/isnan-nolibm-tests: New file.
68406         * tests/test-isnan.c: New file.
68407
68408         * modules/isnan-nolibm: New file.
68409         * lib/isnan.h: New file.
68410         * lib/isnan.c: New file.
68411         * m4/isnan.m4: New file.
68412
68413 2007-02-24  Bruno Haible  <bruno@clisp.org>
68414
68415         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
68416         assume that an exponent fits in 20 bits.
68417
68418 2007-02-24  Jim Meyering  <jim@meyering.net>
68419
68420         * m4/regex.m4: Update the description of the configure-time option,
68421         --without-included-regex, to state accurately what the defaults are,
68422         and perhaps to give people an idea why using this option is risky.
68423
68424 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
68425
68426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
68427         loops on small arguments.  This attempts to avoid the problem
68428         Bruno Haible reported for AIX 4.3.2 in
68429         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
68430
68431 2007-02-23  Bruno Haible  <bruno@clisp.org>
68432
68433         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
68434         Needed for help2man.
68435
68436 2007-02-23  Karl Berry  <karl@gnu.org>
68437
68438         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
68439         exists, foo.h should be cvs-ignored, not committed.
68440
68441 2007-02-23  Eric Blake  <ebb9@byu.net>
68442
68443         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
68444         * lib/stat-time.h (includes): Likewise.
68445         * lib/utimecmp.c (includes): Likewise.
68446         * lib/utimens.h (includes): Likewise.
68447         * lib/getdate.y (includes): Also include "timespec.h" for use
68448         internal to the module.
68449         * modules/utimens (Depends-on): Revert yesterday's patch.
68450         * modules/nanosleep (Depends-on): Add missing dependency.
68451
68452 2007-02-22  Bruno Haible  <bruno@clisp.org>
68453
68454         * lib/glob.c: Don't include getlogin_r.h.
68455
68456 2007-02-22  Jim Meyering  <jim@meyering.net>
68457
68458         * modules/utimens (Depends-on): Add timespec, required for
68459         utimens.h's inclusion of timespec.h.
68460
68461 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
68462
68463         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
68464         long unreadable paths in GNU/Linux.  Problem reported by Andreas
68465         Schwab in
68466         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
68467         I'll try to think of a better way to fix the Solaris problem.
68468
68469         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
68470         like glibc; on Solaris 10, it fails with errno == EINVAL.
68471         POSIX says the behavior is unspecified if the first argument is NULL,
68472         so play it safe and never pass NULL to the system getcwd.
68473
68474 2007-02-21  Jim Meyering  <jim@meyering.net>
68475
68476         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
68477         of gettimeofday.  It would conflict with the one now always
68478         provided via sys_time_.h.  Reported by Matthew Woehlke, as
68479         an IRIX 6.5 build failure.
68480
68481 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68482
68483         Minor fixups to port to Solaris 10 with Sun C 5.8.
68484         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
68485         * modules/getcwd (Depends-on): Add dirfd.
68486         * lib/putenv.c (putenv): #undef it.
68487         (rpl_putenv): New decl.
68488         (malloc, free): Include <stdlib.h> rather than prototyping separately.
68489
68490 2007-02-20  Bruno Haible  <bruno@clisp.org>
68491
68492         * modules/stdio-tests: New file.
68493         * tests/test-stdio.c: New file.
68494
68495         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
68496         (Depends-on): Add stdio.
68497         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68498         (Include): Use <stdio.h> instead of vsnprintf.h.
68499         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68500         HAVE_DECL_VSNPRINTF.
68501         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
68502
68503         * modules/snprintf (Files): Remove lib/snprintf.h.
68504         (Depends-on): Add stdio.
68505         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68506         (Include): Use <stdio.h> instead of snprintf.h.
68507         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68508         HAVE_DECL_SNPRINTF.
68509         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
68510         * lib/getaddrinfo.c: Likewise.
68511
68512         * modules/stdio: New file.
68513         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
68514         * lib/snprintf.h: Remove file.
68515         * lib/vsnprintf.h: Remove file.
68516         * lib/.cppi-disable: Remove snprintf.h.
68517         * m4/stdio_h.m4: New file.
68518         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
68519
68520 2007-02-20  Jim Meyering  <jim@meyering.net>
68521
68522         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
68523         used by e.g., mingw.  From Bruno Haible.
68524
68525 2007-02-19  Bruno Haible  <bruno@clisp.org>
68526
68527         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
68528         warnings.
68529         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68530
68531 2007-02-19  Bruno Haible  <bruno@clisp.org>
68532
68533         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
68534         from mingw users.
68535
68536 2007-02-19  Bruno Haible  <bruno@clisp.org>
68537
68538         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
68539         warnings.
68540         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
68541
68542 2007-02-19  Jim Meyering  <jim@meyering.net>
68543
68544         Don't use FD after a successful "fdopendir (fd)".
68545         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
68546         Reset it by calling dirfd on the just-obtained DIR*.
68547
68548         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
68549         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
68550
68551 2007-02-18  Bruno Haible  <bruno@clisp.org>
68552
68553         * lib/readlink.c: Include <unistd.h>.
68554         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
68555         HAVE_READLINK.
68556         * modules/readlink (Depends-on): Add unistd.
68557         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68558         (Include): Add <unistd.h>.
68559
68560         * lib/getlogin_r.h: Remove file.
68561         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
68562         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
68563         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
68564         HAVE_DECL_GETLOGIN_R.
68565         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
68566         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68567         (Include): Use <unistd.h> instead of getlogin_r.h.
68568
68569         * lib/getcwd.h: Remove file.
68570         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
68571         * lib/xgetcwd.c: Likewise.
68572         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
68573         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
68574         * modules/getcwd (Files): Remove lib/getcwd.h.
68575         (Depends-on): Add unistd.
68576         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68577         (Include): Use <unistd.h> instad of getcwd.h.
68578
68579         * lib/ftruncate.c: Include <unistd.h> first.
68580         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
68581         Set HAVE_FTRUNCATE.
68582         * modules/ftruncate (Depends-on): Add unistd.
68583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68584
68585         * lib/fchdir.c: Include <unistd.h> first.
68586         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
68587         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
68588         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
68589         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68590         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
68591
68592         * lib/dup2.c: Include <unistd.h> first.
68593         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
68594         HAVE_DUP2.
68595         * modules/dup2 (Depends-on): Add unistd.
68596         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68597
68598         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
68599         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
68600         REPLACE_CHOWN. Don't define chown as a macro here.
68601         * modules/chown (Depends-on): Add unistd.
68602         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68603
68604         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
68605         Add definition for GL_LINK_WARNING.
68606         (chown, dup2): New declarations.
68607         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
68608         link warning.
68609         (ftruncate): New declaration.
68610         (getcwd): New declaration, taken from old getcwd.h.
68611         (getlogin_r): New declaration, taken from old getlogin_r.h.
68612         (readlink): New declaration.
68613         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
68614         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
68615         (gl_PREREQ_UNISTD): Remove macro.
68616         (gl_UNISTD_MODULE_INDICATOR): New macro.
68617         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
68618         many new variables. Don't set UNISTD_H.
68619         * modules/unistd (Description): Change.
68620         (Depends-on): Add link-warning.
68621         (configure.ac): Update.
68622         (Makefile.am): Create unistd.h always. Substitute many new variables
68623         into it.
68624
68625 2007-02-18  Bruno Haible  <bruno@clisp.org>
68626
68627         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
68628         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
68629         HAVE_GETSUBOPT.
68630         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
68631         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
68632         * lib/getsubopt.h: Remove file.
68633         * modules/getsubopt (Files): Remove lib/getsubopt.h.
68634         (Depends-on): Add stdlib.
68635         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68636         (Includes): Use <stdlib.h> instead of getsubopt.h.
68637         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
68638         Set HAVE_GETSUBOPT.
68639         * lib/getsubopt.c: Don't include getsubopt.h.
68640
68641 2007-02-18  Bruno Haible  <bruno@clisp.org>
68642
68643         * modules/fchdir (Depends-on): Add dup2.
68644
68645 2007-02-18  Bruno Haible  <bruno@clisp.org>
68646
68647         * lib/stdlib_.h: Handle glibc's special invocation convention
68648         specially.
68649
68650 2007-02-18  Bruno Haible  <bruno@clisp.org>
68651
68652         * modules/stdlib-tests: New file.
68653         * tests/test-stdlib.c: New file.
68654
68655         * modules/mkstemp (Files): Remove lib/mkstemp.h.
68656         (Depends-on): Add stdlib.
68657         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68658         (Includes): Use <stdlib.h> instead of mkstemp.h.
68659         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68660         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
68661         * lib/mkstemp.c: Don't include mkstemp.h.
68662         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
68663         * lib/stdlib--.h: Don't include mkstemp.h.
68664
68665         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
68666         (Depends-on): Add stdlib.
68667         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68668         (Includes): Use <stdlib.h> instead of mkdtemp.h.
68669         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68670         HAVE_MKDTEMP.
68671         * lib/mkdtemp.c: Don't include mkdtemp.h.
68672         * lib/clean-temp.c: Don't include mkdtemp.h.
68673
68674         * modules/exit (Files): Remove lib/exit.h.
68675         (Depends-on): Add stdlib.
68676         (Makefile.am): Remove lib_SOURCES.
68677         (Include): Use <stdlib.h> instead of exit.h.
68678         * lib/argmatch.c: Don't include exit.h.
68679         * lib/execute.c: Likewise.
68680         * lib/pagealign_alloc.c: Likewise.
68681         * lib/pipe.c: Likewise.
68682         * lib/wait-process.c: Likewise.
68683         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
68684         * lib/exitfail.c: Likewise.
68685         * lib/savewd.c: Likewise.
68686         * lib/xsetenv.c: Likewise.
68687
68688         * modules/stdlib: New file.
68689         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
68690         and extra comments about mkstemp().
68691         * lib/exit.h: Remove file.
68692         * lib/mkdtemp.h: Remove file.
68693         * lib/mkstemp.h: Remove file.
68694         * m4/stdlib_h.m4: New file.
68695         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
68696
68697 2007-02-18  Bruno Haible  <bruno@clisp.org>
68698
68699         * modules/math-tests: New file.
68700         * tests/test-math.c: New file.
68701
68702         * modules/math: New file.
68703         * modules/mathl (Files): Remove lib/mathl.h.
68704         (Depends-on): Add math.
68705         (Makefile.am): Don't mention mathl.h.
68706         (Include): Use <math.h> instead of mathl.h.
68707         * lib/math_.h: New file.
68708         * lib/mathl.h: Remove file.
68709         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
68710         mathl.h.
68711         * lib/asinl.c: Likewise.
68712         * lib/atanl.c: Likewise.
68713         * lib/ceill.c: Likewise.
68714         * lib/cosl.c: Likewise.
68715         * lib/expl.c: Likewise.
68716         * lib/floorl.c: Likewise.
68717         * lib/frexpl.c: Likewise.
68718         * lib/ldexpl.c: Likewise.
68719         * lib/logl.c: Likewise.
68720         * lib/sincosl.c: Likewise.
68721         * lib/sinl.c: Likewise.
68722         * lib/sqrtl.c: Likewise.
68723         * lib/tanl.c: Likewise.
68724         * lib/trigl.c: Likewise.
68725         * m4/math_h.m4: New file.
68726         * MODULES.html.sh (Mathematics): Add math.
68727
68728 2007-02-17  Bruno Haible  <bruno@clisp.org>
68729
68730         * modules/wctype-tests: New file.
68731         * tests/test-wctype.c: New file.
68732
68733         * modules/wchar-tests: New file.
68734         * tests/test-wchar.c: New file.
68735
68736         * modules/unistd-tests: New file.
68737         * tests/test-unistd.c: New file.
68738
68739         * modules/time-tests: New file.
68740         * tests/test-time.c: New file.
68741
68742         * modules/sysexits-tests: New file.
68743         * tests/test-sysexits.c: New file.
68744
68745         * modules/sys_time-tests: New file.
68746         * tests/test-sys_time.c: New file.
68747
68748         * modules/sys_stat-tests: New file.
68749         * tests/test-sys_stat.c: New file.
68750
68751         * modules/sys_socket-tests: New file.
68752         * tests/test-sys_socket.c: New file.
68753
68754         * modules/sys_select-tests: New file.
68755         * tests/test-sys_select.c: New file.
68756
68757         * modules/string-tests: New file.
68758         * tests/test-string.c: New file.
68759
68760         * modules/stdbool-tests: New file.
68761         * tests/test-stdbool.c: New file.
68762
68763         * modules/netinet_in-tests: New file.
68764         * tests/test-netinet_in.c: New file.
68765
68766         * modules/inttypes-tests: New file.
68767         * tests/test-inttypes.c: New file.
68768
68769         * modules/fcntl-tests: New file.
68770         * tests/test-fcntl.c: New file.
68771
68772         * modules/byteswap-tests: New file.
68773         * tests/test-byteswap.c: New file.
68774
68775         * modules/arpa_inet-tests: New file.
68776         * tests/test-arpa_inet.c: New file.
68777
68778 2007-02-17  Bruno Haible  <bruno@clisp.org>
68779
68780         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
68781         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
68782         if the corresponding module is not enabled. Emit link warnings if
68783         the function is used nevertheless.
68784         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
68785         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
68786         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
68787         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
68788         * modules/inttypes (Depends-on): Add link-warning.
68789         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68790         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
68791         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
68792         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
68793         * modules/imaxdiv (configure.ac): Likewise.
68794         * modules/strtoimax (configure.ac): Likewise.
68795         * modules/strtoumax (configure.ac): Likewise.
68796
68797 2007-02-17  Bruno Haible  <bruno@clisp.org>
68798
68799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
68800         gl_STRING_MODULE_INDICATOR_DEFAULTS.
68801         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
68802         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
68803
68804 2007-02-17  Bruno Haible  <bruno@clisp.org>
68805
68806         * modules/link-warning: New file.
68807         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
68808         * lib/string_.h (GL_LINK_WARNING): Remove definition.
68809         * modules/string (Depends-on): Add link-warning.
68810         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68811         string.h.
68812         * MODULES.html.sh (Support for building libraries and executables): Add
68813         link-warning.
68814
68815 2007-02-17  Bruno Haible  <bruno@clisp.org>
68816
68817         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
68818         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
68819         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
68820         long lines.
68821
68822 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
68823             Bruno Haible  <bruno@clisp.org>
68824
68825         * modules/tmpfile: New file.
68826         * lib/tmpfile.c: New file.
68827         * m4/tmpfile.m4: New file.
68828         * MODULES.html.sh (func_all_modules): New section "Input/output".
68829
68830 2007-02-15  Bruno Haible  <bruno@clisp.org>
68831
68832         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
68833         (supports_delete_on_close): New function.
68834         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
68835
68836 2007-02-14  Bruno Haible  <bruno@clisp.org>
68837
68838         * modules/mbspcasecmp-tests: New file.
68839         * tests/test-mbspcasecmp.sh: New file.
68840         * tests/test-mbspcasecmp.c: New file.
68841
68842         New module mbspcasecmp.
68843         * modules/mbspcasecmp: New file.
68844         * lib/mbspcasecmp.c: New file.
68845         * lib/string_.h (strncasecmp): Change warning message.
68846         (mbspcasecmp): New declaration.
68847         * m4/mbspcasecmp.m4: New file.
68848         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68849         GNULIB_MBSPCASECMP.
68850         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
68851         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
68852
68853 2007-02-14  Bruno Haible  <bruno@clisp.org>
68854
68855         * modules/mbsncasecmp-tests: New file.
68856         * tests/test-mbsncasecmp.sh: New file.
68857         * tests/test-mbsncasecmp.c: New file.
68858
68859         New module mbsncasecmp.
68860         * modules/mbsncasecmp: New file.
68861         * lib/mbsncasecmp.c: New file.
68862         * lib/string_.h (mbsncasecmp): New declaration.
68863         * m4/mbsncasecmp.m4: New file.
68864         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68865         GNULIB_MBSNCASECMP.
68866         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
68867         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
68868
68869 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
68870
68871         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
68872         Verify that it doesn't overlap with our flags.
68873         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
68874         do not have the desired effect in multibyte locales; instead, use
68875         mbscasecmp.
68876         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
68877         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
68878         we don't require GNU fnmatch ourselves (if our users require it, they
68879         should do so explicitly).
68880
68881         Fix regex code so it doesn't rely on strcasecmp.
68882         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
68883         Otherwise, include gnulib's langinfo.h.
68884         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
68885         undesirable behavior in non-C locales.  Instead, rely on localecharset.
68886         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
68887         * modules/regex (FILES): Remove m4/codeset.m4.
68888         (Depends-on): Add localcharset.  Remove strcase.
68889
68890 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68891
68892         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
68893         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
68894
68895 2007-02-13  Bruno Haible  <bruno@clisp.org>
68896
68897         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
68898         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68899
68900 2007-02-12  Bruno Haible  <bruno@clisp.org>
68901
68902         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68903         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
68904         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
68905         time warning rather than a link error.
68906
68907 2007-02-12  Bruno Haible  <bruno@clisp.org>
68908
68909         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
68910         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
68911         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68912
68913 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
68914
68915         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
68916         args, not 2.
68917
68918 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
68919
68920         New module 'time', so that apps can include <time.h> as per
68921         POSIX and GNU instead of separate include files like time_r.h
68922         and timegm.h.  This implementation tries out a simpler approach
68923         for replacing decls in standard include files (as compared to
68924         the string module), somewhat as an experiment.
68925
68926         * config/srclist.txt: Comment out mktime.c for now.
68927         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
68928         since it doesn't apply any more.  Use generic wording instead.
68929         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
68930         'time'.
68931         * lib/time_.h, m4/time_h.m4, modules/time: New files.
68932         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
68933         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
68934         Don't include <sys/types.h>; no longer needed since we assume C89.
68935         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
68936         * lib/strftime.c: Likewise.
68937         * lib/time_r.c: Likewise.
68938         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
68939         * lib/nanosleep.c: Include <time.h> first, to check interface.
68940         * lib/strptime.c: Likewise.
68941         * lib/time_r.c: Likewise.
68942         * lib/timegm.c: Likewise.
68943         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
68944         needed.
68945         * lib/timegm.c: Don't include timegm.h; no longer needed.
68946         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
68947         time.h now handles any problems in that area.
68948         (struct timespec, nanosleep): Remove; time.h now arranges for these.
68949         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
68950         that time.h defines struct timespec.
68951         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
68952         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
68953         handles that.
68954         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
68955         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
68956         needed.  Set REPLACE_LOCALTIME.
68957         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
68958         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
68959         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
68960         nanosleep; time_h.m4 now does that.  Don't require
68961         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
68962         module handles this now.
68963         * modules/getdate (Depends-on): Remove timespec.  Add time.
68964         * modules/nanosleep (Depends-on): Likewise.
68965         * modules/stat-time (Depends-on): Likewise.
68966         * modules/nanosleep (Include): Include time.h, not timespec.h.
68967         * modules/strptime (Files): Remove lib/strptime.h.
68968         (Depends-on): Add extensions, time.
68969         (Include): Include time.h, not strptime.h.
68970         * modules/time_r (Files): Remove lib/time_r.h.
68971         (Depends-on): Add time.
68972         (Include): Include time.h, not time_r.h.
68973         * modules/timegm: Likewise.
68974         * modules/timespec (Description): Now does timespec-related decls
68975         of our own, instead of struct timespec itself.
68976         (Depends-on): Add time; remove extensions.
68977         (Maintainer): Add self.
68978         * modules/utimecmp (Depends-on): Add time; remove timespec.
68979         * modules/utimens (Depends-on): Likewise.
68980         * modules/xnanosleep (Depends-on): Likewise.
68981
68982 2007-02-11  Bruno Haible  <bruno@clisp.org>
68983
68984         * lib/c-strstr.c: Include allocsa.h.
68985         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68986         * lib/c-strcasestr.c: Include allocsa.h.
68987         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68988         * lib/strcasestr.c: Include allocsa.h.
68989         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68990         * lib/mbsstr.c: Include allocsa.h.
68991         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
68992         allocsa/freesa instead of malloc/free.
68993         * lib/mbscasestr.c: Include allocsa.h.
68994         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
68995         allocsa/freesa instead of malloc/free.
68996         * modules/c-strstr (Depends-on): Add allocsa.
68997         * modules/c-strcasestr (Depends-on): Likewise.
68998         * modules/strcasestr (Depends-on): Likewise.
68999         * modules/mbsstr (Depends-on): Likewise.
69000         * modules/mbscasestr (Depends-on): Likewise.
69001
69002 2007-02-11  Bruno Haible  <bruno@clisp.org>
69003
69004         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69005
69006         * modules/mbsspn-tests: New file.
69007         * tests/test-mbsspn.sh: New file.
69008         * tests/test-mbsspn.c: New file.
69009
69010 2007-02-11  Bruno Haible  <bruno@clisp.org>
69011
69012         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69013
69014         * modules/mbspbrk-tests: New file.
69015         * tests/test-mbspbrk.sh: New file.
69016         * tests/test-mbspbrk.c: New file.
69017
69018 2007-02-11  Bruno Haible  <bruno@clisp.org>
69019
69020         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69021         unneeded cast.
69022
69023         * modules/mbscspn-tests: New file.
69024         * tests/test-mbscspn.sh: New file.
69025         * tests/test-mbscspn.c: New file.
69026
69027 2007-02-11  Bruno Haible  <bruno@clisp.org>
69028
69029         * modules/mbscasecmp-tests: New file.
69030         * tests/test-mbscasecmp.sh: New file.
69031         * tests/test-mbscasecmp.c: New file.
69032
69033 2007-02-11  Bruno Haible  <bruno@clisp.org>
69034
69035         Ensure O(n) worst-case complexity of mbscasestr.
69036         * lib/mbscasestr.c: Include stdbool.h.
69037         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69038         functions.
69039         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69040         the bookkeeping indicates that it's worth it.
69041         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69042
69043         * modules/mbscasestr-tests: New file.
69044         * tests/test-mbscasestr1.c: New file.
69045         * tests/test-mbscasestr2.sh: New file.
69046         * tests/test-mbscasestr2.c: New file.
69047         * tests/test-mbscasestr3.sh: New file.
69048         * tests/test-mbscasestr3.c: New file.
69049         * tests/test-mbscasestr4.sh: New file.
69050         * tests/test-mbscasestr4.c: New file.
69051         * m4/locale-tr.m4: New file.
69052
69053 2007-02-11  Bruno Haible  <bruno@clisp.org>
69054
69055         Ensure O(n) worst-case complexity of mbsstr.
69056         * lib/mbsstr.c: Include stdbool.h.
69057         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69058         functions.
69059         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69060         bookkeeping indicates that it's worth it.
69061         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69062
69063         * modules/mbsstr-tests: New file.
69064         * tests/test-mbsstr1.c: New file.
69065         * tests/test-mbsstr2.sh: New file.
69066         * tests/test-mbsstr2.c: New file.
69067         * tests/test-mbsstr3.sh: New file.
69068         * tests/test-mbsstr3.c: New file.
69069         * m4/locale-fr.m4: New file.
69070
69071 2007-02-11  Bruno Haible  <bruno@clisp.org>
69072
69073         * lib/mbsrchr.c (mbsrchr): Fix bug.
69074
69075         * modules/mbsrchr-tests: New file.
69076         * tests/test-mbsrchr.sh: New file.
69077         * tests/test-mbsrchr.c: New file.
69078
69079 2007-02-11  Bruno Haible  <bruno@clisp.org>
69080
69081         * lib/mbschr.c (mbschr): Fix bug.
69082
69083         * modules/mbschr-tests: New file.
69084         * tests/test-mbschr.sh: New file.
69085         * tests/test-mbschr.c: New file.
69086         * m4/locale-zh.m4: New file.
69087
69088 2007-02-11  Bruno Haible  <bruno@clisp.org>
69089
69090         Support for copying multibyte string iterators.
69091         * lib/mbiter.h: Include <string.h>.
69092         (mbiter_multi_copy): New function.
69093         (mbi_copy): New macro.
69094         * lib/mbuiter.h: Include <string.h>.
69095         (mbuiter_multi_copy): New function.
69096         (mbui_copy): New macro.
69097
69098 2007-02-11  Bruno Haible  <bruno@clisp.org>
69099
69100         New module mbslen.
69101         * modules/mbslen: New file.
69102         * lib/mbslen.c: New file.
69103         * lib/string_.h (mbslen): New declaration.
69104         * m4/mbslen.m4: New file.
69105         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69106         GNULIB_MBSLEN.
69107         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
69108         * MODULES.html.sh (Internationalization functions): Add mbslen.
69109
69110 2007-02-11  Bruno Haible  <bruno@clisp.org>
69111
69112         Ensure O(n) worst-case complexity of strcasestr substitute.
69113         * lib/strcasestr.c: Include stdbool.h.
69114         (knuth_morris_pratt): New function.
69115         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69116         bookkeeping indicates that it's worth it.
69117         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
69118
69119         * modules/strcasestr-tests: New file.
69120         * tests/test-strcasestr.c: New file.
69121
69122 2007-02-11  Bruno Haible  <bruno@clisp.org>
69123
69124         Ensure O(n) worst-case complexity of c_strcasestr.
69125         * lib/c-strcasestr.c: Include stdbool.h, string.h.
69126         (knuth_morris_pratt): New function.
69127         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
69128         the bookkeeping indicates that it's worth it.
69129         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
69130
69131         * modules/c-strcasestr-tests: New file.
69132         * tests/test-c-strcasestr.c: New file.
69133
69134 2007-02-11  Bruno Haible  <bruno@clisp.org>
69135
69136         Ensure O(n) worst-case complexity of c_strstr.
69137         * lib/c-strstr.c: Include stdbool.h, string.h.
69138         (knuth_morris_pratt): New function.
69139         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69140         bookkeeping indicates that it's worth it.
69141         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
69142
69143         * lib/c-strstr.c: Complete rewrite for maintainability.
69144
69145         * modules/c-strstr-tests: New file.
69146         * tests/test-c-strstr.c: New file.
69147
69148 2007-02-11  Bruno Haible  <bruno@clisp.org>
69149
69150         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
69151         5.2.1 and earlier, whereby \055 was treated just like the range
69152         delimiter '-'.
69153         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
69154
69155 2007-02-08  Bruno Haible  <bruno@clisp.org>
69156
69157         * modules/regex (Depends-on): Add stdbool.
69158         Reported by Dalibor Topic <robilad@kaffe.org>.
69159
69160 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69161
69162         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
69163         Prefer returning from main to exiting from it.
69164         Remove unnecessary parens after sizeof.
69165
69166 2007-02-05  Bruno Haible  <bruno@clisp.org>
69167
69168         New module mbssep.
69169         * modules/mbssep: New file.
69170         * lib/mbssep.c: New file.
69171         * lib/string_.h (strsep): Add a conditional link warning.
69172         (mbssep): New declaration.
69173         * m4/mbssep.m4: New file.
69174         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69175         GNULIB_MBSSEP.
69176         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
69177         * MODULES.html.sh (Internationalization functions): Add mbssep.
69178
69179 2007-02-05  Bruno Haible  <bruno@clisp.org>
69180
69181         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
69182         Optimize search in case of 1 delimiter.
69183
69184 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69185
69186         * lib/acl.h: Include sys/types.h before sys/acl.h.
69187
69188 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69189
69190         Merge upstream fix for glibc bugzilla #3957:
69191
69192         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
69193
69194         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
69195         bit for RE_HAT_LISTS_NOT_NEWLINE.
69196         (build_charclass_op): Remove bogus comment.
69197
69198 2007-02-05  Simon Josefsson  <simon@josefsson.org>
69199
69200         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
69201
69202 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69203
69204         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
69205         * lib/memmem.c [!defined _LIBC]: Include config.h.
69206
69207 2007-02-04  Bruno Haible  <bruno@clisp.org>
69208
69209         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
69210         warning message.
69211
69212 2007-02-04  Bruno Haible  <bruno@clisp.org>
69213
69214         New module mbstok_r.
69215         * modules/mbstok_r: New file.
69216         * lib/mbstok_r.c: New file.
69217         * lib/string_.h (strtok_r): Change argument names to match the
69218         comments. Add a conditional link warning.
69219         (mbstok_r): New declaration.
69220         * m4/mbstok_r.m4: New file.
69221         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69222         GNULIB_MBSTOK_R.
69223         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
69224         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
69225
69226 2007-02-04  Bruno Haible  <bruno@clisp.org>
69227
69228         New module mbsspn.
69229         * modules/mbsspn: New file.
69230         * lib/mbsspn.c: New file.
69231         * lib/string_.h (strspn): Add a conditional link warning.
69232         (mbsspn): New declaration.
69233         * m4/mbsspn.m4: New file.
69234         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69235         GNULIB_MBSSPN.
69236         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
69237         * MODULES.html.sh (Internationalization functions): Add mbsspn.
69238
69239 2007-02-04  Bruno Haible  <bruno@clisp.org>
69240
69241         New module mbspbrk.
69242         * modules/mbspbrk: New file.
69243         * lib/mbspbrk.c: New file.
69244         * lib/string_.h (strpbrk): Add a conditional link warning.
69245         (mbspbrk): New declaration.
69246         * m4/mbspbrk.m4: New file.
69247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69248         GNULIB_MBSPBRK.
69249         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
69250         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
69251
69252 2007-02-04  Bruno Haible  <bruno@clisp.org>
69253
69254         New module mbscspn.
69255         * modules/mbscspn: New file.
69256         * lib/mbscspn.c: New file.
69257         * lib/string_.h (strcspn): Add a conditional link warning.
69258         (mbscspn): New declaration.
69259         * m4/mbscspn.m4: New file.
69260         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69261         GNULIB_MBSCSPN.
69262         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
69263         * MODULES.html.sh (Internationalization functions): Add mbscspn.
69264
69265 2007-02-04  Bruno Haible  <bruno@clisp.org>
69266
69267         New module mbscasestr, reduced goal of strcasestr.
69268         * modules/mbscasestr: New file.
69269         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
69270         (mbscasestr): Renamed from strcasestr.
69271         * lib/strcasestr.c: Don't include mbuiter.h.
69272         (strcasestr): Remove support for multibyte locales.
69273         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
69274         Change the conditional link warning.
69275         (mbscasestr): New declaration.
69276         * m4/mbscasestr.m4: New file.
69277         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
69278         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
69279         REPLACE_STRCASESTR.
69280         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
69281         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69282         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69283         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
69284         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
69285         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69286         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
69287         (Depends-on): Remove mbuiter.
69288         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
69289
69290 2007-02-04  Bruno Haible  <bruno@clisp.org>
69291
69292         Simplify handling of strncasecmp.
69293         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
69294         the conditional link warning.
69295         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69296         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
69297         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
69298         * modules/strcase (configure.ac): Don't invoke
69299         gl_STRING_MODULE_INDICATOR.
69300         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
69301
69302 2007-02-04  Bruno Haible  <bruno@clisp.org>
69303
69304         New module mbscasecmp, reduced goal of strcasecmp.
69305         * modules/mbscasecmp: New file.
69306         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
69307         (mbscasecmp): Renamed from strcasecmp.
69308         * lib/strcasecmp.c: Don't include mbuiter.h.
69309         (strcasecmp): Remove support for multibyte locales.
69310         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
69311         Change the conditional link warning.
69312         (mbscasecmp): New declaration.
69313         * m4/mbscasecmp.m4: New file.
69314         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
69315         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
69316         REPLACE_STRCASECMP.
69317         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
69318         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69319         GNULIB_MBSCASECMP.
69320         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
69321         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
69322         * modules/strcase (Files): Remove m4/mbrtowc.m4.
69323         (Depends-on): Remove mbuiter.
69324         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
69325
69326 2007-02-04  Bruno Haible  <bruno@clisp.org>
69327
69328         New module mbsstr. Remove module strstr.
69329         * modules/mbsstr: New file.
69330         * modules/strstr: Remove file.
69331         * lib/mbsstr.c: Renamed from lib/strstr.c.
69332         (mbsstr): Renamed from strstr.
69333         * lib/string_.h (strstr): Remove declaration. Change the conditional
69334         link warning.
69335         (mbsstr): New declaration.
69336         * m4/mbsstr.m4: New file.
69337         * m4/strstr.m4: Remove file.
69338         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69339         REPLACE_STRSTR.
69340         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
69341         Don't initialize GNULIB_STRSTR.
69342         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
69343         substitute GNULIB_STRSTR and REPLACE_STRSTR.
69344         * MODULES.html.sh (Internationalization functions): Add mbsstr.
69345         (Support for systems lacking ANSI C 89): Remove strstr.
69346
69347 2007-02-04  Bruno Haible  <bruno@clisp.org>
69348
69349         New module mbsrchr.
69350         * modules/mbsrchr: New file.
69351         * lib/mbsrchr.c: New file.
69352         * lib/string_.h (strrchr): Add a conditional link warning.
69353         (mbsrchr): New declaration.
69354         * m4/mbsrchr.m4: New file.
69355         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69356         GNULIB_MBSRCHR.
69357         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
69358         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
69359
69360 2007-02-04  Bruno Haible  <bruno@clisp.org>
69361
69362         New module mbschr.
69363         * modules/mbschr: New file.
69364         * lib/mbschr.c: New file.
69365         * lib/string_.h (strchr): Add a conditional link warning.
69366         (mbschr): New declaration.
69367         * m4/mbschr.m4: New file.
69368         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69369         GNULIB_MBSCHR.
69370         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
69371         * MODULES.html.sh (Internationalization functions): Add mbschr.
69372
69373 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69374
69375         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
69376
69377         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
69378
69379 2007-02-04  Bruno Haible  <bruno@clisp.org>
69380
69381         New module description section 'configure.ac-early'.
69382         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
69383         (func_get_autoconf_early_snippet): New function.
69384         (func_import, func_create_testdir): Use it. Remove special cases for
69385         modules 'extensions' and 'lock'.
69386         * modules/extensions (configure.ac-early): Require
69387         gl_USE_SYSTEM_EXTENSIONS.
69388         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
69389
69390 2007-02-04  Bruno Haible  <bruno@clisp.org>
69391
69392         Make use of gcj-4.3's -fsource and -ftarget option.
69393         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
69394         and if so try the options -fsource and -ftarget.
69395         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
69396         source_version, ftarget_option, target_version arguments.
69397         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
69398         (is_envjavac_oldgcj_14_14_usable): Renamed from
69399         is_envjavac_gcj_14_14_usable.
69400         (is_envjavac_oldgcj_14_13_usable): Renamed from
69401         is_envjavac_gcj_14_13_usable.
69402         (is_gcj_present): Update.
69403         (is_gcj_43, is_gcj43_usable): New functions.
69404         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
69405         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
69406         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
69407         try the options -fsource and -ftarget.
69408
69409 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69410
69411         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
69412         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
69413         larger value.
69414
69415 2007-02-03  Jim Meyering  <jim@meyering.net>
69416
69417         Give tools a better chance to allocate space for very large buffers.
69418         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
69419
69420         Make pwd and readlink work also when run with an unreadable parent dir
69421         on systems with openat support.
69422         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
69423         provided getcwd function, even when we have openat support.
69424         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
69425
69426 2007-02-02  Bruno Haible  <bruno@clisp.org>
69427
69428         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69429         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
69430         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
69431         portability problems if one of these functions is only used on specific
69432         platforms.
69433         Reported by Paul Eggert.
69434
69435 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
69436
69437         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
69438         is causing more trouble than it's curing.
69439         * lib/regex_internal.h (__mempcpy): Remove.
69440         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
69441         (and make the code a tad smaller to boot).
69442         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
69443
69444 2007-02-02  Jim Meyering  <jim@meyering.net>
69445
69446         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
69447         section, not in the Makefile.am: one.
69448
69449 2007-02-02  Eric Blake  <ebb9@byu.net>
69450
69451         * lib/strchrnul.c: Always include config.h first.
69452
69453         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
69454         gnulib strstr is not necessary here.
69455
69456 2007-02-02  Simon Josefsson  <simon@josefsson.org>
69457
69458         * m4/socklen.m4: Fix typo.
69459
69460 2007-02-02  Eric Blake  <ebb9@byu.net>
69461
69462         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
69463         * modules/netinet_in (Makefile.am): Likewise.
69464
69465 2007-02-01  Bruno Haible  <bruno@clisp.org>
69466
69467         * lib/string_.h (GL_LINK_WARNING): New macro.
69468         (strcasecmp, strstr, strcasestr): If provided by the system,
69469         conditionally define as a macro that leads to a warning instead of to
69470         an error.
69471         (strncasecmp): Conditionally define as a macro that leads to a warning.
69472
69473 2007-02-01  Karl Berry  <karl@gnu.org>
69474
69475         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
69476
69477 2007-02-01  Bruno Haible  <bruno@clisp.org>
69478
69479         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
69480         renamings.
69481
69482 2007-02-01  Eric Blake  <ebb9@byu.net>
69483
69484         * modules/regex (Depends-on): Revert dependence on mempcpy.
69485         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
69486         module's definition of mempcpy.
69487         Reported by Paul Eggert.
69488
69489 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69490
69491         * lib/string_.h: If the gnulib module XYZ is not present, undefine
69492         the symbol XYZ before redefining it.  This fixes a problem with
69493         programs that don't use XYZ, when compiled on systems that define
69494         XYZ to something else.
69495
69496 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
69497
69498         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
69499         occurs when "mkdir -m foo" creates a setgid directory that is (1)
69500         writeable to group or other and (2) is intended to have a special
69501         mode bit that is set or cleared.  In such a case, the directory
69502         should be neither group- nor other-writeable until the special
69503         mode bits are right.
69504
69505 2007-01-31  Eric Blake  <ebb9@byu.net>
69506
69507         * modules/mountlist (Depends-on): Add strstr.
69508
69509         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
69510         bug.
69511         * modules/string (Makefile.am): Remove redundant replacement.
69512         * modules/regex (Depends-on): Add mempcpy.
69513
69514 2007-01-31  Bruno Haible  <bruno@clisp.org>
69515
69516         New module description field 'Link'.
69517         * gnulib-tool (func_usage): Document --extract-link-directive.
69518         (sed_extract_prog): Recognize 'Link' directive.
69519         (func_get_link_directive): New function.
69520         (func_import): Show summary of link directives.
69521         Handle --extract-link-directive option.
69522         * modules/acl (Link): New section.
69523         * modules/clock-time (Link): New section.
69524         * modules/euidaccess (Link): New section.
69525         * modules/gettext (Link): New section.
69526         * modules/iconv (Link): New section.
69527         * modules/lock (Link): New section.
69528         * modules/nanosleep (Link): New section.
69529         * modules/readline (Link): New section.
69530
69531 2007-01-27  Bruno Haible  <bruno@clisp.org>
69532
69533         Enforce the use of gnulib modules for unportable <string.h> functions.
69534         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
69535         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
69536         (gl_HEADER_STRING_H_BODY): Require it.
69537         * lib/string_.h: If the gnulib module XYZ is not present, redefine
69538         the symbol XYZ to one that gives a link error.
69539         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
69540         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
69541         * modules/mempcpy (configure.ac): Likewise.
69542         * modules/memrchr (configure.ac): Likewise.
69543         * modules/stpcpy (configure.ac): Likewise.
69544         * modules/stpncpy (configure.ac): Likewise.
69545         * modules/strcase (configure.ac): Likewise.
69546         * modules/strcasestr (configure.ac): Likewise.
69547         * modules/strchrnul (configure.ac): Likewise.
69548         * modules/strdup (configure.ac): Likewise.
69549         * modules/strndup (configure.ac): Likewise.
69550         * modules/strnlen (configure.ac): Likewise.
69551         * modules/strpbrk (configure.ac): Likewise.
69552         * modules/strsep (configure.ac): Likewise.
69553         * modules/strstr (configure.ac): Likewise.
69554         * modules/strtok_r (configure.ac): Likewise.
69555
69556 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
69557
69558         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
69559
69560 2007-01-30  Jim Meyering  <jim@meyering.net>
69561
69562         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
69563
69564 2007-01-29  Bruno Haible  <bruno@clisp.org>
69565
69566         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
69567         * lib/execute.c: Likewise.
69568         * lib/pipe.c: Likewise.
69569         * lib/printf-args.h: Likewise.
69570         * lib/printf-args.c: Likewise.
69571         * lib/printf-parse.c: Likewise.
69572         * lib/vasnprintf.c: Likewise.
69573
69574 2007-01-29  Eric Blake  <ebb9@byu.net>
69575
69576         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
69577         declaration.
69578
69579 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
69580
69581         * lib/strptime.h (strptime): Use 'restrict' for args where
69582         POSIX requires this.
69583         * lib/strptime.c (strptime): Likewise.
69584         Change license notice from LGPL to GPL, since gnulib-tool will
69585         change this as needed.
69586         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
69587         defined.
69588         Include "strptime.h" first, to check interface.
69589         Do not #undef _LIBC and _NL_CURRENT.
69590         Do not include <stdlib.h>; no longer needed.
69591         Include "time_r.h" and declare ptime_locale_status
69592         only if _LIBC is not defined.
69593         (__P): Remove unused macro.
69594         (match_string): Bring back glibc version, but use it only if _LIBC
69595         is defined.
69596         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
69597         Remove unnecessary assertion and abort() call.
69598         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
69599         * m4/strptime.m4: Fix serial number comment.
69600         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
69601         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
69602         (Depends-on): Add time_r.
69603
69604 2007-01-29  Bruno Haible  <bruno@clisp.org>
69605
69606         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69607         strptime.
69608         * modules/strptime (Depends-on): Add stdbool.
69609         * lib/strptime.h: Include <time.h> always. Add comments.
69610
69611 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69612
69613         * modules/strptime: New file.
69614         * lib/strptime.h: New file.
69615         * lib/strptime.c: New file.
69616         * m4/strptime.m4: New file.
69617
69618 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69619
69620         * MODULES.html.sh: New module mpsort.
69621         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
69622
69623         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
69624         a circularity problem with HP-UX ia64 reported by Bob Proulx in
69625         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
69626         All uses changed.
69627         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
69628         All uses changed.
69629         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
69630         to _Restrict_.
69631         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
69632         the parameter matches the prototype.
69633
69634 2007-01-28  Jim Meyering  <jim@meyering.net>
69635
69636         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
69637         sys/time.h here, reverting that part of the previous patch:
69638         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
69639
69640 2007-01-28  Bruno Haible  <bruno@clisp.org>
69641
69642         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
69643         value of $(SYS_TIME_H).
69644         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
69645         remove it conditionally, too. [added by Jim Meyering]
69646         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
69647         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69648         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
69649         GETTIMEOFDAY_REPLACEMENT to 1.
69650
69651 2007-01-28  Bruno Haible  <bruno@clisp.org>
69652
69653         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
69654         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
69655         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
69656         Set UNISTD_H instead of UNISTD_H2.
69657         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
69658
69659 2007-01-28  Bruno Haible  <bruno@clisp.org>
69660
69661         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
69662         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
69663
69664 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69665
69666         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
69667         (func_create_testdir): Ensure C locale for `grep' and `tr'
69668         character ranges.
69669         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
69670         ACLOCAL_AMFLAGS parsing state machine.
69671
69672 2007-01-27  Bruno Haible  <bruno@clisp.org>
69673
69674         * modules/unistr/base: Update.
69675
69676 2007-01-27  Bruno Haible  <bruno@clisp.org>
69677
69678         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
69679         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
69680         * modules/unistr/u32-mbtouc-unsafe: Renamed from
69681         modules/unistr/u32-mbtouc.
69682         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
69683         * lib/unistr.h: Update.
69684         * lib/linebreak.c: Update.
69685         * modules/unistr/u32-mbtouc: Renamed from
69686         modules/unistr/u32-mbtouc-safe.
69687         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
69688         * lib/unistr.h: Update.
69689         * lib/unistr/u32-to-u8.c: Update.
69690         * lib/unistr/u32-to-u16.c: Update.
69691
69692 2007-01-27  Bruno Haible  <bruno@clisp.org>
69693
69694         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
69695         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
69696         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
69697         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
69698         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
69699         * modules/unistr/u16-mbtouc-unsafe: Renamed from
69700         modules/unistr/u16-mbtouc.
69701         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
69702         * lib/unistr.h: Update.
69703         * lib/linebreak.c: Update.
69704         * modules/linebreak: Update.
69705         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
69706         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
69707         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
69708         * modules/unistr/u16-mbtouc: Renamed from
69709         modules/unistr/u16-mbtouc-safe.
69710         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
69711         * lib/unistr.h: Update.
69712         * lib/unistr/u16-to-u8.c: Update.
69713         * modules/unistr/u16-to-u8: Update.
69714         * lib/unistr/u16-to-u32.c: Update.
69715         * modules/unistr/u16-to-u32: Update.
69716
69717 2007-01-27  Bruno Haible  <bruno@clisp.org>
69718
69719         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
69720         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
69721         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
69722         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
69723         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
69724         * modules/unistr/u8-mbtouc-unsafe: Renamed from
69725         modules/unistr/u8-mbtouc.
69726         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
69727         * lib/unistr.h: Update.
69728         * lib/striconveh.c: Update.
69729         * modules/striconveh: Update.
69730         * lib/linebreak.c: Update.
69731         * modules/linebreak: Update.
69732         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
69733         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
69734         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
69735         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
69736         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
69737         * lib/unistr.h: Update.
69738         * lib/striconveh.c: Update.
69739         * modules/striconveh: Update.
69740         * lib/unistr/u8-to-u16.c: Update.
69741         * modules/unistr/u8-to-u16: Update.
69742         * lib/unistr/u8-to-u32.c: Update.
69743         * modules/unistr/u8-to-u32: Update.
69744
69745 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69746
69747         Sync from Libtool.
69748         * lib/argz.c: Do not include strings.h nor memory.h, include
69749         string.h unconditionally.  Patch by Simon Josefsson.
69750
69751 2007-01-27  Bruno Haible  <bruno@clisp.org>
69752
69753         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
69754         from gl_HEADER_STRING_H_BODY.
69755         (gl_HEADER_STRING_H_BODY): Require it.
69756         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
69757         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
69758         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
69759         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
69760         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69761         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
69762         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
69763         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
69764         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
69765         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
69766         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
69767         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
69768         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
69769         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
69770         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69771
69772 2007-01-27  Bruno Haible  <bruno@clisp.org>
69773
69774         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
69775         check_PROGRAMS into noinst_PROGRAMS.
69776         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
69777         check_PROGRAMS in this case.
69778         (func_import): Set for_test to false.
69779         (func_create_testdir): Set for_test to true.
69780
69781 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69782             Bruno Haible  <bruno@clisp.org>
69783
69784         * modules/strcasestr (Files): Remove lib/strcasestr.h.
69785         (Depends-on): Add string.
69786         (Includes): Use <string.h> instead of strcasestr.h.
69787         * modules/string (Makefile.am): Also substitute the value of
69788         REPLACE_STRCASESTR.
69789         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
69790         assume strcasestr is declared in <string.h> not <strings.h>. Also
69791         set REPLACE_STRCASESTR.
69792         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
69793         REPLACE_STRCASESTR.
69794         * lib/strcasestr.h: Remove file.
69795         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
69796         * lib/string_.h (strcasestr): New declaration.
69797
69798 2007-01-27  Bruno Haible  <bruno@clisp.org>
69799
69800         * lib/string_.h: Use 'extern'.
69801
69802 2007-01-27  Jim Meyering  <jim@meyering.net>
69803
69804         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
69805         of set-but-not-used local, "q".
69806
69807         * lib/mempcpy.c: Include <config.h> before <string.h>.
69808         This fixes a compilation error on HP-UX, due to the system's
69809         "restrict"-using mempcpy prototype.
69810
69811 2007-01-26  Bruno Haible  <bruno@clisp.org>
69812
69813         Small optimization.
69814         * lib/javacomp.c: Include c-strstr.h.
69815          (is_envjavac_gcj): Use c_strstr instead of strstr.
69816         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
69817
69818 2007-01-26  Bruno Haible  <bruno@clisp.org>
69819
69820         * MODULES.html.sh (Unicode string functions): Add the new modules.
69821
69822         * modules/uniconv/u32-strconv-to-locale: New file.
69823         * lib/uniconv/u32-strconv-to-locale.c: New file.
69824
69825         * modules/uniconv/u16-strconv-to-locale: New file.
69826         * lib/uniconv/u16-strconv-to-locale.c: New file.
69827
69828         * modules/uniconv/u8-strconv-to-locale: New file.
69829         * lib/uniconv/u8-strconv-to-locale.c: New file.
69830
69831         * modules/uniconv/u32-strconv-from-locale: New file.
69832         * lib/uniconv/u32-strconv-from-locale.c: New file.
69833
69834         * modules/uniconv/u16-strconv-from-locale: New file.
69835         * lib/uniconv/u16-strconv-from-locale.c: New file.
69836
69837         * modules/uniconv/u8-strconv-from-locale: New file.
69838         * lib/uniconv/u8-strconv-from-locale.c: New file.
69839
69840         * modules/uniconv/u32-strconv-to-enc: New file.
69841         * lib/uniconv/u32-strconv-to-enc.c: New file.
69842         * modules/uniconv/u32-strconv-to-enc-tests: New file.
69843         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
69844
69845         * modules/uniconv/u16-strconv-to-enc: New file.
69846         * lib/uniconv/u16-strconv-to-enc.c: New file.
69847         * lib/uniconv/u-strconv-to-enc.h: New file.
69848         * modules/uniconv/u16-strconv-to-enc-tests: New file.
69849         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
69850
69851         * modules/uniconv/u8-strconv-to-enc: New file.
69852         * lib/uniconv/u8-strconv-to-enc.c: New file.
69853         * modules/uniconv/u8-strconv-to-enc-tests: New file.
69854         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
69855
69856         * modules/uniconv/u32-strconv-from-enc: New file.
69857         * lib/uniconv/u32-strconv-from-enc.c: New file.
69858         * modules/uniconv/u32-strconv-from-enc-tests: New file.
69859         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
69860
69861         * modules/uniconv/u16-strconv-from-enc: New file.
69862         * lib/uniconv/u16-strconv-from-enc.c: New file.
69863         * modules/uniconv/u16-strconv-from-enc-tests: New file.
69864         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
69865
69866         * modules/uniconv/u8-strconv-from-enc: New file.
69867         * lib/uniconv/u8-strconv-from-enc.c: New file.
69868         * lib/uniconv/u-strconv-from-enc.h: New file.
69869         * modules/uniconv/u8-strconv-from-enc-tests: New file.
69870         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
69871
69872         * modules/uniconv/u32-conv-from-enc: New file.
69873         * lib/uniconv/u32-conv-from-enc.c: New file.
69874         * modules/uniconv/u32-conv-from-enc-tests: New file.
69875         * tests/uniconv/test-u32-conv-from-enc.c: New file.
69876
69877         * modules/uniconv/u16-conv-from-enc: New file.
69878         * lib/uniconv/u16-conv-from-enc.c: New file.
69879         * lib/uniconv/u-conv-from-enc.h: New file.
69880         * modules/uniconv/u16-conv-from-enc-tests: New file.
69881         * tests/uniconv/test-u16-conv-from-enc.c: New file.
69882
69883         * modules/uniconv/u8-conv-from-enc: New file.
69884         * lib/uniconv/u8-conv-from-enc.c: New file.
69885         * modules/uniconv/u8-conv-from-enc-tests: New file.
69886         * tests/uniconv/test-u8-conv-from-enc.c: New file.
69887
69888         * modules/uniconv/base: New file.
69889         * lib/uniconv.h: New file.
69890
69891 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
69892
69893         * doc/gnulib-tool.texi (Initial import): Update to match current
69894         behavior with strdup module.
69895         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
69896         * lib/memmem.h: Remove; all uses removed.  This is now done
69897         by <string.h>.
69898         * lib/mempcpy.h: Likewise.
69899         * lib/memrchr.h: Likewise.
69900         * lib/stpcpy.h: Likewise.
69901         * lib/stpncpy.h: Likewise.
69902         * lib/strcase.h: Likewise.
69903         * lib/strchrnul.h: Likewise.
69904         * lib/strdup.h: Likewise.
69905         * lib/strndup.h: Likewise.
69906         * lib/strnlen.h: Likewise.
69907         * lib/strpbrk.h: Likewise.
69908         * lib/strsep.h: Likewise.
69909         * lib/strstr.h: Likewise.
69910         * lib/strtok_r.h: Likewise.
69911         * lib/string_.h: New file.
69912         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
69913         Rely on <string.h> instead.
69914         * lib/canon-host.c: Likewise.
69915         * lib/chdir-long.c: Likewise.
69916         * lib/concatpath.c: Likewise.
69917         * lib/exclude.c: Likewise.
69918         * lib/fchdir.c: Likewise.
69919         * lib/getaddrinfo.c: Likewise.
69920         * lib/getcwd.c: Likewise.
69921         * lib/getsubopt.c: Likewise.
69922         * lib/glob.c: Likewise.
69923         * lib/hard-locale.c: Likewise.
69924         * lib/iconvme.c: Likewise.
69925         * lib/javacomp.c: Likewise.
69926         * lib/mempcpy.c: Likewise.
69927         * lib/memrchr.c: Likewise.
69928         * lib/regex_internal.h: Likewise.
69929         * lib/stpncpy.c: Likewise.
69930         * lib/strcasecmp.c: Likewise.
69931         * lib/strchrnul.c: Likewise.
69932         * lib/strdup.c: Likewise.
69933         * lib/striconv.c: Likewise.
69934         * lib/striconveh.c: Likewise.
69935         * lib/striconveha.c: Likewise.
69936         * lib/strncasecmp.c: Likewise.
69937         * lib/strndup.c: Likewise.
69938         * lib/strnlen.c: Likewise.
69939         * lib/strsep.c: Likewise.
69940         * lib/strstr.c: Likewise.
69941         * lib/strtok_r.c: Likewise.
69942         * lib/userspec.c: Likewise.
69943         * lib/w32spawn.h: Likewise.
69944         * lib/xstrndup.c: Likewise.
69945         * lib/mountlist.c (strstr): Remove decl.
69946         * m4/string_h.m4: New file.
69947         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
69948         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
69949         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
69950         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
69951         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
69952         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
69953         Set REPLACE_STRCASECMP if necessary.
69954         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
69955         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
69956         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
69957         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
69958         HAVE_DECL_STRDUP if necessary.
69959         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
69960         since gl_FUNC_STRNDUP does that now.
69961         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
69962         Check for decl here...
69963         (gl_PREREQ_STRNLEN): ... not here.
69964         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
69965         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
69966         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
69967         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
69968         necessary.
69969         * modules/string: New file.
69970         * modules/memmem (Files): Remove special-purpose include file.
69971         (Depends-on): Add string.
69972         (Include): Include <string.h>, not the removed file.
69973         * modules/mempcpy: Likewise.
69974         * modules/memrchr: Likewise.
69975         * modules/stpcpy: Likewise.
69976         * modules/stpncpy: Likewise.
69977         * modules/strcase: Likewise.
69978         * modules/strchrnul: Likewise.
69979         * modules/strdup: Likewise.
69980         * modules/strndup: Likewise.
69981         * modules/strnlen: Likewise.
69982         * modules/strpbrk: Likewise.
69983         * modules/strsep: Likewise.
69984         * modules/strstr: Likewise.
69985         * modules/strtok_r: Likewise.
69986         * tests/test-dirname.c: Don't include "strdup.h", since
69987         <string.h> now suffices.
69988         * tests/test-memmem.c: Don't include "memmem.h", since
69989         <string.h> now suffices.
69990
69991 2007-01-25  Bruno Haible  <bruno@clisp.org>
69992
69993         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
69994         *resultp is 0.
69995
69996         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
69997         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
69998         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
69999         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70000
70001         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70002         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70003         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70004         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70005         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70006         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70007
70008 2007-01-24  Bruno Haible  <bruno@clisp.org>
70009
70010         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70011         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70012         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70013         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70014         gl_FUNC_FTS_CORE.
70015         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70016         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70017         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70018         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70019         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70020         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70021         gl_FUNC_FCHOWNAT.
70022         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70023         gl_FUNC_STRFTIME.
70024         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70025         Reported by Ralf Wildenhues.
70026
70027 2007-01-24  Bruno Haible  <bruno@clisp.org>
70028
70029         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70030         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70031         gl_GETADDRINFO.
70032         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70033         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70034         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70035
70036 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70037
70038         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70039         Don't use 'exit'; just return from 'main'.
70040         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70041
70042         * lib/fnmatch_.h: Readjust white space and comments to match
70043         glibc, to avoid spurious diffs.
70044
70045 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70046
70047         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70048         2004-12-01 change by Jakub Jelinek, since this code won't compile
70049         if !LIBC.  Problem reported by Bob Proulx.
70050
70051 2007-01-23  Bruno Haible  <bruno@clisp.org>
70052
70053         * lib/striconveh.c: Include c-strcaseeq.h.
70054         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70055         * modules/striconveh (Depends-on): Add c-strcaseeq.
70056
70057 2007-01-23  Bruno Haible  <bruno@clisp.org>
70058
70059         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70060
70061         * modules/c-strcaseeq: New file.
70062         * lib/c-strcaseeq.h: New file.
70063
70064         * modules/streq: New file.
70065         * lib/streq.h: New file.
70066
70067 2007-01-23  Bruno Haible  <bruno@clisp.org>
70068
70069         * modules/striconveha-tests: New file.
70070         * tests/test-striconveha.c: New file.
70071
70072         * lib/striconveha.h: Include <stdbool.h>.
70073         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70074         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70075         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70076         (mem_iconveha): New function.
70077         (str_iconveha_notranslit): Renamed from str_iconveha.
70078         (str_iconveha): New function.
70079         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70080         c-strcase.
70081
70082 2007-01-23  Bruno Haible  <bruno@clisp.org>
70083
70084         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70085         encodings without forgiving before trying any encoding with handler.
70086         (str_iconveha): Try all encodings without forgiving before trying any
70087         encoding with handler.
70088
70089 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70090
70091         Import the following changes from libc.
70092
70093         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
70094
70095         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
70096
70097         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70098
70099         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
70100         normal_bracket label.
70101
70102         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
70103
70104         [BZ #361]
70105         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
70106         to normal_bracket after fetching the next character.
70107
70108 2007-01-22  Bruno Haible  <bruno@clisp.org>
70109
70110         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
70111         argument.
70112         * lib/striconveh.c (iconv_carefully_1): New function.
70113         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
70114         argument.
70115         (str_cd_iconveh): Update.
70116         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
70117         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
70118         * tests/test-striconveh.c (MAGIC): New macro.
70119         (new_offsets): New function.
70120         (main): Test call with and without offsets.
70121
70122 2007-01-22  Bruno Haible  <bruno@clisp.org>
70123
70124         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
70125         * modules/sys_select (Makefile.am): Likewise.
70126         * modules/sys_socket (Makefile.am): Likewise.
70127         * modules/sys_time (Makefile.am): Likewise.
70128
70129 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70130
70131         * modules/gettimeofday (License): Change from GPL to LGPL, since
70132         gettimeofday is a library function.
70133
70134 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70135
70136         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
70137
70138 2007-01-21  Bruno Haible  <bruno@clisp.org>
70139
70140         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
70141
70142 2007-01-21  Bruno Haible  <bruno@clisp.org>
70143
70144         * modules/striconveha: New file.
70145         * lib/striconveha.h: New file.
70146         * lib/striconveha.c: New file.
70147         * MODULES.html.sh (Internationalization functions): Add striconveha.
70148         * lib/striconv.c (str_iconv): Optimize the case of an empty input
70149         string.
70150         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
70151
70152 2007-01-21  Bruno Haible  <bruno@clisp.org>
70153
70154         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
70155         * lib/striconveh.c (str_iconveh): Likewise.
70156
70157 2007-01-21  Bruno Haible  <bruno@clisp.org>
70158
70159         * lib/striconveh.h (mem_iconveh): New declaration.
70160         * lib/striconveh.c (mem_iconveh): New function.
70161         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
70162
70163 2007-01-21  Bruno Haible  <bruno@clisp.org>
70164
70165         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
70166
70167         * lib/striconveh.h (mem_cd_iconveh): Change specification.
70168         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
70169         original result buffer.
70170         (str_cd_iconveh): Update.
70171         * tests/test-striconveh.c (main): Update.
70172
70173         * lib/striconv.h (mem_cd_iconv): Change specification.
70174         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
70175         result buffer.
70176         (str_cd_iconv): Update.
70177         * tests/test-striconv.c (main): Update.
70178
70179 2007-01-21  Bruno Haible  <bruno@clisp.org>
70180
70181         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
70182
70183 2007-01-20  Jim Meyering  <jim@meyering.net>
70184
70185         * lib/userspec.c (parse_with_separator): If a user or group string
70186         starts with "+", skip the corresponding name-to-ID look-up, since
70187         such a look-up must fail: user and group names may not include "+".
70188
70189 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70190
70191         * lib/poll.c: Include sys/time.h and time.h unconditionally,
70192         since we now assume the sys_time module.
70193         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
70194         check for sys/time.h; no longer needed.
70195         * modules/poll (Depends-on): Depend on sys_time.
70196
70197 2007-01-18  Bruno Haible  <bruno@clisp.org>
70198
70199         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
70200         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70201
70202         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
70203         gettimeofday.
70204
70205         * tests/test-gettimeofday.c: Include <time.h>.
70206         (dummy): Remove variable.
70207
70208         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
70209         gl_HEADER_SYS_TIME_H.
70210         (gl_HEADER_SYS_TIME_H): New macro.
70211
70212         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
70213         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70214         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
70215         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
70216         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70217         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
70218         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
70219         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70220         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
70221         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
70222         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70223
70224         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
70225         last change; it caused a compilation error when cross-compiling to
70226         Cygwin.
70227
70228 2007-01-18  Jim Meyering  <jim@meyering.net>
70229
70230         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
70231         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
70232         than the race-prone "test -d sys || mkdir sys".
70233         (configure.ac): Use AC_PROG_MKDIR_P.
70234         * modules/sys_select: Likewise.
70235         * modules/sys_socket: Likewise.
70236         * modules/sys_time: Likewise.
70237
70238 2007-01-18  Eric Blake  <ebb9@byu.net>
70239
70240         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
70241         replace gettimeofday.
70242         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
70243         name, to avoid infinite recursion.
70244
70245 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
70246
70247         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
70248         module sys_time.
70249         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
70250         assume timespec.h defines struct timeval.
70251         * lib/settime.c: Likewise.
70252         * lib/utimens.c: Likewise.
70253         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
70254         since we now assume the gettimeofday module.
70255         * lib/tempname.c (__gen_tempname): Likewise.
70256         * lib/gettimeofday.h: Remove.
70257         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
70258         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
70259         Include <time.h>, for 'time()'.
70260         (localtime_buffer_addr): Also use this workaround if
70261         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
70262         to simplify the uses.  All uses changed.
70263         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
70264         that #undef is inside {}, and 'const' follows type name consistently.
70265         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
70266         (gettimeofday): Do not use the maximum possible value for
70267         tv->tv_usec, since that might break usages other than ls.c.
70268         Instead, we'll leave ls.c alone.  This undoes today's patch
70269         by Bruno.  Add a compile-time warning for 1s-clock resolution;
70270         we've never observed the problem but might as well keep the
70271         canary.
70272         * lib/nanosleep.c: Include timespec.h first, for interface check.
70273         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
70274         now assume the sys_time module.
70275         * lib/tempname.c: Likewise.
70276         * lib/timespec.h: Likewise.
70277         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
70278         needed.
70279         * lib/strftime.c: Likewise.
70280         * lib/timespec.h: Likewise.
70281         * lib/posixtm.c: Include posixtm.h first, for interface check.
70282         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
70283         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
70284         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
70285         * lib/sys_time_.h: New file.
70286         * lib/timespec.h (struct timespec): Use long int, not long.
70287         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70288         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
70289         Remove obsolescent call to AC_HEADER_TIME.
70290         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
70291         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70292         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70293         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
70294         Likewise.
70295         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
70296         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
70297         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
70298         into the sys_time module.  Check for gettimeofday just once.
70299         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
70300         for gettimeofday signature to just check the signature.  Merely
70301         compile it, since linking doesn't test signature.  Improve test for
70302         whether gettimeofday.o is actually needed.
70303         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
70304         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
70305         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
70306         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70307         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
70308         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
70309         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
70310         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
70311         than worrying about sys/time.h.
70312         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70313         Don't bother worrying about TIME_WITH_SYS_TIME.
70314         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
70315         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
70316         * m4/sys_time_h.m4: New file.
70317         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
70318         Don't include sys/time.h.  Return from main rather than exiting.
70319         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
70320         all uses changed.
70321         * modules/gethrxtime (Depends-on): Add sys_time.
70322         * modules/gettime (Depends-on): Likewise.
70323         * modules/gettimeofday (Depends-on): Likewise.
70324         * modules/nanosleep (Depends-on): Likewise.
70325         * modules/settime (Depends-on): Likewise.
70326         * modules/tempname (Depends-on): Likewise.
70327         * modules/utimens (Depends-on): Likewise.
70328         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
70329         (Include): Change back to <sys/time.h>.
70330         (Maintainer): Add self.
70331         * modules/sys_time: New file.
70332         * modules/tempname (Depends-on): Add gettimeofday.
70333         * tests/test-gettimeofday.c: Include <sys/time.h>
70334         rather than gettimeofday.h.
70335
70336 2007-01-17  Bruno Haible  <bruno@clisp.org>
70337
70338         * gnulib-tool (func_get_license): Revert last patch. Instead, let
70339         the license default to GPL.
70340         (func_create_testdir): Don't complain if a module is LGPL and its
70341         tests module depends on GPLed modules.
70342
70343 2007-01-17  Bruno Haible  <bruno@clisp.org>
70344
70345         * lib/gettimeofday.c (gettimeofday): Add code for the case
70346         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
70347         maximum possible value for tv->tv_usec, rather than the minimum one.
70348
70349 2005-10-08  Martin Lambers  <marlam@marlam.de>
70350 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70351 2007-01-16  Bruno Haible  <bruno@clisp.org>
70352
70353         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
70354         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
70355         gl_FUNC_GETTIMEOFDAY.
70356         (Include): Add gettimeofday.h.
70357         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
70358         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
70359         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
70360         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
70361         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
70362         * lib/gettimeofday.h: New file.
70363         * lib/gettimeofday.c: Include <sys/timeb.h>.
70364         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
70365         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70366         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
70367         fall back on time().
70368
70369         * tests/test-gettimeofday.c: New file.
70370         * modules/gettimeofday-tests: New file.
70371
70372 2007-01-16  Eric Blake  <ebb9@byu.net>
70373
70374         * modules/fnmatch (Depends-on): Depend on wchar.
70375         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
70376         * m4/fnmatch.m4: Likewise.
70377         * modules/mbchar (Makefile.am): Assume <wchar.h>.
70378         * m4/mbchar.m4: Likewise.
70379         * modules/mbswidth (Depends-on): Depend on wchar.
70380         * lib/mbswidth.c: Assume <wchar.h>.
70381         * m4/mbswidth.m4: Likewise.
70382         * modules/quotearg (Depends-on): Depend on wchar.
70383         * lib/quotearg.c: Assume <wchar.h>.
70384         * m4/quotearg.m4: Likewise.
70385         * modules/regex (Depends-on): Depend on wchar.
70386         * lib/regex_internal.h: Assume <wchar.h>.
70387         * m4/regex.m4: Likewise.
70388         * modules/stdint (Depends-on): Depend on wchar.
70389         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
70390         * m4/stdint.m4: Likewise.
70391         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
70392         * modules/strftime (Depends-on): Depend on wchar.
70393         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
70394         * modules/strtol (Depends-on): Depend on wchar.
70395         * lib/strtol.c: Assume <wchar.h>.
70396         * modules/wcwidth (Depends-on): Depend on wchar.
70397         * lib/wcwidth.h: Assume <wchar.h>.
70398         * m4/wcwidth.m4: Likewise.
70399
70400 2007-01-16  Bruno Haible  <bruno@clisp.org>
70401
70402         * modules/csharpexec-script: New, created from...
70403         * modules/csharpexec: ... this.
70404
70405 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
70406
70407         * modules/javaexec-script: New, created from...
70408         * modules/javaexec: ... this.
70409
70410 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70411
70412         * modules/poll (Dependencies): Add sys_select.
70413
70414 2007-01-15  Jim Meyering  <jim@meyering.net>
70415
70416         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
70417         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
70418         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
70419         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
70420
70421 2007-01-15  Bruno Haible  <bruno@clisp.org>
70422
70423         * modules/striconveh: New file.
70424         * lib/striconveh.h: New file.
70425         * lib/striconveh.c: New file.
70426         * MODULES.html.sh (Internationalization functions): Add striconveh.
70427
70428         * modules/striconveh-tests: New file.
70429         * tests/test-striconveh.c: New file.
70430
70431 2007-01-15  Bruno Haible  <bruno@clisp.org>
70432
70433         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
70434         not from GNU libiconv or GNU libc.
70435
70436 2007-01-15  Bruno Haible  <bruno@clisp.org>
70437
70438         * doc/gnulib-intro.texi (Copyright): Explain the different license
70439         terms for module descriptions, autoconf macros, tests, documentation.
70440
70441 2007-01-14  Bruno Haible  <bruno@clisp.org>
70442
70443         * modules/striconv-tests: New file.
70444         * tests/test-striconv.c: New file.
70445
70446 2007-01-14  Bruno Haible  <bruno@clisp.org>
70447
70448         * modules/iconv-tests: New file.
70449         * tests/test-iconv.c: New file.
70450
70451 2007-01-14  Bruno Haible  <bruno@clisp.org>
70452
70453         * gnulib-tool (func_get_license): For test modules, use the license of
70454         the main module.
70455
70456 2007-01-14  Bruno Haible  <bruno@clisp.org>
70457
70458         * modules/iconv (Include): Clarify that <iconv.h> can only be included
70459         if iconv is found to exist.
70460
70461 2007-01-14  Bruno Haible  <bruno@clisp.org>
70462
70463         * modules/c-ctype-tests: New file.
70464         * tests/test-c-ctype.c: New file.
70465
70466 2007-01-14  Bruno Haible  <bruno@clisp.org>
70467
70468         * modules/binary-io-tests: New file.
70469         * tests/test-binary-io.sh: New file.
70470         * tests/test-binary-io.c: New file.
70471
70472 2007-01-14  Bruno Haible  <bruno@clisp.org>
70473
70474         * modules/array-oset-tests: New file.
70475         * tests/test-array_oset.c: New file.
70476
70477 2007-01-14  Bruno Haible  <bruno@clisp.org>
70478
70479         * modules/array-list-tests: New file.
70480         * tests/test-array_list.c: New file.
70481
70482 2007-01-14  Bruno Haible  <bruno@clisp.org>
70483
70484         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
70485         and make.
70486         Reported by Simon Josefsson in
70487         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
70488
70489 2007-01-14  Bruno Haible  <bruno@clisp.org>
70490
70491         * modules/allocsa-tests: New file.
70492         * tests/test-allocsa.c: New file.
70493
70494 2007-01-14  Bruno Haible  <bruno@clisp.org>
70495
70496         * modules/fchdir (Depends-on): Add absolute-header.
70497         * modules/unistd (Depends-on): Likewise.
70498
70499 2006-12-30  Bruno Haible  <bruno@clisp.org>
70500
70501         * modules/fchdir: New file.
70502         * modules/unistd (Files): Add lib/unistd_.h.
70503         (Makefile.am): Generate unistd.h from unistd_.h.
70504         * lib/fchdir.c: New file.
70505         * lib/dirent_.h: New file.
70506         * lib/unistd_.h: New file.
70507         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
70508         * m4/fchdir.m4: New file.
70509         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
70510         (gl_HEADER_UNISTD): Invoke it.
70511         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
70512         function.
70513         * lib/backupfile.c (opendir, closedir): Undefine.
70514         * lib/chown.c (open, close): Undefine.
70515         * lib/clean-temp.c (open, close): Undefine.
70516         * lib/copy-file.c (open, close): Undefine.
70517         * lib/execute.c (open, close): Undefine.
70518         * lib/fsusage.c (open, close): Undefine.
70519         * lib/gc-gnulib.c (open, close): Undefine.
70520         * lib/getcwd.c (opendir, closedir): Undefine.
70521         * lib/glob.c (opendir, closedir): Undefine.
70522         * lib/javacomp.c (open, close): Undefine.
70523         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
70524         * lib/openat-proc.c (open, close): Undefine.
70525         * lib/pagealign_alloc.c (open, close): Undefine.
70526         * lib/pipe.c (open, close): Undefine.
70527         * lib/progreloc.c (open, close): Undefine.
70528         * lib/savedir.c (opendir, closedir): Undefine.
70529         * lib/utime.c (open, close): Undefine.
70530         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
70531
70532 2007-01-10  Bruno Haible  <bruno@clisp.org>
70533
70534         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
70535
70536 2007-01-12  Eric Blake  <ebb9@byu.net>
70537
70538         Provide a robust <wchar.h>.  Further simplifications are now
70539         possible in other modules, but not included here.
70540         * modules/wchar: New module.
70541         * m4/wchar.m4: New file.
70542         * lib/wchar_.h: Likewise.
70543         * modules/mbchar (Depends-on): Depend on wchar, as the first use
70544         of the new module.
70545         * MODULES.html.sh (Extended multibyte and wide character utilities):
70546         New section.
70547
70548 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
70549
70550         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
70551         to a reasonable default for memory allocation.
70552         (xreadlink): Don't allocate a huge buffer, to work around a buggy
70553         file system that reports garbage st_size values for symlinks.
70554         Problem reported by Liyang Hu.
70555
70556 2007-01-11  Simon Josefsson  <simon@josefsson.org>
70557
70558         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
70559         Emacs .#* auto-save files).
70560
70561 2007-01-11  Bruno Haible  <bruno@clisp.org>
70562
70563         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
70564         directory.
70565
70566 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70567
70568         Use @...@ consistently in lib/wctype_.h.
70569         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
70570         on it being set to 1 or 0.
70571         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
70572         go back to AC_SUBSTing it.
70573         * modules/wctype (Makefile.am): Undo previous change.
70574
70575 2007-01-10  Eric Blake  <ebb9@byu.net>
70576
70577         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
70578         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
70579         * modules/wctype (Makefile.am): Likewise.
70580         Reported by Chris McGuire.
70581
70582 2007-01-10  Jim Meyering  <jim@meyering.net>
70583
70584         fts.c: a small readability/maintainability improvement
70585         * lib/fts.c (fts_read): Make this code slightly more readable and
70586         maintainable by hoisting the "sp->fts_cur = p" assignments to
70587         immediately follow the statements that set P.  Derived from
70588         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
70589
70590 2007-01-10  Eric Blake  <ebb9@byu.net>
70591
70592         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
70593         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
70594         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70595         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70596         Reported by Chris McGuire.
70597
70598 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70599
70600         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
70601         in sed script.
70602
70603 2007-01-09  Bruno Haible  <bruno@clisp.org>
70604
70605         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
70606         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
70607         variables.
70608         (func_module): Use them.
70609
70610 2007-01-09  Bruno Haible  <bruno@clisp.org>
70611
70612         * modules/unistr/base: New file.
70613         * lib/unistr.h: New file.
70614
70615         * modules/unistr/u8-to-u16: New file.
70616         * lib/unistr/u8-to-u16.c: New file.
70617
70618         * modules/unistr/u8-to-u32: New file.
70619         * lib/unistr/u8-to-u32.c: New file.
70620
70621         * modules/unistr/u16-to-u8: New file.
70622         * lib/unistr/u16-to-u8.c: New file.
70623
70624         * modules/unistr/u16-to-u32: New file.
70625         * lib/unistr/u16-to-u32.c: New file.
70626
70627         * modules/unistr/u32-to-u8: New file.
70628         * lib/unistr/u32-to-u8.c: New file.
70629
70630         * modules/unistr/u32-to-u16: New file.
70631         * lib/unistr/u32-to-u16.c: New file.
70632
70633         * modules/unistr/u8-check: New file.
70634         * modules/unistr/u16-check: New file.
70635         * modules/unistr/u32-check: New file.
70636         * lib/unistr/u8-check.c: New file.
70637         * lib/unistr/u16-check.c: New file.
70638         * lib/unistr/u32-check.c: New file.
70639
70640         * modules/unistr/u8-chr: New file.
70641         * modules/unistr/u16-chr: New file.
70642         * modules/unistr/u32-chr: New file.
70643         * lib/unistr/u8-chr.c: New file.
70644         * lib/unistr/u16-chr.c: New file.
70645         * lib/unistr/u32-chr.c: New file.
70646
70647         * modules/unistr/u8-cmp: New file.
70648         * modules/unistr/u16-cmp: New file.
70649         * modules/unistr/u32-cmp: New file.
70650         * lib/unistr/u8-cmp.c: New file.
70651         * lib/unistr/u16-cmp.c: New file.
70652         * lib/unistr/u32-cmp.c: New file.
70653
70654         * modules/unistr/u8-cpy: New file.
70655         * modules/unistr/u16-cpy: New file.
70656         * modules/unistr/u32-cpy: New file.
70657         * lib/unistr/u8-cpy.c: New file.
70658         * lib/unistr/u16-cpy.c: New file.
70659         * lib/unistr/u32-cpy.c: New file.
70660         * lib/unistr/u-cpy.h: New file.
70661
70662         * modules/unistr/u8-cpy-alloc: New file.
70663         * modules/unistr/u16-cpy-alloc: New file.
70664         * modules/unistr/u32-cpy-alloc: New file.
70665         * lib/unistr/u8-cpy-alloc.c: New file.
70666         * lib/unistr/u16-cpy-alloc.c: New file.
70667         * lib/unistr/u32-cpy-alloc.c: New file.
70668         * lib/unistr/u-cpy-alloc.h: New file.
70669
70670         * modules/unistr/u8-endswith: New file.
70671         * modules/unistr/u16-endswith: New file.
70672         * modules/unistr/u32-endswith: New file.
70673         * lib/unistr/u8-endswith.c: New file.
70674         * lib/unistr/u16-endswith.c: New file.
70675         * lib/unistr/u32-endswith.c: New file.
70676         * lib/unistr/u-endswith.h: New file.
70677
70678         * modules/unistr/u8-mblen: New file.
70679         * modules/unistr/u16-mblen: New file.
70680         * modules/unistr/u32-mblen: New file.
70681         * lib/unistr/u8-mblen.c: New file.
70682         * lib/unistr/u16-mblen.c: New file.
70683         * lib/unistr/u32-mblen.c: New file.
70684
70685         * modules/unistr/u8-mbtouc: New file.
70686         * modules/unistr/u16-mbtouc: New file.
70687         * modules/unistr/u32-mbtouc: New file.
70688         * lib/unistr/u8-mbtouc.c: New file.
70689         * lib/unistr/u16-mbtouc.c: New file.
70690         * lib/unistr/u32-mbtouc.c: New file.
70691
70692         * modules/unistr/u8-mbtouc-safe: New file.
70693         * modules/unistr/u16-mbtouc-safe: New file.
70694         * modules/unistr/u32-mbtouc-safe: New file.
70695         * lib/unistr/u8-mbtouc-safe.c: New file.
70696         * lib/unistr/u16-mbtouc-safe.c: New file.
70697         * lib/unistr/u32-mbtouc-safe.c: New file.
70698
70699         * modules/unistr/u8-move: New file.
70700         * modules/unistr/u16-move: New file.
70701         * modules/unistr/u32-move: New file.
70702         * lib/unistr/u8-move.c: New file.
70703         * lib/unistr/u16-move.c: New file.
70704         * lib/unistr/u32-move.c: New file.
70705         * lib/unistr/u-move.h: New file.
70706
70707         * modules/unistr/u8-next: New file.
70708         * modules/unistr/u16-next: New file.
70709         * modules/unistr/u32-next: New file.
70710         * lib/unistr/u8-next.c: New file.
70711         * lib/unistr/u16-next.c: New file.
70712         * lib/unistr/u32-next.c: New file.
70713
70714         * modules/unistr/u8-prev: New file.
70715         * modules/unistr/u16-prev: New file.
70716         * modules/unistr/u32-prev: New file.
70717         * lib/unistr/u8-prev.c: New file.
70718         * lib/unistr/u16-prev.c: New file.
70719         * lib/unistr/u32-prev.c: New file.
70720
70721         * modules/unistr/u8-set: New file.
70722         * modules/unistr/u16-set: New file.
70723         * modules/unistr/u32-set: New file.
70724         * lib/unistr/u8-set.c: New file.
70725         * lib/unistr/u16-set.c: New file.
70726         * lib/unistr/u32-set.c: New file.
70727         * lib/unistr/u-set.h: New file.
70728
70729         * modules/unistr/u8-startswith: New file.
70730         * modules/unistr/u16-startswith: New file.
70731         * modules/unistr/u32-startswith: New file.
70732         * lib/unistr/u8-startswith.c: New file.
70733         * lib/unistr/u16-startswith.c: New file.
70734         * lib/unistr/u32-startswith.c: New file.
70735         * lib/unistr/u-startswith.h: New file.
70736
70737         * modules/unistr/u8-stpcpy: New file.
70738         * modules/unistr/u16-stpcpy: New file.
70739         * modules/unistr/u32-stpcpy: New file.
70740         * lib/unistr/u8-stpcpy.c: New file.
70741         * lib/unistr/u16-stpcpy.c: New file.
70742         * lib/unistr/u32-stpcpy.c: New file.
70743         * lib/unistr/u-stpcpy.h: New file.
70744
70745         * modules/unistr/u8-stpncpy: New file.
70746         * modules/unistr/u16-stpncpy: New file.
70747         * modules/unistr/u32-stpncpy: New file.
70748         * lib/unistr/u8-stpncpy.c: New file.
70749         * lib/unistr/u16-stpncpy.c: New file.
70750         * lib/unistr/u32-stpncpy.c: New file.
70751         * lib/unistr/u-stpncpy.h: New file.
70752
70753         * modules/unistr/u8-strcat: New file.
70754         * modules/unistr/u16-strcat: New file.
70755         * modules/unistr/u32-strcat: New file.
70756         * lib/unistr/u8-strcat.c: New file.
70757         * lib/unistr/u16-strcat.c: New file.
70758         * lib/unistr/u32-strcat.c: New file.
70759         * lib/unistr/u-strcat.h: New file.
70760
70761         * modules/unistr/u8-strchr: New file.
70762         * modules/unistr/u16-strchr: New file.
70763         * modules/unistr/u32-strchr: New file.
70764         * lib/unistr/u8-strchr.c: New file.
70765         * lib/unistr/u16-strchr.c: New file.
70766         * lib/unistr/u32-strchr.c: New file.
70767
70768         * modules/unistr/u8-strcmp: New file.
70769         * modules/unistr/u16-strcmp: New file.
70770         * modules/unistr/u32-strcmp: New file.
70771         * lib/unistr/u8-strcmp.c: New file.
70772         * lib/unistr/u16-strcmp.c: New file.
70773         * lib/unistr/u32-strcmp.c: New file.
70774
70775         * modules/unistr/u8-strcpy: New file.
70776         * modules/unistr/u16-strcpy: New file.
70777         * modules/unistr/u32-strcpy: New file.
70778         * lib/unistr/u8-strcpy.c: New file.
70779         * lib/unistr/u16-strcpy.c: New file.
70780         * lib/unistr/u32-strcpy.c: New file.
70781         * lib/unistr/u-strcpy.h: New file.
70782
70783         * modules/unistr/u8-strcspn: New file.
70784         * modules/unistr/u16-strcspn: New file.
70785         * modules/unistr/u32-strcspn: New file.
70786         * lib/unistr/u8-strcspn.c: New file.
70787         * lib/unistr/u16-strcspn.c: New file.
70788         * lib/unistr/u32-strcspn.c: New file.
70789         * lib/unistr/u-strcspn.h: New file.
70790
70791         * modules/unistr/u8-strdup: New file.
70792         * modules/unistr/u16-strdup: New file.
70793         * modules/unistr/u32-strdup: New file.
70794         * lib/unistr/u8-strdup.c: New file.
70795         * lib/unistr/u16-strdup.c: New file.
70796         * lib/unistr/u32-strdup.c: New file.
70797         * lib/unistr/u-strdup.h: New file.
70798
70799         * modules/unistr/u8-strlen: New file.
70800         * modules/unistr/u16-strlen: New file.
70801         * modules/unistr/u32-strlen: New file.
70802         * lib/unistr/u8-strlen.c: New file.
70803         * lib/unistr/u16-strlen.c: New file.
70804         * lib/unistr/u32-strlen.c: New file.
70805         * lib/unistr/u-strlen.h: New file.
70806
70807         * modules/unistr/u8-strmblen: New file.
70808         * modules/unistr/u16-strmblen: New file.
70809         * modules/unistr/u32-strmblen: New file.
70810         * lib/unistr/u8-strmblen.c: New file.
70811         * lib/unistr/u16-strmblen.c: New file.
70812         * lib/unistr/u32-strmblen.c: New file.
70813
70814         * modules/unistr/u8-strmbtouc: New file.
70815         * modules/unistr/u16-strmbtouc: New file.
70816         * modules/unistr/u32-strmbtouc: New file.
70817         * lib/unistr/u8-strmbtouc.c: New file.
70818         * lib/unistr/u16-strmbtouc.c: New file.
70819         * lib/unistr/u32-strmbtouc.c: New file.
70820
70821         * modules/unistr/u8-strncat: New file.
70822         * modules/unistr/u16-strncat: New file.
70823         * modules/unistr/u32-strncat: New file.
70824         * lib/unistr/u8-strncat.c: New file.
70825         * lib/unistr/u16-strncat.c: New file.
70826         * lib/unistr/u32-strncat.c: New file.
70827         * lib/unistr/u-strncat.h: New file.
70828
70829         * modules/unistr/u8-strncmp: New file.
70830         * modules/unistr/u16-strncmp: New file.
70831         * modules/unistr/u32-strncmp: New file.
70832         * lib/unistr/u8-strncmp.c: New file.
70833         * lib/unistr/u16-strncmp.c: New file.
70834         * lib/unistr/u32-strncmp.c: New file.
70835
70836         * modules/unistr/u8-strncpy: New file.
70837         * modules/unistr/u16-strncpy: New file.
70838         * modules/unistr/u32-strncpy: New file.
70839         * lib/unistr/u8-strncpy.c: New file.
70840         * lib/unistr/u16-strncpy.c: New file.
70841         * lib/unistr/u32-strncpy.c: New file.
70842         * lib/unistr/u-strncpy.h: New file.
70843
70844         * modules/unistr/u8-strnlen: New file.
70845         * modules/unistr/u16-strnlen: New file.
70846         * modules/unistr/u32-strnlen: New file.
70847         * lib/unistr/u8-strnlen.c: New file.
70848         * lib/unistr/u16-strnlen.c: New file.
70849         * lib/unistr/u32-strnlen.c: New file.
70850         * lib/unistr/u-strnlen.h: New file.
70851
70852         * modules/unistr/u8-strpbrk: New file.
70853         * modules/unistr/u16-strpbrk: New file.
70854         * modules/unistr/u32-strpbrk: New file.
70855         * lib/unistr/u8-strpbrk.c: New file.
70856         * lib/unistr/u16-strpbrk.c: New file.
70857         * lib/unistr/u32-strpbrk.c: New file.
70858         * lib/unistr/u-strpbrk.h: New file.
70859
70860         * modules/unistr/u8-strrchr: New file.
70861         * modules/unistr/u16-strrchr: New file.
70862         * modules/unistr/u32-strrchr: New file.
70863         * lib/unistr/u8-strrchr.c: New file.
70864         * lib/unistr/u16-strrchr.c: New file.
70865         * lib/unistr/u32-strrchr.c: New file.
70866
70867         * modules/unistr/u8-strspn: New file.
70868         * modules/unistr/u16-strspn: New file.
70869         * modules/unistr/u32-strspn: New file.
70870         * lib/unistr/u8-strspn.c: New file.
70871         * lib/unistr/u16-strspn.c: New file.
70872         * lib/unistr/u32-strspn.c: New file.
70873         * lib/unistr/u-strspn.h: New file.
70874
70875         * modules/unistr/u8-strstr: New file.
70876         * modules/unistr/u16-strstr: New file.
70877         * modules/unistr/u32-strstr: New file.
70878         * lib/unistr/u8-strstr.c: New file.
70879         * lib/unistr/u16-strstr.c: New file.
70880         * lib/unistr/u32-strstr.c: New file.
70881         * lib/unistr/u-strstr.h: New file.
70882
70883         * modules/unistr/u8-strtok: New file.
70884         * modules/unistr/u16-strtok: New file.
70885         * modules/unistr/u32-strtok: New file.
70886         * lib/unistr/u8-strtok.c: New file.
70887         * lib/unistr/u16-strtok.c: New file.
70888         * lib/unistr/u32-strtok.c: New file.
70889         * lib/unistr/u-strtok.h: New file.
70890
70891         * modules/unistr/u8-uctomb: New file.
70892         * modules/unistr/u16-uctomb: New file.
70893         * modules/unistr/u32-uctomb: New file.
70894         * lib/unistr/u8-uctomb.c: New file.
70895         * lib/unistr/u16-uctomb.c: New file.
70896         * lib/unistr/u32-uctomb.c: New file.
70897
70898         * MODULES.html.sh (Unicode string functions): Add the new modules.
70899
70900 2007-01-08  Bruno Haible  <bruno@clisp.org>
70901
70902         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
70903         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
70904         subdirectories.
70905
70906 2007-01-08  Karl Berry  <karl@gnu.org>
70907
70908         * doc/error.texi: mention that main() fns must set program_name
70909         when progname is used.
70910
70911 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
70912
70913         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
70914         WCTYPE_H is empty, for the benefit of builds from non-distclean
70915         directories.  Problem reported by Eric Blake in
70916         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
70917
70918 2007-01-08  Bruno Haible  <bruno@clisp.org>
70919
70920         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
70921         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
70922         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
70923         PROVIDE_CANONICALIZE_FILENAME_MODE.
70924         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
70925
70926 2007-01-08  Bruno Haible  <bruno@clisp.org>
70927
70928         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
70929         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
70930         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
70931         * lib/fts.c: Likewise.
70932         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
70933
70934 2006-12-25  Bruno Haible  <bruno@clisp.org>
70935
70936         * modules/utf8-ucs4-safe: New file.
70937         * lib/utf8-ucs4-safe.h: New file.
70938         * lib/unistr/utf8-ucs4-safe.c: New file.
70939
70940         * modules/utf16-ucs4-safe: New file.
70941         * lib/utf16-ucs4-safe.h: New file.
70942         * lib/unistr/utf16-ucs4-safe.c: New file.
70943
70944         * MODULES.html.sh (Unicode string functions): Add the new modules.
70945
70946 2007-01-08  Bruno Haible  <bruno@clisp.org>
70947
70948         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
70949         (Depends-on): Add unitypes.
70950         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
70951         (u8_mbtouc_aux): Move out to separate file.
70952         (u8_mbtouc): Use ucs4_t, uint8_t types.
70953         * lib/unistr/utf8-ucs4.c: New file.
70954
70955         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
70956         (Depends-on): Add unitypes.
70957         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
70958         (u16_mbtouc_aux): Move out to separate file.
70959         (u16_mbtouc): Use ucs4_t, uint16_t types.
70960         * lib/unistr/utf16-ucs4.c: New file.
70961
70962         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
70963         (Depends-on): Add unitypes.
70964         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
70965         (u8_uctomb_aux): Move out to separate file.
70966         (u8_uctomb): Use ucs4_t, uint8_t types.
70967         * lib/unistr/ucs4-utf8.c: New file.
70968
70969         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
70970         (Depends-on): Add unitypes.
70971         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
70972         (u16_uctomb_aux): Move out to separate file.
70973         (u16_uctomb): Use ucs4_t, uint16_t types.
70974         * lib/unistr/ucs4-utf16.c: New file.
70975
70976 2006-12-25  Bruno Haible  <bruno@clisp.org>
70977
70978         * modules/unitypes: New file.
70979         * lib/unitypes.h: New file.
70980         * MODULES.html.sh (func_all_modules): New section "Unicode string
70981         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
70982         this section. Add unitypes.
70983
70984 2007-01-08  Bruno Haible  <bruno@clisp.org>
70985
70986         Avoid variable names that conflict with those from libtool.
70987         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
70988         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
70989         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
70990         library_names_spec to acl_library_names_spec, hardcode_* to
70991         acl_hardcode_*.
70992         Reported by Ralf Wildenhues.
70993
70994 2007-01-08  Bruno Haible  <bruno@clisp.org>
70995
70996         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
70997         definition.
70998         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
70999         definition.
71000         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71001         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71002         definition.
71003         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71004         definition.
71005         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71006         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71007         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71008         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71009         definition.
71010         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71011         definition.
71012         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71013         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71014         GC_USE_<algorithm>.
71015         * lib/gc-libgcrypt.c: Likewise.
71016         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71017         * modules/gc-arctwo (configure.ac): Likewise.
71018         * modules/gc-des (configure.ac): Likewise.
71019         * modules/gc-hmac-md5 (configure.ac): Likewise.
71020         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71021         * modules/gc-md2 (configure.ac): Likewise.
71022         * modules/gc-md4 (configure.ac): Likewise.
71023         * modules/gc-md5 (configure.ac): Likewise.
71024         * modules/gc-random (configure.ac): Likewise.
71025         * modules/gc-rijndael (configure.ac): Likewise.
71026         * modules/gc-sha1 (configure.ac): Likewise.
71027
71028 2007-01-08  Bruno Haible  <bruno@clisp.org>
71029
71030         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71031         macro definition.
71032         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71033         definition.
71034         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71035         definition.
71036         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71037         * modules/fcntl-safer (configure.ac): Likewise.
71038         * modules/fopen-safer (configure.ac): Likewise.
71039         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71040         GNULIB_FWRITEERROR macro definition.
71041
71042 2007-01-08  Bruno Haible  <bruno@clisp.org>
71043
71044         * m4/gnulib-common.m4: New file.
71045         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71046         (func_get_filelist): Add m4/gnulib-common.m4.
71047
71048 2007-01-08  Bruno Haible  <bruno@clisp.org>
71049
71050         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71051         command.
71052
71053 2007-01-08  Jim Meyering  <jim@meyering.net>
71054
71055         Use a more robust test for a "can't happen" condition.
71056         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71057         narrowed the st_size value.  Presuming the "can't happen" condition
71058         is true, that narrowing could conceivably convert an invalid st_size
71059         value into a valid one.  Instead, use a change based on Matthew
71060         Woehlke's original patch.
71061
71062         Slight readability improvement: use an assert-like macro
71063         in place of literal "abort ()" uses.
71064         * lib/fts.c (fts_assert): Define.
71065         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71066         Use this macro instead of a bare 'abort'.
71067
71068 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71069
71070         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71071         simply work around them.
71072         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71073         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71074         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71075         declaring.
71076         Don't bother to define as macros, since the standard doesn't require it.
71077         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71078         longer worry about IRIX 5.3.
71079         (HAVE_WCTYPE_CTMP_BUG): Remove.
71080
71081 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71082
71083         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71084         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71085         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71086         Problems reported by Georg Schwarz for IRIX 5.3.
71087
71088         * gnulib-tool (autoconf_minversion): Take the maximum version number
71089         found, not the minimum.  Problem reported by James Youngman.
71090
71091 2007-01-03  Karl Berry  <karl@gnu.org>
71092
71093         * doc/error.texi: new file, explaining interaction with progname.
71094         * doc/gnulib.texi: include it.  Update copyright.
71095
71096 2007-01-03  Simon Josefsson  <simon@josefsson.org>
71097
71098         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
71099         AC_CANONICAL_HOST, to improve autobuild outputs.
71100
71101 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
71102             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71103
71104         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
71105         sockets, server sockets, and other file descriptors.  Count errors
71106         to compute the return value.  Reorder the code a bit to be easier
71107         to follow.  Don't set event bits that were not requested (except
71108         POLLERR and POLLHUP).
71109
71110 2007-01-01  Bruno Haible  <bruno@clisp.org>
71111
71112         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
71113
71114 2007-01-03  Jim Meyering  <jim@meyering.net>
71115
71116         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
71117
71118 2007-01-02  Bruno Haible  <bruno@clisp.org>
71119
71120         * modules/settime (Include): Require timespec.h.
71121         * modules/nanosleep (Include): Likewise.
71122
71123 2007-01-01  Bruno Haible  <bruno@clisp.org>
71124
71125         * gnulib-tool (func_emit_copyright_notice): Bump year.
71126         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
71127
71128 2007-01-01  Bruno Haible  <bruno@clisp.org>
71129
71130         Improve support for OpenBSD.
71131         * build-aux/config.rpath (libname_spec): Export.
71132         (library_names_spec): New variable. Export.
71133         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
71134         library_names_spec from the config.rpath output. Locate shared library
71135         through the name pattern in library_names_spec.
71136
71137 2007-01-01  Eric Blake  <ebb9@byu.net>
71138
71139         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
71140
71141 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
71142
71143         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
71144         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
71145         assume the C locale, and avoid an "eval" that could cause trouble.
71146         Problem with SORT reported by Bob Proulx.
71147
71148         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
71149         Define.  Trivial patch from Henning Nielsen Lund, originally
71150         sent to bug-grep@gnu.org today.
71151
71152 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
71153
71154         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
71155         struct stat.  Problem reported by Henning Nielsen Lund.
71156         * lib/acl.c: Include acl.h first, to check interface.  Don't
71157         bother to include sys/types.h and sys/stat.h again.
71158
71159 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71160
71161         Import the following change from libc; problem reported by
71162         Sven Verdoolaege.
71163
71164         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
71165
71166         [BZ #1373]
71167         * lib/argp.h: Remove __NTH for __argp_usage inline function.
71168
71169 2006-12-28  Jim Meyering  <jim@meyering.net>
71170
71171         * build-aux/announce-gen: Do not assume that the package
71172         builds any of tar.gz, tar.bz2, and .xdelta files.
71173         Suggestion from Simon Josefsson.
71174
71175 2006-12-28  Simon Josefsson  <simon@josefsson.org>
71176
71177         * modules/announce-gen: New file.
71178
71179 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
71180
71181         * lib/mbchar.h: Just include <wctype.h>; the wctype module
71182         handles its gotchas now.
71183         * lib/mbswidth.c: Likewise.
71184         * lib/wcwidth.h: Likewise.
71185         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
71186         and iswcntrl; the wctype module does this stuff now.
71187         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71188         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71189         * modules/mbchar (Depends-on): Add wctype.
71190         * modules/mbswidth (Depends-on): Likewise.
71191         * modules/wcwidth (Depends-on): Likewise.
71192
71193 2006-12-27  Eric Blake  <ebb9@byu.net>
71194
71195         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
71196         module uses more than what <wctype.h> is required to provide.
71197
71198 2006-12-26  Eric Blake  <ebb9@byu.net>
71199
71200         * gnulib-tool (sed_extract_prog): Avoid space-tab.
71201
71202 2006-12-26  Eric Blake  <ebb9@byu.net>
71203
71204         * modules/absolute-header: New module.
71205         * modules/fcntl (Depends-on): Depend on it.
71206         * modules/inttypes (Depends-on): Likewise.
71207         * modules/stdint (Depends-on): Likewise.
71208         * modules/sys_stat (Depends-on): Likewise.
71209         * modules/wctype (Depends-on): Likewise.
71210         * MODULES.html.sh (Support for building libraries and
71211         executables): Document it.
71212
71213 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
71214
71215         * gnulib-tool (SED): Remove, undoing previous change.
71216         The problem was that it broke coreutils on Solaris, because
71217         "sed --posix" leaked into a makefile.
71218         (sed): New alias, if 'alias' and GNU sed.
71219
71220 2006-12-24  Jim Meyering  <jim@meyering.net>
71221
71222         Work around an fchownat bug in glibc-2.4:
71223         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
71224         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
71225         in spite of the -P option.
71226         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
71227         New macros.
71228         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
71229         * modules/openat (Files): Add lib/fchownat.c.
71230         * lib/openat.c (fchownat): Don't define here.  Move to...
71231         * lib/fchownat.c: ...this new file.
71232
71233 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71234
71235         Fix bug reported by Bruno Haible in
71236         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
71237         where quotearg.c didn't compile on Mac OS X 10.2 because it
71238         lacks <wchar.h> and wint_t.
71239         * lib/wctype_.h (__wctype_wint_t): New type.
71240         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
71241         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
71242         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
71243         Arg is now of type __wctype_wint_t, not wint_t.
71244         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
71245         substitute HAVE_WINT_T.
71246         * modules/wctype (Files): Add m4/wint_t.m4.
71247         (wctype.h): Substitute HAVE_WINT_T.
71248
71249 2006-12-23  Bruno Haible  <bruno@clisp.org>
71250
71251         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
71252
71253 2006-12-23  Bruno Haible  <bruno@clisp.org>
71254
71255         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
71256         S_ISLNK.
71257         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
71258         mingw.
71259
71260 2006-12-22  Bruno Haible  <bruno@clisp.org>
71261
71262         * lib/copy-file.c: Include acl.h.
71263         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
71264         Close the file descriptors only after being done with copy_acl.
71265         * modules/copy-file (Depends-on): Add acl.
71266
71267 2006-12-22  Bruno Haible  <bruno@clisp.org>
71268
71269         * gnulib-tool (SED): New variable.
71270         Use $SED instead of sed everywhere.
71271
71272 2006-12-22  Bruno Haible  <bruno@clisp.org>
71273
71274         * modules/no-c++: New file.
71275         * m4/no-c++.m4: New file.
71276         * MODULES.html.sh (Support for building libraries and executables):
71277         Add no-c++.
71278
71279 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
71280
71281         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71282         Include <limits.h>, and use its INT_MAX to rewrite the
71283         j loop so that it does not overflow 'int'.  Problem reported by
71284         Ralf Wildenhues in
71285         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
71286         Play it safe by shifting left by 1 rather than multiplying by 2,
71287         as GCC is less likely to optimize this away when the value
71288         is signed (when it assumes overflow leads to undefined behavior).
71289         Also, don't assume time_t uses two's complement.
71290
71291 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
71292
71293         * MODULES.html.sh: New module wctype.
71294         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
71295         * lib/fnmatch.c: Don't bother to include <wchar.h> before
71296         <wctype.h>, since the new wctype module should fix this.
71297         * lib/quotearg.c: Include <wctype.h> unconditionally, since
71298         the wctype module should arrange for it.
71299         * lib/regex_internal.h: Likewise.
71300         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
71301         since the wctype module should handle this now.
71302         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
71303         * modules/fnmatch (Depends-on): Add wctype.
71304         * modules/quotearg (Depends-on): Likewise.
71305         * modules/regex (Depends-on): Likewise.
71306
71307 2006-12-19  Bruno Haible  <bruno@clisp.org>
71308
71309         * lib/strdup.h [C++]: Wrap definitions in extern "C".
71310         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
71311
71312 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71313
71314         * modules/savewd (Depends-on): Fix dependency on fcntl.
71315
71316 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71317
71318         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
71319         conforms to C99, rather than relying on the user's environment
71320         setting of STDINT_H.
71321
71322 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71323         and Eric Blake  <ebb9@byu.net>
71324
71325         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
71326         This is more consistent with the other defines here.
71327         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
71328         Port to z/OS.  Problem reported by Paul Gilmartin.
71329         Change local vars to use gl_ prefix rather than ac_.
71330         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
71331         with other defines.
71332         * modules/double-slash-root: New module.
71333         * modules/dirname (Files): Remove m4/double-slash-root.m4.
71334         (Depends-on): Add double-slash-root.
71335         * MODULES.html.sh (File system functions): Mention new module.
71336
71337 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
71338
71339         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
71340         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
71341         This is for the benefit of gzip, which doesn't do i18n.
71342
71343 2006-12-12  Jim Meyering  <jim@meyering.net>
71344
71345         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
71346         Reported by Andreas Schwab <schwab@suse.de>.
71347
71348 2006-12-12  Bruno Haible  <bruno@clisp.org>
71349
71350         Merge these changes.
71351         2006-09-05  Bruno Haible  <bruno@clisp.org>
71352         * lib/iconvme.c (iconv_string): No need to save and restore errno when
71353         iconv_alloc succeeded.
71354         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
71355         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
71356         test for " && dest " at the end - dest is always != NULL there. Call
71357         iconv with 4xNULL arguments initially, to reset the state. Call iconv
71358         with 2xNULL arguments, also to flush the state storage. Handle the
71359         IRIX iconv behaviour. Realloc the final result, to throw away unused
71360         memory.
71361
71362 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
71363
71364         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
71365         and fchmodat unconditionally, since glibc 2.4 has them.
71366         Problem reported by Arkadiusz Miskiewicz.
71367
71368 2006-12-10  Bruno Haible  <bruno@clisp.org>
71369
71370         * gnulib-tool (func_import): Show the include files only for those
71371         modules that are copied and specified.
71372         Reported by Karl Berry.
71373
71374 2006-12-08  Jim Meyering  <jim@meyering.net>
71375
71376         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
71377         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
71378
71379         * build-aux/announce-gen: Add two new options, both optional:
71380         --bootstrap-tools=TOOL_LIST
71381               a comma-separated list of tools, e.g.,
71382               autoconf,automake,bison,gnulib
71383         --gnulib-snapshot-date=DATE
71384               if gnulib is in the bootstrap tool list,
71385               then report this as the snapshot date.
71386               If not specified, use the current date/time.
71387               If you specify a date here, be sure it's UTC.
71388
71389 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71390
71391         * tests/test-argp-2.sh: Fix test to match actual output.
71392         (func_compare): Fix sed script to be portable.
71393
71394 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
71395
71396         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
71397         workaround for this case.  It is not autoconfigured now; offhand
71398         it's hard to see how to autoconfigure it.
71399
71400 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
71401
71402         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
71403         a directory that is about to be chowned.  Such a directory's
71404         initial file permissions should permit the owner only and this
71405         should not be changed until after the chown, since the group and
71406         other bits would be incorrect if they granted permission before
71407         the chown.
71408
71409         Fix porting problem for iswctype reported by Georg Schwarz in:
71410         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
71411         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
71412         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
71413         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
71414         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
71415
71416 2006-12-03  Jim Meyering  <jim@meyering.net>
71417
71418         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
71419         p->fts_statp may not yet be defined.
71420         (fts_read): Instead, set it in the caller, once p->fts_statp is
71421         sure to be defined, and corresponds to a top-level directory.
71422         This bug made du -x fail.  Here's the coreutils test case:
71423         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
71424         Reported by Mike Frysinger.
71425
71426 2006-12-01  Jim Meyering  <jim@meyering.net>
71427
71428         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
71429         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
71430         Reported by Simon Josefsson.
71431
71432 2006-11-30  Jim Meyering  <jim@meyering.net>
71433
71434         * m4/warning.m4: Use the all-permissive copyright notice
71435         recommended by RMS (rather than LGPL).
71436         * m4/vararrays.m4: Likewise.
71437         * m4/flexmember.m4: Likewise.
71438
71439 2006-11-29  Bruno Haible  <bruno@clisp.org>
71440
71441         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71442         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
71443         using +=.
71444         Reported by Simon Josefsson <simon@josefsson.org>.
71445
71446 2006-11-28  James Youngman <jay@gnu.org>
71447
71448         * README: Advise users that they might find the bug-gnulib@gnu.org
71449         and autotools-announce@gnu.org mailing lists useful.
71450
71451 2006-11-28  Bruno Haible  <bruno@clisp.org>
71452
71453         * m4/ptrdiff_max.m4: Remove file.
71454
71455 2006-11-21  Bruno Haible  <bruno@clisp.org>
71456
71457         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
71458         _AC_COMPUTE_INT.
71459         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71460         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
71461         _AC_COMPUTE_INT.
71462         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71463         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
71464         _AC_COMPUTE_INT.
71465         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71466
71467 2006-11-28  Jim Meyering  <jim@meyering.net>
71468
71469         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
71470         warning from "gcc -Wshadow" about shadowing the builtin.
71471
71472 2006-11-27  Bruno Haible  <bruno@clisp.org>
71473
71474         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
71475         _AC_COMPUTE_INT.
71476         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71477
71478 2006-11-27  Bruno Haible  <bruno@clisp.org>
71479             Paul Eggert  <eggert@cs.ucla.edu>
71480
71481         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
71482
71483 2006-11-26  Bruno Haible  <bruno@clisp.org>
71484
71485         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71486         noinst_LTLIBRARIES.
71487
71488 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71489             Bruno Haible  <bruno@clisp.org>
71490
71491         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
71492         if compiling with "gcc -ansi".
71493
71494 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71495
71496         Fix some incompatibilities with gcc -ansi -pedantic.
71497         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
71498         if compiling pedantically with GCC, unless it's C99 or later.
71499         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
71500         it mishandles gcc -ansi -pedantic as well.
71501         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
71502         if gcc -pedantic.
71503         * lib/regexec.c (check_node_accept_bytes): Don't use auto
71504         initializers for struct if -pedantic, unless it's C99 or later.
71505
71506 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
71507
71508         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
71509         Don't close an fd more than once. Identical atimes indicate
71510         success, not failure.
71511
71512 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
71513
71514         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
71515
71516 2006-11-23  Jim Meyering  <jim@meyering.net>
71517
71518         * build-aux/announce-gen: New file.  From coreutils.
71519
71520 2006-11-22  Jim Meyering  <jim@meyering.net>
71521
71522         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
71523         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
71524         (fts_read): Use a temporary to narrow the overused st_size member
71525         before using it in a switch statement.  Reported by Matthew Woehlke.
71526
71527         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
71528         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
71529
71530 2006-11-20  Bruno Haible  <bruno@clisp.org>
71531
71532         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
71533         changequote instead of pairs of brackets.
71534         Reported by Andreas Schwab <schwab@suse.de>.
71535
71536 2006-11-21  Jim Meyering  <jim@meyering.net>
71537
71538         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
71539         so as to remain compatible with older compilers.
71540         Patch from Michael Deutschmann.
71541
71542 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71543
71544         * MODULES.html.sh (File system functions): Add openat.
71545
71546         * lib/openat.h (rpl_fstatat): New macro, if
71547         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
71548         (fstatat): Define to rpl_fstatat under the same conditions,
71549         unless COMPILING_FSTATAT.
71550         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
71551         seems to have the bug.
71552         * lib/fstatat.c: New file.
71553         * modules/openat (Files): Add it.
71554
71555 2006-11-20  Bruno Haible  <bruno@clisp.org>
71556
71557         * Makefile: New file.
71558
71559 2006-11-20  Jim Meyering  <jim@meyering.net>
71560
71561         The beginnings of syntax-related checks for gnulib.
71562         * lib/Makefile: New file.
71563         * lib/t-idcache: New script.  Ensure that the two halves of
71564         idcache.c stay in sync.
71565
71566         * lib/idcache.c: Adjust comments in user- and group- portions to
71567         be more accurate, and to be consistent with one another.
71568
71569 2006-11-20  Jim Meyering  <jim@meyering.net>
71570
71571         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
71572         continue using the flexible array member (thus, this module performs
71573         half as many malloc calls), with the addition that...
71574         (getgroup, getuser): Consistently record a non-match via an empty
71575         "name" string, and map an empty string match to a NULL return value.
71576         * modules/idcache (Depends-on): Re-add flexmember.
71577
71578         * lib/idcache.c (getuser): Remove all uses of the register keyword.
71579         (getuidbyname, getgroup, getgidbyname): Likewise.
71580
71581         Use cleaner syntax: NULL rather than 0.
71582         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
71583
71584 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71585
71586         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
71587         It mishandled the case where the group was missing.
71588         Problem reported by Greg Schafer.
71589         * modules/idcache: Likewise.
71590
71591 2006-11-18  Jim Meyering  <jim@meyering.net>
71592
71593         * check-module (%exempt_header): Add exception for some
71594         conditionally-included headers.
71595
71596         * modules/i-ring (Depends-on): Add verify.
71597         (License): Change to LGPL.
71598
71599 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71600
71601         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
71602         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
71603         and inttostr.h.  Use snprintf rather than uinttostr, so that
71604         LGPLed code doesn't depend on GPLed.
71605
71606 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71607
71608         * modules/inline (License): Change from GPL to LGPL.
71609
71610 2006-11-17  Jim Meyering  <jim@meyering.net>
71611
71612         * modules/d-type (License): Switch to LGPL.
71613
71614 2006-11-15  Bruno Haible  <bruno@clisp.org>
71615
71616         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
71617
71618 2006-11-15  Eric Blake  <ebb9@byu.net>
71619
71620         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
71621         the module dependency.
71622
71623 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71624             Bruno Haible  <bruno@clisp.org>
71625
71626         * gnulib-tool (func_create_testdir): Add license consistency check.
71627
71628 2006-11-15  Eric Blake  <ebb9@byu.net>
71629
71630         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
71631         random "(cached)" in configure output.
71632
71633 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71634
71635         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
71636         test for conforming inttypes.h is both announced and cached.
71637
71638         * MODULES.html.sh (seen_modules, seen_files): New variables.
71639         (func_module): Rewrite to use a few less gnulib-tool and sed
71640         invocations.  Avoid a couple of quadratic algorithms for ...
71641         (missed_modules, missed_files): ... these, with ...
71642         (func_append, func_tmpdir): ... these new functions, from
71643         gnulib-tool.  Analogously, install traps for cleanup.
71644
71645         * tests/test-gc.c (main): Remove unused variables.
71646         * tests/test-read-file.c: Include stdlib.h, for 'free'.
71647
71648 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
71649
71650         * modules/inttostr (License): Change to LGPL.
71651
71652 2006-11-14  Eric Blake  <ebb9@byu.net>
71653
71654         * modules/tempname (License): Change to LGPL.
71655
71656 2006-11-14  Eric Blake  <ebb9@byu.net>
71657
71658         * doc/functions.texi (Function Portability): *printf functions on
71659         Cygwin now understand all POSIX size specifiers.
71660
71661 2006-11-14  Bruno Haible  <bruno@clisp.org>
71662
71663         * modules/c-ctype (License): Change to LGPL.
71664
71665 2006-11-12  Bruno Haible  <bruno@clisp.org>
71666
71667         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
71668         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
71669         for GNOME libraries, for which the include files are installed in
71670         subdirectories of $prefix/include.
71671
71672 2006-11-12  Bruno Haible  <bruno@clisp.org>
71673
71674         * m4/lib-link.m4: Require at least autoconf-2.54.
71675         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
71676         name to underscores for the --with option.
71677
71678 2006-11-13  Bruno Haible  <bruno@clisp.org>
71679
71680         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
71681         the tests directory.
71682         Reported by Ralf Wildenhues.
71683
71684 2006-11-13  Bruno Haible  <bruno@clisp.org>
71685
71686         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
71687         (func_emit_initmacro_end): Undo the override here.
71688         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
71689         Works around the famous automake error in coreutils.
71690
71691 2006-11-13  Eric Blake  <ebb9@byu.net>
71692
71693         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
71694         element, not its node.
71695
71696 2006-11-12  Bruno Haible  <bruno@clisp.org>
71697
71698         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
71699         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
71700
71701 2006-11-12  Bruno Haible  <bruno@clisp.org>
71702
71703         * gnulib-tool: New option --local-symlink.
71704         (func_usage): Document it.
71705         (lsymbolic): New variable.
71706         (func_import, func_create_testdir): If --symlink was not specified,
71707         test whether --local-symlink was specified and the file comes from
71708         the local_gnulib_dir.
71709
71710 2006-11-12  Bruno Haible  <bruno@clisp.org>
71711
71712         * gnulib-tool (func_ln): New function.
71713         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
71714
71715 2006-11-12  Bruno Haible  <bruno@clisp.org>
71716
71717         Finish support for source files in subdirectories.
71718         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
71719         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
71720         AUTOMAKE_OPTIONS.
71721         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
71722
71723 2006-11-12  Bruno Haible  <bruno@clisp.org>
71724
71725         * gnulib-tool (func_get_automake_snippet): Synthesize also an
71726         EXTRA_lib_SOURCES augmentation.
71727         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
71728
71729 2006-11-12  Jim Meyering  <jim@meyering.net>
71730
71731         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
71732         file descriptors.  This also averts a failure on systems with
71733         native openat support when a traversed directory lacks "x" access.
71734         * lib/fts_.h: Include "i-ring.h"
71735         (struct FTS) [fts_fd_ring]: New member.
71736         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
71737         (FCHDIR): Add parentheses.
71738         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
71739         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
71740         When descending, rather than simply closing the previous
71741         fts_cwd_fd value, push that file descriptor onto the ring.
71742         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
71743         (fts_open): Initialize the new fd_ring member.
71744         (fts_close): Clear the ring.
71745         (fts_safe_changedir): When possible, use our new fd_ring to skip
71746         the diropen and fstat and dev/ino comparison that would normally
71747         accompany a virtual `chdir ("..")'.
71748
71749         * modules/fts (Depends-on): Add i-ring.
71750         * modules/i-ring: New module.
71751         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
71752         * m4/i-ring.m4: New file.
71753
71754 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71755
71756         * gnulib-tool (func_create_testdir): Fix replacement of
71757         `build-aux' in configure.ac.  Run autotools in gltests
71758         subdirectory.
71759         (func_create_testdir, func_create_megatestdir, test): There is
71760         no need for '--force' in most autotool invocations in a new
71761         tree.  Actually fail the whole test if any of the tools, or the
71762         configure or make stages fail.
71763
71764         Sync from Automake.
71765         * build-aux/gnupload: Revert last change.  Add pointer to upload
71766         instructions of the GNU Maintenance Instructions.
71767         Suggestion by Karl Berry.
71768
71769 2006-11-10  Jim Meyering  <jim@meyering.net>
71770
71771         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
71772
71773 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71774
71775         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
71776         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
71777         (bind_textdomain_codeset) [! ENABLE_NLS]:
71778         Evaluate all the arguments.  That way, callers get compatible behavior
71779         if the arguments have side effects.  Also, it avoids some GCC
71780         diagnostics in some cases; Joel E. Denny reported problems when Bison
71781         was configured with --enable-gcc-warnigs.
71782
71783 2006-11-10  Jim Meyering  <jim@meyering.net>
71784
71785         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
71786         relevant options in CFLAGS (like -O, -fno-inline) are taken into
71787         account.
71788
71789 2006-11-10  Jim Meyering  <jim@meyering.net>
71790
71791         * modules/inline: New file/module.
71792         * modules/xalloc (Files): Remove m4/inline.m4.
71793         (Depends-on): Add inline, instead.
71794         * modules/oset: Likewise.
71795         * modules/list: Likewise.
71796
71797 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71798
71799         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
71800         Problem reported by Matthew Woehlke.
71801
71802 2006-11-09  Bruno Haible  <bruno@clisp.org>
71803
71804         * lib/tempname.c (gen_tempname): Remove variant that invokes
71805         __gen_tempname.
71806         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
71807         __gen_tempname.
71808
71809 2006-11-08  Bruno Haible  <bruno@clisp.org>
71810
71811         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
71812         to 'yes' instead of 'cross-compiling'.
71813
71814 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
71815
71816         * lib/quotearg.h (quotearg_free): New decl.
71817         * lib/quotearg.c (quotearg_free): New function.
71818         (slot0, nslots, slotvec0, slotvec):
71819         Now file-scope so that quotearg_free can get at them.
71820
71821 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71822
71823         Sync from Automake.
71824         * build-aux/gnupload: Add missing 'gnu' to example URL.
71825         Report by Karl Berry.
71826
71827 2006-11-08  Bruno Haible  <bruno@clisp.org>
71828
71829         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
71830         Suggested by Paul Eggert.
71831
71832 2006-11-08  Jim Meyering  <jim@meyering.net>
71833
71834         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
71835         It's already included if !_LIBC.
71836         (fts_safe_changedir): Add a comment.
71837
71838 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71839
71840         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
71841         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
71842         Matthew Woehlke.
71843
71844         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
71845         definitions up, to avoid colliding with change below.
71846         (static_inline) [HAVE_INLINE]: New macro.
71847         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
71848         Provide extern decls when !HAVE_INLINE.  Do not define unless
71849         static_inline is defined, either by us or by xmalloc.c.  Use
71850         static_inline rather than static inline.
71851         (XCALLOC): Optimize sizeof(T) = 1 case.
71852         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
71853
71854 2006-11-07  Bruno Haible  <bruno@clisp.org>
71855
71856         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
71857         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
71858         AC_C_INLINE.
71859         * modules/xalloc (Files): Add m4/inline.m4.
71860
71861 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71862
71863         * README: Fix typo.
71864         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
71865         (Miscellanous Notes): ...from this.
71866
71867 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71868
71869         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
71870         Mention that offsetof should be used instead of sizeof.
71871         From Bruno Haible.
71872
71873 2006-11-07  Bruno Haible  <bruno@clisp.org>
71874
71875         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
71876
71877 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71878
71879         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
71880         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
71881         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71882         (gl_tree_add_before, gl_tree_add_after):
71883         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
71884         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
71885         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71886         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
71887         (gl_linked_add_after, gl_linked_add_at): Likewise.
71888         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
71889         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71890         (gl_tree_add_before, gl_tree_add_after): Likewise.
71891         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
71892         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
71893         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
71894
71895 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71896
71897         * lib/gl_oset.h: Use C comment style, not C++ comment style.
71898
71899 2006-11-06  Bruno Haible  <bruno@clisp.org>
71900
71901         * m4/inline.m4: New file.
71902         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
71903         * modules/list (Files): Add m4/inline.m4.
71904         * modules/oset (Files): Likewise.
71905
71906 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71907
71908         * lib/idcache.c: Include <stddef.h>, for offsetof.
71909         (struct userid.name): Change from char * to a flexible array member.
71910         All uses changed.
71911         * modules/idcache (Depends-on): Add flexmember.
71912
71913         * MODULES.html.sh (Core language properties): New module flexmember.
71914         * modules/flexmember, m4/flexmember.m4: New files.
71915
71916         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
71917         inline functions that are identical with the old xnmalloc_inline,
71918         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
71919         that we can avoid some unnecessary integer multiplications and
71920         divisions in the common case where the element size is known at
71921         compile time.
71922         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
71923         needed.
71924         (xnboundedmalloc): Remove.
71925         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
71926         arguments, for consistency with rest of this header.
71927         (xcharalloc): Rewrite using XNMALLOC.
71928         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
71929         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
71930         versions have been moved to lib/xalloc.h and renamed to be the
71931         non-*_inline versions.
71932         (xmalloc, xrealloc): Implement without reference to the xnmalloc
71933         and xnrealloc functions, since those functions are now inline and
71934         now call us.
71935         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
71936         renaming described above.
71937         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
71938         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
71939         captures the dependency in AC_C_INLINE.
71940
71941         New module canonicalize-lgpl, proposed by Charles Wilson in
71942         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
71943         with a few small changes afterwards.
71944         * MODULES.html.sh (File system functions): New module
71945         canonicalize-lgpl.
71946         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
71947         and canonicalize_file_name.
71948         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
71949         * modules/canonicalize-lgpl: New files.
71950
71951 2006-11-05  Bruno Haible  <bruno@clisp.org>
71952
71953         * gnulib-tool (func_import, func_create_testdir): Create directories
71954         also for files in subdirectories of lib/.
71955
71956 2006-11-05  Bruno Haible  <bruno@clisp.org>
71957
71958         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
71959         ANSI C compliant.
71960
71961 2006-11-03  Bruno Haible  <bruno@clisp.org>
71962
71963         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
71964         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
71965         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
71966         (xnboundedmalloc): New inline function.
71967         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
71968         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
71969         xmalloc.
71970         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
71971         xmalloc.
71972         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
71973         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
71974         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
71975         xmalloc.
71976         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
71977         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
71978         xmalloc.
71979         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
71980         gl_tree_add_after): Use XMALLOC instead of xmalloc.
71981         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
71982         xmalloc.
71983         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
71984         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
71985         gl_tree_add_after): Use XMALLOC instead of xmalloc.
71986         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
71987         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
71988         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
71989         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
71990
71991 2006-11-03  Bruno Haible  <bruno@clisp.org>
71992
71993         * lib/c-ctype.h [C++]: Define functions without name mangling.
71994         * lib/fwriteerror.h [C++]: Likewise.
71995         * lib/gcd.h [C++]: Likewise.
71996         * lib/linebreak.h [C++]: Likewise.
71997
71998 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
71999
72000         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72001         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72002         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72003         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72004         Check for functions and headers just once.
72005         Check for declaration of canonicalize_file_name.
72006         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72007
72008 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72009
72010         * gnulib-tool (func_import): Fix typo in actioncmd.
72011
72012 2006-11-02  Bruno Haible  <bruno@clisp.org>
72013
72014         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72015         newline sequence in the Makefile.am snippet as a space, like "make"
72016         does.
72017         Reported by Roger Persson <perrog@gmail.com>.
72018
72019 2006-11-01  Bruno Haible  <bruno@clisp.org>
72020
72021         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72022         already declared in <string.h>.
72023         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72024
72025 2006-11-01  Bruno Haible  <bruno@clisp.org>
72026
72027         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72028         * lib/strcase.h: Include <string.h>.
72029         (strcasecmp): Define to rpl_strcasecmp here.
72030
72031 2006-11-01  Bruno Haible  <bruno@clisp.org>
72032
72033         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72034
72035 2006-11-01  Eric Blake  <ebb9@byu.net>
72036
72037         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72038
72039         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72040
72041 2006-10-29  Bruno Haible  <bruno@clisp.org>
72042
72043         Make it compile in C++ mode.
72044         * lib/full-write.c (full_rw): Add a cast.
72045
72046 2006-11-01  Bruno Haible  <bruno@clisp.org>
72047
72048         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72049         be POSIX compliant.
72050         Reported by Roger Persson <perrog@gmail.com>.
72051
72052 2006-11-01  Eric Blake  <ebb9@byu.net>
72053
72054         * lib/getopt_.h: Fix comments.
72055
72056 2006-10-31  Eric Blake  <ebb9@byu.net>
72057
72058         * modules/tmpdir (Depends-on): Add sys_stat.
72059         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72060         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72061         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72062         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72063         tempname.
72064
72065 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72066
72067         Avoid some C++ diagnostics reported by Bruno Haible.
72068         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72069         xmalloc.
72070         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72071         (struct slotvec): Move to top level.
72072         (quotearg_n_options): Rewrite to avoid xmalloc.
72073         * lib/xalloc.h (xcharalloc): New function.
72074         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72075         [defined __cplusplus]: Add function template that provides result
72076         type propagation.  This part of the change is from Bruno Haible.
72077
72078 2006-10-29  Bruno Haible  <bruno@clisp.org>
72079
72080         Make it compile in C++ mode.
72081         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72082         * lib/strnlen1.c (strnlen1): Cast memchr result.
72083         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72084         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72085         (create_temp_dir): Rename local variable 'template'.
72086         (compile_csharp_using_sscli): Add cast.
72087         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72088         * lib/findprog.c (find_in_path): Likewise.
72089         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72090         * lib/wait-process.c (register_slave_subprocess): Likewise.
72091
72092 2006-10-22  Bruno Haible  <bruno@clisp.org>
72093
72094         * modules/tsearch: New file.
72095         * lib/tsearch.h: New file.
72096         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
72097         * m4/tsearch.m4: New file.
72098         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
72099
72100 2006-10-29  Eric Blake  <ebb9@byu.net>
72101
72102         * lib/arcfour.c: Assume config.h.
72103         * lib/arctwo.c: Likewise.
72104         * lib/base64.c: Likewise.
72105         * lib/check-version.c: Likewise.
72106         * lib/crc.c: Likewise.
72107         * lib/des.c: Likewise.
72108         * lib/gc-gnulib.c: Likewise.
72109         * lib/gc-libgcrypt.c: Likewise.
72110         * lib/gc-pbkdf2-sha1.c: Likewise.
72111         * lib/getaddrinfo.c: Likewise.
72112         * lib/getdelim.c: Likewise.
72113         * lib/getline.c: Likewise.
72114         * lib/hmac-md5.c: Likewise.
72115         * lib/hmac-sha1.c: Likewise.
72116         * lib/iconvme.c: Likewise.
72117         * lib/md2.c: Likewise.
72118         * lib/md4.c: Likewise.
72119         * lib/memxor.c: Likewise.
72120         * lib/read-file.c: Likewise.
72121         * lib/readline.c: Likewise.
72122         * lib/rijndael-alg-fst.c: Likewise.
72123         * lib/rijndael-api-fst.c: Likewise.
72124         * lib/xgetdomainname.c: Likewise.
72125
72126 2006-10-28  Eric Blake  <ebb9@byu.net>
72127
72128         * lib/xstrndup.c: Assume config.h.
72129
72130 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72131
72132         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
72133         stat-macros.h is now for our own macros, whereas stat_h is for
72134         macros in the <sys/stat.h> name space.
72135         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
72136         (STAT_MACROS_H): Remove.
72137         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
72138         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
72139         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
72140         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
72141         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
72142         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
72143         Move these macros to ...
72144         * lib/stat_.h: here.  Don't include stat-macros.h.
72145         * lib/canonicalize.c: Don't include stat-macros.h.
72146         * lib/chown.c: Likewise.
72147         * lib/euidaccess.c: Likewise.
72148         * lib/file-type.c: Likewise.
72149         * lib/filemode.c: Likewise.
72150         * lib/glob.c: Likewise.
72151         * lib/isapipe.c: Likewise.
72152         * lib/lchown.c: Likewise.
72153         * lib/lstat.c: Likewise.
72154         * lib/mkdir-p.c: Likewise.
72155         * lib/rmdir.c: Likewise.
72156         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
72157         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
72158         unless mkdir isn't declared, to speed up 'configure'.
72159         Always create sys/stat.h, since it's unlikely any real sys/stat.h
72160         would define all the S_* symbols.
72161         * modules/canonicalize (Depends-on):
72162         Depend on sys_stat, not stat-macros.
72163         * modules/chown: Likewise.
72164         * modules/euidaccess: Likewise.
72165         * modules/filemode: Likewise.
72166         * modules/file-type: Likewise.
72167         * modules/glob: Likewise.
72168         * modules/isapipe: Likewise.
72169         * modules/lchown: Likewise.
72170         * modules/lstat: Likewise.
72171         * modules/mkancesdirs: Likewise.
72172         * modules/rmdir: Likewise.
72173         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
72174         * modules/modechange: Likewise.
72175         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
72176         (configure.ac): Remove gl_STAT_MACROS.
72177         * modules/sys_stat (Depends-on): Remove stat-macros.
72178
72179 2006-10-27  Bruno Haible  <bruno@clisp.org>
72180
72181         * m4/signed.m4: Remove file.
72182         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
72183         invocation.
72184         * modules/vasnprintf (Files): Remove m4/signed.m4.
72185
72186 2006-10-27  Bruno Haible  <bruno@clisp.org>
72187
72188         Update to GNU gettext 0.16.
72189         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
72190         m4/inttypes-h.m4, m4/signed.m4.
72191         * m4/gettext.m4: Update to GNU gettext 0.16.
72192         * m4/intl.m4: New file, from GNU gettext.
72193         * m4/intldir.m4: New file, from GNU gettext.
72194         * config/srclist.txt: Update
72195
72196 2006-10-27  Eric Blake  <ebb9@byu.net>
72197
72198         * MODULES.html.sh: Document tempname.
72199         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
72200         dependencies.
72201         (Files): Move lib/tempname.c...
72202         * modules/tempname: ...to this new module.
72203         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
72204         (gl_PREREQ_TEMPNAME): Move...
72205         * m4/tempname.m4: ...to this new file.
72206         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
72207         * modules/sys_stat (Depends-on): Add stat-macros.
72208         * lib/stat_.h (includes): Pick up stat macros.
72209         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
72210         if stat macros are broken.
72211         * lib/tempname.c (includes): No need to include "stat-macros.h".
72212         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
72213         (direxists, __path_search) [!_LIBC]: Don't compile these in
72214         gnulib; the tmpdir module covers that.
72215         * lib/tempname.h: New file.
72216
72217 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
72218
72219         * COPYING: Explain how gnulib-tool converts licence headers.
72220         Almost all wording by Eric Blake.
72221
72222 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
72223
72224         * lib/mbchar.h (is_basic_table): Make read-only.
72225         * lib/mbchar.c (is_basic_table): Likewise.
72226         Reported by John Darrington.
72227
72228 2006-10-25  Bruno Haible  <bruno@clisp.org>
72229
72230         * lib/progname.h (set_program_name): Undefine before defining.
72231
72232 2006-10-25  Bruno Haible  <bruno@clisp.org>
72233
72234         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
72235         false for non-gcc C++ compilers.
72236         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
72237
72238 2006-10-24  Bruno Haible  <bruno@clisp.org>
72239
72240         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
72241         iconv implementations like Irix iconv.
72242
72243 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72244
72245         * modules/vararrays: New file.
72246         * m4/vararrays.m4: New file, taken from diffutils.
72247         * MODULES.html.sh: New module vararrays.
72248
72249 2006-10-24  Karl Berry  <karl@gnu.org>
72250
72251         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
72252         Don't call GNU Unix.
72253
72254 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72255
72256         * users.txt: Add Libtool.
72257
72258         Sync from Libtool:
72259
72260         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72261
72262         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
72263         to gnulib's policy of including config.h unconditionally.
72264
72265 2006-10-24  Bruno Haible  <bruno@clisp.org>
72266
72267         * modules/wcwidth (Files): Add m4/wint_t.m4.
72268         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
72269         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
72270
72271 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72272
72273         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
72274         to pacify GCC with some -W flags enabled.  Problem reported by
72275         Bruno Haible.
72276
72277 2006-10-24  Jim Meyering  <jim@meyering.net>
72278
72279         * MODULES.html.sh: Remove uinttostr.  It's not a module.
72280         Reported by Karl Berry.
72281
72282 2006-10-23  Bruno Haible  <bruno@clisp.org>
72283
72284         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
72285
72286 2006-10-24  Bruno Haible  <bruno@clisp.org>
72287
72288         * lib/gl_list.h: Use C comment style, not C++ comment style.
72289
72290 2006-10-23  Eric Blake  <ebb9@byu.net>
72291
72292         * lib/getaddrinfo.c (includes): Add missing include.
72293
72294 2006-10-23  Bruno Haible  <bruno@clisp.org>
72295             Paul Eggert  <eggert@cs.ucla.edu>
72296
72297         Ability to rename obstack_free.
72298         * lib/obstack.h (__obstack_free): New macro. Declare instead of
72299         obstack_free.
72300         (obstack_free): Invoke the __obstack_free macro.
72301         * lib/obstack.c (obstack_free): Use __obstack_free macro.
72302
72303 2006-10-23  Bruno Haible  <bruno@clisp.org>
72304             Paul Eggert  <eggert@cs.ucla.edu>
72305
72306         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
72307         __argc, __argv from the declaration. (They are defined as macros on
72308         mingw.)
72309
72310 2006-10-22  Bruno Haible  <bruno@clisp.org>
72311
72312         * doc/gnulib-intro.texi: New file.
72313         * doc/gnulib.texi: Include it.
72314
72315 2006-10-21  Bruno Haible  <bruno@clisp.org>
72316
72317         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
72318         "Introduction", "Miscellanous Notes", "Particular Modules".
72319
72320 2006-10-21  Bruno Haible  <bruno@clisp.org>
72321
72322         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72323         Change mostlyclean-local rule to avoid sh syntax error from bash
72324         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
72325
72326 2006-10-23  Jim Meyering  <jim@meyering.net>
72327
72328         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
72329         in place of snprintf.
72330
72331         * modules/inttostr (Files): Add lib/uinttostr.c.
72332         * lib/uinttostr.c (inttostr): New file/function.
72333         * lib/inttostr.h (uinttostr): Declare.
72334         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
72335         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72336         Add uinttostr.
72337         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
72338
72339 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72340
72341         * lib/canonicalize.c (ELOOP): Define if not already defined.
72342         Problem reported by Bruno Haible in
72343         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
72344
72345 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72346
72347         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
72348         Problem reported by Perry Smith and Ville Laurikari.
72349
72350         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
72351         uses.
72352
72353 2006-10-19  Bruno Haible  <bruno@clisp.org>
72354
72355         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
72356         for mingw.
72357
72358 2006-10-19  Bruno Haible  <bruno@clisp.org>
72359
72360         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
72361         Needed for mingw.
72362
72363 2006-10-19  Bruno Haible  <bruno@clisp.org>
72364
72365         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
72366
72367 2006-10-19  Bruno Haible  <bruno@clisp.org>
72368
72369         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
72370         it.
72371
72372 2006-10-19  Bruno Haible  <bruno@clisp.org>
72373
72374         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
72375         invocation.
72376
72377 2006-10-19  Bruno Haible  <bruno@clisp.org>
72378
72379         * gnulib-tool (func_create_testdir): Don't include ftruncate and
72380         mountlist by default.
72381
72382 2006-10-16  Bruno Haible  <bruno@clisp.org>
72383
72384         * lib/c-strstr.c: Include c-strstr.h.
72385
72386 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72387
72388         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
72389         in a slash.
72390
72391 2006-10-18  Bruno Haible  <bruno@clisp.org>
72392
72393         * lib/lock.h [C++]: Wrap definitions in extern "C".
72394
72395 2006-10-18  Bruno Haible  <bruno@clisp.org>
72396
72397         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
72398         gl_LIBOBJS list.
72399
72400 2006-10-18  Bruno Haible  <bruno@clisp.org>
72401
72402         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
72403
72404 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
72405
72406         * lib/xstrtol.h: Include gettext.h.
72407         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
72408         Problem reported by Eric Blake.
72409         * modules/xstrtol (Depends-on): Add gettext-h.
72410
72411 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
72412
72413         * lib/strftime.c (advance): New macro.
72414         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
72415         incomplete type, so you can't add 0 to it.  Problem and patch
72416         reported by Eelco Dolstra for dietlibc.
72417
72418 2006-10-18  Jim Meyering  <jim@meyering.net>
72419
72420         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
72421         type for a local, and rename it: s/up/user_proc/.
72422
72423 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
72424
72425         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
72426         READ_UTMP_USER_PROCESS.
72427         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
72428
72429 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72430
72431         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
72432         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
72433
72434 2006-10-17  Eric Blake  <ebb9@byu.net>
72435
72436         * lib/sigprocmask.c (sigprocmask): Fix typo.
72437
72438         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
72439
72440         * modules/clean-temp (Makefile.am): Don't add to make output...
72441         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
72442         config.h.
72443
72444 2006-10-17  Bruno Haible  <bruno@clisp.org>
72445
72446         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
72447         differently if DEFAULT_TEXT_DOMAIN is set.
72448
72449 2006-10-16  Bruno Haible  <bruno@clisp.org>
72450
72451         * lib/clean-temp.c: Include fwriteerror.h.
72452
72453 2006-10-16  Bruno Haible  <bruno@clisp.org>
72454
72455         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
72456
72457 2006-10-16  Bruno Haible  <bruno@clisp.org>
72458
72459         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
72460         * lib/sigprocmask.h: Include <sys/types.h>.
72461         (sigset_t): Use the system's definition if present.
72462
72463 2006-10-17  Eric Blake  <ebb9@byu.net>
72464
72465         * lib/xvasprintf.c (includes): Assume config.h.
72466         * lib/xasprintf.c (includes): Likewise.
72467
72468 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72469
72470         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
72471         at least as wide as intmax_t.
72472
72473 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
72474
72475         (Imported from Automake.)
72476         * build-aux/gnupload: Update to version 1.1 of directive file.
72477
72478 2006-10-16  Eric Blake  <ebb9@byu.net>
72479
72480         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
72481         match Automake 1.10a.
72482
72483 2006-10-14  Bruno Haible  <bruno@clisp.org>
72484
72485         * modules/sigprocmask: New file.
72486         * lib/sigprocmask.h: New file.
72487         * lib/sigprocmask.c: New file.
72488         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
72489         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
72490         request sigprocmask.o.
72491         (gl_PREREQ_SIGPROCMASK): New macro.
72492         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
72493         (Depends-on): Add sigprocmask.
72494         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
72495         gt_SIGNALBLOCKING. Test for 'raise' only once.
72496         * lib/fatal-signal.c: Include sigprocmask.h.
72497         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
72498         unblock_fatal_signals): Define always.
72499         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72500         sigprocmask.
72501
72502 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
72503
72504         Sync from Automake.
72505         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
72506         which incorrectly sets the mode of an existing destination
72507         directory.  In some cases the unpatched install-sh could do the
72508         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
72509         system.  We hope this is rare in practice, but it's clearly worth
72510         fixing.  Problem reported by Alex Unleashed in
72511         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
72512         Also, don't bother to check for -m bugs unless we're using -m;
72513         suggested by Stepan Kasal.
72514
72515 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72516
72517         Sync from Automake.
72518         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
72519         `-c' flag, so they appear at the same position as in %FASTDEP%
72520         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
72521         which ignores unknown options only after the first non-option.
72522         Bug report against M4 by Nelson H. F. Beebe.
72523
72524 2006-10-13  Jim Meyering  <jim@meyering.net>
72525
72526         Fix a bug in yesterday's change.
72527         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
72528         p->fts_statp->st_dev would be used uninitialized.
72529         Ensures that we always call fts_stat on the very first entry.
72530         Miklos Szeredi reported that find -xdev stopped working.
72531
72532 2006-10-12  Bruno Haible  <bruno@clisp.org>
72533
72534         * gnulib-tool (func_get_automake_snippet): Append an automatically
72535         computed EXTRA_DIST augmentation.
72536         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
72537         * modules/alloca-opt (Makefile.am): Likewise.
72538         * modules/allocsa (Makefile.am): Likewise.
72539         * modules/arcfour (Makefile.am): Likewise.
72540         * modules/arctwo (Makefile.am): Likewise.
72541         * modules/argmatch (Makefile.am): Likewise.
72542         * modules/argz (Makefile.am): Likewise.
72543         * modules/atexit (Makefile.am): Likewise.
72544         * modules/backupfile (Makefile.am): Likewise.
72545         * modules/byteswap (Makefile.am): Likewise.
72546         * modules/c-strtod (Makefile.am): Likewise.
72547         * modules/c-strtold (Makefile.am): Likewise.
72548         * modules/calloc (Makefile.am): Likewise.
72549         * modules/canon-host (Makefile.am): Likewise.
72550         * modules/canonicalize (Makefile.am): Likewise.
72551         * modules/chdir-long (Makefile.am): Likewise.
72552         * modules/chdir-safer (Makefile.am): Likewise.
72553         * modules/check-version (Makefile.am): Likewise.
72554         * modules/chown (Makefile.am): Likewise.
72555         * modules/cloexec (Makefile.am): Likewise.
72556         * modules/close-stream (Makefile.am): Likewise.
72557         * modules/closeout (Makefile.am): Likewise.
72558         * modules/crc (Makefile.am): Likewise.
72559         * modules/csharpexec (Makefile.am): Likewise.
72560         * modules/cycle-check (Makefile.am): Likewise.
72561         * modules/des (Makefile.am): Likewise.
72562         * modules/dev-ino (Makefile.am): Likewise.
72563         * modules/dirfd (Makefile.am): Likewise.
72564         * modules/dirname (Makefile.am): Likewise.
72565         * modules/dup2 (Makefile.am): Likewise.
72566         * modules/eealloc (Makefile.am): Likewise.
72567         * modules/error (Makefile.am): Likewise.
72568         * modules/euidaccess (Makefile.am): Likewise.
72569         * modules/exclude (Makefile.am): Likewise.
72570         * modules/exitfail (Makefile.am): Likewise.
72571         * modules/fcntl-safer (Makefile.am): Likewise.
72572         * modules/fcntl (Makefile.am): Likewise.
72573         * modules/file-type (Makefile.am): Likewise.
72574         * modules/fileblocks (Makefile.am): Likewise.
72575         * modules/filemode (Makefile.am): Likewise.
72576         * modules/filenamecat (Makefile.am): Likewise.
72577         * modules/fnmatch (Makefile.am): Likewise.
72578         * modules/fopen-safer (Makefile.am): Likewise.
72579         * modules/fpending (Makefile.am): Likewise.
72580         * modules/fprintftime (Makefile.am): Likewise.
72581         * modules/free (Makefile.am): Likewise.
72582         * modules/fsusage (Makefile.am): Likewise.
72583         * modules/ftruncate (Makefile.am): Likewise.
72584         * modules/fts (Makefile.am): Likewise.
72585         * modules/gc-arcfour (Makefile.am): Likewise.
72586         * modules/gc-des (Makefile.am): Likewise.
72587         * modules/gc-hmac-md5 (Makefile.am): Likewise.
72588         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
72589         * modules/gc-md4 (Makefile.am): Likewise.
72590         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72591         * modules/gc-sha1 (Makefile.am): Likewise.
72592         * modules/gc (Makefile.am): Likewise.
72593         * modules/getaddrinfo (Makefile.am): Likewise.
72594         * modules/getcwd (Makefile.am): Likewise.
72595         * modules/getdelim (Makefile.am): Likewise.
72596         * modules/getdomainname (Makefile.am): Likewise.
72597         * modules/getgroups (Makefile.am): Likewise.
72598         * modules/gethostname (Makefile.am): Likewise.
72599         * modules/gethrxtime (Makefile.am): Likewise.
72600         * modules/getline (Makefile.am): Likewise.
72601         * modules/getloadavg (Makefile.am): Likewise.
72602         * modules/getlogin_r (Makefile.am): Likewise.
72603         * modules/getndelim2 (Makefile.am): Likewise.
72604         * modules/getopt (Makefile.am): Likewise.
72605         * modules/getpagesize (Makefile.am): Likewise.
72606         * modules/getpass-gnu (Makefile.am): Likewise.
72607         * modules/getpass (Makefile.am): Likewise.
72608         * modules/getsubopt (Makefile.am): Likewise.
72609         * modules/gettime (Makefile.am): Likewise.
72610         * modules/gettimeofday (Makefile.am): Likewise.
72611         * modules/getugroups (Makefile.am): Likewise.
72612         * modules/getusershell (Makefile.am): Likewise.
72613         * modules/glob (Makefile.am): Likewise.
72614         * modules/group-member (Makefile.am): Likewise.
72615         * modules/hard-locale (Makefile.am): Likewise.
72616         * modules/hash (Makefile.am): Likewise.
72617         * modules/hmac-md5 (Makefile.am): Likewise.
72618         * modules/hmac-sha1 (Makefile.am): Likewise.
72619         * modules/human (Makefile.am): Likewise.
72620         * modules/idcache (Makefile.am): Likewise.
72621         * modules/imaxabs (Makefile.am): Likewise.
72622         * modules/imaxdiv (Makefile.am): Likewise.
72623         * modules/inet_ntop (Makefile.am): Likewise.
72624         * modules/inet_pton (Makefile.am): Likewise.
72625         * modules/intprops (Makefile.am): Likewise.
72626         * modules/inttostr (Makefile.am): Likewise.
72627         * modules/inttypes (Makefile.am): Likewise.
72628         * modules/isapipe (Makefile.am): Likewise.
72629         * modules/javaversion (Makefile.am): Likewise.
72630         * modules/lchmod (Makefile.am): Likewise.
72631         * modules/lchown (Makefile.am): Likewise.
72632         * modules/localcharset (Makefile.am): Likewise.
72633         * modules/long-options (Makefile.am): Likewise.
72634         * modules/lstat (Makefile.am): Likewise.
72635         * modules/malloc (Makefile.am): Likewise.
72636         * modules/mathl (Makefile.am): Likewise.
72637         * modules/mbchar (Makefile.am): Likewise.
72638         * modules/md2 (Makefile.am): Likewise.
72639         * modules/md4 (Makefile.am): Likewise.
72640         * modules/md5 (Makefile.am): Likewise.
72641         * modules/memcasecmp (Makefile.am): Likewise.
72642         * modules/memchr (Makefile.am): Likewise.
72643         * modules/memcmp (Makefile.am): Likewise.
72644         * modules/memcoll (Makefile.am): Likewise.
72645         * modules/memcpy (Makefile.am): Likewise.
72646         * modules/memmem (Makefile.am): Likewise.
72647         * modules/memmove (Makefile.am): Likewise.
72648         * modules/mempcpy (Makefile.am): Likewise.
72649         * modules/memrchr (Makefile.am): Likewise.
72650         * modules/memset (Makefile.am): Likewise.
72651         * modules/memxor (Makefile.am): Likewise.
72652         * modules/mkancesdirs (Makefile.am): Likewise.
72653         * modules/mkdir-p (Makefile.am): Likewise.
72654         * modules/mkdir (Makefile.am): Likewise.
72655         * modules/mkdtemp (Makefile.am): Likewise.
72656         * modules/mkstemp (Makefile.am): Likewise.
72657         * modules/mktime (Makefile.am): Likewise.
72658         * modules/modechange (Makefile.am): Likewise.
72659         * modules/mountlist (Makefile.am): Likewise.
72660         * modules/nanosleep (Makefile.am): Likewise.
72661         * modules/obstack (Makefile.am): Likewise.
72662         * modules/openat (Makefile.am): Likewise.
72663         * modules/pagealign_alloc (Makefile.am): Likewise.
72664         * modules/pathmax (Makefile.am): Likewise.
72665         * modules/physmem (Makefile.am): Likewise.
72666         * modules/poll (Makefile.am): Likewise.
72667         * modules/posixtm (Makefile.am): Likewise.
72668         * modules/posixver (Makefile.am): Likewise.
72669         * modules/putenv (Makefile.am): Likewise.
72670         * modules/quote (Makefile.am): Likewise.
72671         * modules/quotearg (Makefile.am): Likewise.
72672         * modules/raise (Makefile.am): Likewise.
72673         * modules/read-file (Makefile.am): Likewise.
72674         * modules/readline (Makefile.am): Likewise.
72675         * modules/readlink (Makefile.am): Likewise.
72676         * modules/readtokens (Makefile.am): Likewise.
72677         * modules/readutmp (Makefile.am): Likewise.
72678         * modules/realloc (Makefile.am): Likewise.
72679         * modules/regex (Makefile.am): Likewise.
72680         * modules/rename-dest-slash (Makefile.am): Likewise.
72681         * modules/rename (Makefile.am): Likewise.
72682         * modules/rijndael (Makefile.am): Likewise.
72683         * modules/rmdir (Makefile.am): Likewise.
72684         * modules/rpmatch (Makefile.am): Likewise.
72685         * modules/safe-read (Makefile.am): Likewise.
72686         * modules/safe-write (Makefile.am): Likewise.
72687         * modules/same-inode (Makefile.am): Likewise.
72688         * modules/same (Makefile.am): Likewise.
72689         * modules/save-cwd (Makefile.am): Likewise.
72690         * modules/savedir (Makefile.am): Likewise.
72691         * modules/setenv (Makefile.am): Likewise.
72692         * modules/settime (Makefile.am): Likewise.
72693         * modules/sha1 (Makefile.am): Likewise.
72694         * modules/sig2str (Makefile.am): Likewise.
72695         * modules/snprintf (Makefile.am): Likewise.
72696         * modules/stat-macros (Makefile.am): Likewise.
72697         * modules/stat-time (Makefile.am): Likewise.
72698         * modules/stdbool (Makefile.am): Likewise.
72699         * modules/stdint (Makefile.am): Likewise.
72700         * modules/stdlib-safer (Makefile.am): Likewise.
72701         * modules/stpcpy (Makefile.am): Likewise.
72702         * modules/stpncpy (Makefile.am): Likewise.
72703         * modules/strcase (Makefile.am): Likewise.
72704         * modules/strcasestr (Makefile.am): Likewise.
72705         * modules/strchrnul (Makefile.am): Likewise.
72706         * modules/strcspn (Makefile.am): Likewise.
72707         * modules/strdup (Makefile.am): Likewise.
72708         * modules/strerror (Makefile.am): Likewise.
72709         * modules/strftime (Makefile.am): Likewise.
72710         * modules/strndup (Makefile.am): Likewise.
72711         * modules/strnlen (Makefile.am): Likewise.
72712         * modules/strpbrk (Makefile.am): Likewise.
72713         * modules/strsep (Makefile.am): Likewise.
72714         * modules/strstr (Makefile.am): Likewise.
72715         * modules/strtod (Makefile.am): Likewise.
72716         * modules/strtoimax (Makefile.am): Likewise.
72717         * modules/strtok_r (Makefile.am): Likewise.
72718         * modules/strtol (Makefile.am): Likewise.
72719         * modules/strtoll (Makefile.am): Likewise.
72720         * modules/strtoul (Makefile.am): Likewise.
72721         * modules/strtoull (Makefile.am): Likewise.
72722         * modules/strtoumax (Makefile.am): Likewise.
72723         * modules/strverscmp (Makefile.am): Likewise.
72724         * modules/sys_socket (Makefile.am): Likewise.
72725         * modules/sys_stat (Makefile.am): Likewise.
72726         * modules/sysexits (Makefile.am): Likewise.
72727         * modules/time_r (Makefile.am): Likewise.
72728         * modules/timegm (Makefile.am): Likewise.
72729         * modules/timespec (Makefile.am): Likewise.
72730         * modules/tmpfile-safer (Makefile.am): Likewise.
72731         * modules/trim (Makefile.am): Likewise.
72732         * modules/unistd-safer (Makefile.am): Likewise.
72733         * modules/unlinkdir (Makefile.am): Likewise.
72734         * modules/unlocked-io (Makefile.am): Likewise.
72735         * modules/userspec (Makefile.am): Likewise.
72736         * modules/utime (Makefile.am): Likewise.
72737         * modules/utimecmp (Makefile.am): Likewise.
72738         * modules/utimens (Makefile.am): Likewise.
72739         * modules/vasnprintf (Makefile.am): Likewise.
72740         * modules/vasprintf (Makefile.am): Likewise.
72741         * modules/vsnprintf (Makefile.am): Likewise.
72742         * modules/xalloc (Makefile.am): Likewise.
72743         * modules/xgetcwd (Makefile.am): Likewise.
72744         * modules/xnanosleep (Makefile.am): Likewise.
72745         * modules/xreadlink (Makefile.am): Likewise.
72746         * modules/xstrtod (Makefile.am): Likewise.
72747         * modules/xstrtol (Makefile.am): Likewise.
72748         * modules/xstrtold (Makefile.am): Likewise.
72749         * modules/yesno (Makefile.am): Likewise.
72750         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
72751
72752 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72753
72754         * modules/error (Makefile.am): Distribute files through
72755         EXTRA_DIST, not lib_SOURCES.
72756
72757 2006-10-12  Eric Blake  <ebb9@byu.net>
72758
72759         * modules/error (Makefile.am): Distribute files in /lib.
72760         * modules/obstack (Makefile.am): Likewise.
72761
72762 2006-10-12  Bruno Haible  <bruno@clisp.org>
72763
72764         * modules/acl (Makefile.am): Distribute all files in lib/ through
72765         EXTRA_DIST.
72766         * modules/arcfour (Makefile.am): Likewise.
72767         * modules/arctwo (Makefile.am): Likewise.
72768         * modules/argmatch (Makefile.am): Likewise.
72769         * modules/argz (Makefile.am): Likewise.
72770         * modules/atexit (Makefile.am): Likewise.
72771         * modules/backupfile (Makefile.am): Likewise.
72772         * modules/c-strtod (Makefile.am): Likewise.
72773         * modules/c-strtold (Makefile.am): Likewise.
72774         * modules/calloc (Makefile.am): Likewise.
72775         * modules/canon-host (Makefile.am): Likewise.
72776         * modules/canonicalize (Makefile.am): Likewise.
72777         * modules/chdir-long (Makefile.am): Likewise.
72778         * modules/chdir-safer (Makefile.am): Likewise.
72779         * modules/check-version (Makefile.am): Likewise.
72780         * modules/chown (Makefile.am): Likewise.
72781         * modules/cloexec (Makefile.am): Likewise.
72782         * modules/close-stream (Makefile.am): Likewise.
72783         * modules/closeout (Makefile.am): Likewise.
72784         * modules/crc (Makefile.am): Likewise.
72785         * modules/cycle-check (Makefile.am): Likewise.
72786         * modules/des (Makefile.am): Likewise.
72787         * modules/dirfd (Makefile.am): Likewise.
72788         * modules/dirname (Makefile.am): Likewise.
72789         * modules/dup2 (Makefile.am): Likewise.
72790         * modules/euidaccess (Makefile.am): Likewise.
72791         * modules/exclude (Makefile.am): Likewise.
72792         * modules/exitfail (Makefile.am): Likewise.
72793         * modules/fcntl-safer (Makefile.am): Likewise.
72794         * modules/file-type (Makefile.am): Likewise.
72795         * modules/fileblocks (Makefile.am): Likewise.
72796         * modules/filemode (Makefile.am): Likewise.
72797         * modules/filenamecat (Makefile.am): Likewise.
72798         * modules/fnmatch (Makefile.am): Likewise.
72799         * modules/fopen-safer (Makefile.am): Likewise.
72800         * modules/fpending (Makefile.am): Likewise.
72801         * modules/fprintftime (Makefile.am): Likewise.
72802         * modules/free (Makefile.am): Likewise.
72803         * modules/fsusage (Makefile.am): Likewise.
72804         * modules/ftruncate (Makefile.am): Likewise.
72805         * modules/fts (Makefile.am): Likewise.
72806         * modules/gc (Makefile.am): Likewise.
72807         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72808         * modules/getaddrinfo (Makefile.am): Likewise.
72809         * modules/getcwd (Makefile.am): Likewise.
72810         * modules/getdelim (Makefile.am): Likewise.
72811         * modules/getdomainname (Makefile.am): Likewise.
72812         * modules/getgroups (Makefile.am): Likewise.
72813         * modules/gethostname (Makefile.am): Likewise.
72814         * modules/gethrxtime (Makefile.am): Likewise.
72815         * modules/getline (Makefile.am): Likewise.
72816         * modules/getloadavg (Makefile.am): Likewise.
72817         * modules/getlogin_r (Makefile.am): Likewise.
72818         * modules/getopt (Makefile.am): Likewise.
72819         * modules/getpass (Makefile.am): Likewise.
72820         * modules/getpass-gnu (Makefile.am): Likewise.
72821         * modules/getsubopt (Makefile.am): Likewise.
72822         * modules/gettime (Makefile.am): Likewise.
72823         * modules/gettimeofday (Makefile.am): Likewise.
72824         * modules/getugroups (Makefile.am): Likewise.
72825         * modules/getusershell (Makefile.am): Likewise.
72826         * modules/glob (Makefile.am): Likewise.
72827         * modules/group-member (Makefile.am): Likewise.
72828         * modules/hard-locale (Makefile.am): Likewise.
72829         * modules/hash (Makefile.am): Likewise.
72830         * modules/hmac-md5 (Makefile.am): Likewise.
72831         * modules/hmac-sha1 (Makefile.am): Likewise.
72832         * modules/human (Makefile.am): Likewise.
72833         * modules/idcache (Makefile.am): Likewise.
72834         * modules/imaxabs (Makefile.am): Likewise.
72835         * modules/imaxdiv (Makefile.am): Likewise.
72836         * modules/inet_ntop (Makefile.am): Likewise.
72837         * modules/inet_pton (Makefile.am): Likewise.
72838         * modules/inttostr (Makefile.am): Likewise.
72839         * modules/isapipe (Makefile.am): Likewise.
72840         * modules/lchown (Makefile.am): Likewise.
72841         * modules/long-options (Makefile.am): Likewise.
72842         * modules/lstat (Makefile.am): Likewise.
72843         * modules/malloc (Makefile.am): Likewise.
72844         * modules/mathl (Makefile.am): Likewise.
72845         * modules/mbchar (Makefile.am): Likewise.
72846         * modules/md2 (Makefile.am): Likewise.
72847         * modules/md4 (Makefile.am): Likewise.
72848         * modules/md5 (Makefile.am): Likewise.
72849         * modules/memcasecmp (Makefile.am): Likewise.
72850         * modules/memchr (Makefile.am): Likewise.
72851         * modules/memcmp (Makefile.am): Likewise.
72852         * modules/memcoll (Makefile.am): Likewise.
72853         * modules/memcpy (Makefile.am): Likewise.
72854         * modules/memmem (Makefile.am): Likewise.
72855         * modules/memmove (Makefile.am): Likewise.
72856         * modules/mempcpy (Makefile.am): Likewise.
72857         * modules/memrchr (Makefile.am): Likewise.
72858         * modules/memset (Makefile.am): Likewise.
72859         * modules/memxor (Makefile.am): Likewise.
72860         * modules/mkancesdirs (Makefile.am): Likewise.
72861         * modules/mkdir (Makefile.am): Likewise.
72862         * modules/mkdir-p (Makefile.am): Likewise.
72863         * modules/mkdtemp (Makefile.am): Likewise.
72864         * modules/mkstemp (Makefile.am): Likewise.
72865         * modules/mktime (Makefile.am): Likewise.
72866         * modules/modechange (Makefile.am): Likewise.
72867         * modules/mountlist (Makefile.am): Likewise.
72868         * modules/nanosleep (Makefile.am): Likewise.
72869         * modules/openat (Makefile.am): Likewise.
72870         * modules/pagealign_alloc (Makefile.am): Likewise.
72871         * modules/physmem (Makefile.am): Likewise.
72872         * modules/poll (Makefile.am): Likewise.
72873         * modules/posixtm (Makefile.am): Likewise.
72874         * modules/posixver (Makefile.am): Likewise.
72875         * modules/putenv (Makefile.am): Likewise.
72876         * modules/quote (Makefile.am): Likewise.
72877         * modules/quotearg (Makefile.am): Likewise.
72878         * modules/raise (Makefile.am): Likewise.
72879         * modules/read-file (Makefile.am): Likewise.
72880         * modules/readline (Makefile.am): Likewise.
72881         * modules/readlink (Makefile.am): Likewise.
72882         * modules/readtokens (Makefile.am): Likewise.
72883         * modules/readutmp (Makefile.am): Likewise.
72884         * modules/realloc (Makefile.am): Likewise.
72885         * modules/regex (Makefile.am): Likewise.
72886         * modules/rename (Makefile.am): Likewise.
72887         * modules/rename-dest-slash (Makefile.am): Likewise.
72888         * modules/rijndael (Makefile.am): Likewise.
72889         * modules/rmdir (Makefile.am): Likewise.
72890         * modules/rpmatch (Makefile.am): Likewise.
72891         * modules/safe-read (Makefile.am): Likewise.
72892         * modules/safe-write (Makefile.am): Likewise.
72893         * modules/same (Makefile.am): Likewise.
72894         * modules/save-cwd (Makefile.am): Likewise.
72895         * modules/savedir (Makefile.am): Likewise.
72896         * modules/setenv (Makefile.am): Likewise.
72897         * modules/settime (Makefile.am): Likewise.
72898         * modules/sha1 (Makefile.am): Likewise.
72899         * modules/sig2str (Makefile.am): Likewise.
72900         * modules/snprintf (Makefile.am): Likewise.
72901         * modules/stdlib-safer (Makefile.am): Likewise.
72902         * modules/stpcpy (Makefile.am): Likewise.
72903         * modules/stpncpy (Makefile.am): Likewise.
72904         * modules/strcase (Makefile.am): Likewise.
72905         * modules/strcasestr (Makefile.am): Likewise.
72906         * modules/strchrnul (Makefile.am): Likewise.
72907         * modules/strcspn (Makefile.am): Likewise.
72908         * modules/strdup (Makefile.am): Likewise.
72909         * modules/strerror (Makefile.am): Likewise.
72910         * modules/strftime (Makefile.am): Likewise.
72911         * modules/strndup (Makefile.am): Likewise.
72912         * modules/strnlen (Makefile.am): Likewise.
72913         * modules/strpbrk (Makefile.am): Likewise.
72914         * modules/strsep (Makefile.am): Likewise.
72915         * modules/strstr (Makefile.am): Likewise.
72916         * modules/strtod (Makefile.am): Likewise.
72917         * modules/strtoimax (Makefile.am): Likewise.
72918         * modules/strtok_r (Makefile.am): Likewise.
72919         * modules/strtol (Makefile.am): Likewise.
72920         * modules/strtoll (Makefile.am): Likewise.
72921         * modules/strtoul (Makefile.am): Likewise.
72922         * modules/strtoull (Makefile.am): Likewise.
72923         * modules/strtoumax (Makefile.am): Likewise.
72924         * modules/strverscmp (Makefile.am): Likewise.
72925         * modules/time_r (Makefile.am): Likewise.
72926         * modules/timegm (Makefile.am): Likewise.
72927         * modules/tmpfile-safer (Makefile.am): Likewise.
72928         * modules/unistd-safer (Makefile.am): Likewise.
72929         * modules/unlinkdir (Makefile.am): Likewise.
72930         * modules/userspec (Makefile.am): Likewise.
72931         * modules/utime (Makefile.am): Likewise.
72932         * modules/utimecmp (Makefile.am): Likewise.
72933         * modules/utimens (Makefile.am): Likewise.
72934         * modules/vasnprintf (Makefile.am): Likewise.
72935         * modules/vasprintf (Makefile.am): Likewise.
72936         * modules/vsnprintf (Makefile.am): Likewise.
72937         * modules/xalloc (Makefile.am): Likewise.
72938         * modules/xgetcwd (Makefile.am): Likewise.
72939         * modules/xnanosleep (Makefile.am): Likewise.
72940         * modules/xreadlink (Makefile.am): Likewise.
72941         * modules/xstrtod (Makefile.am): Likewise.
72942         * modules/xstrtol (Makefile.am): Likewise.
72943         * modules/xstrtold (Makefile.am): Likewise.
72944         * modules/yesno (Makefile.am): Likewise.
72945
72946 2006-10-12  Jim Meyering  <jim@meyering.net>
72947
72948         * m4/getloadavg.m4: Revert the change below.
72949
72950         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
72951         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
72952         fail with a symlink, which is what coreutils' ./bootstrap now
72953         creates by default.
72954
72955 2006-10-12  Bruno Haible  <bruno@clisp.org>
72956
72957         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
72958         mingw.
72959         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
72960         MSVC and mingw explicitly.
72961
72962 2006-10-11  Simon Josefsson  <jas@extundo.com>
72963             Bruno Haible  <bruno@clisp.org>
72964
72965         Add support for multiple gnulib-tool invocations in the scope of a
72966         single configure.ac file.
72967         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
72968         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
72969         with the same contents as the _LIBADD variable.
72970         (func_emit_initmacro_start, func_emit_initmacro_end,
72971         func_emit_initmacro_done): New functions.
72972         (func_import, func_create_testdir): Invoke them. Allow the identifiers
72973         gl_LIBOBJS and gl_LTLIBOBJS.
72974
72975 2006-10-11  Bruno Haible  <bruno@clisp.org>
72976
72977         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
72978         (func_create_testdir): Don't create po/Makefile.am, don't invoke
72979         autoreconf. Instead, invoke autopoint explicitly but move back the
72980         *.m4 files from gnulib.
72981
72982 2006-10-11  Bruno Haible  <bruno@clisp.org>
72983
72984         * gnulib-tool (func_usage): Make module names after --create-testdir
72985         optional.
72986         (func_create_testdir): If no module was specified, use nearly all
72987         modules.
72988
72989 2006-10-12  Jim Meyering  <jim@meyering.net>
72990
72991         Big performance improvement for fts-based tools that use FTS_NOSTAT.
72992         Avoid spurious inode-mismatch problems on non-POSIX file systems.
72993         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
72994         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
72995         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
72996         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
72997         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
72998         (fts_set_stat_required): New function.
72999         (fts_open): Defer the calls to fts_stat, if possible or requested.
73000         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73001         into fts_stat itself.
73002         (fts_read): Perform any required (deferred) fts_stat call.
73003         (fts_build): Likewise, for the directory we're about to open and read.
73004         In the readdir loop, carefully decide whether each entry will require
73005         an eventual call to fts_stat, using dirent.d_type info if available.
73006         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73007         a command line argument into this function.  Update all callers.
73008         Map a return value of FTS_DOT to FTS_D for a command line argument.
73009         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73010         Thanks to Miklos Szeredi for his tenacity and for the initial
73011         bug report about "find" failing on a FUSE-based file system.
73012
73013         * lib/fts.c (fts_open): Use consistent indentation.
73014
73015 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73016
73017         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73018         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73019         reported by Jim Meyering.  All uses of cache variables renamed
73020         to match Autoconf's.
73021         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73022         the other one.
73023
73024         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73025         Fix misspelling in diagnostic.
73026
73027 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73028
73029         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73030         defined.  Problem reported by Matthew Woehlke.
73031
73032         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73033         Add support for Tandem NonStop R series.
73034         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73035         Use new macro.
73036
73037         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73038         (has_trailing_slash): Omit size arg; all callers changed.
73039         Omit 'inline', since it doesn't help performance and we'd
73040         need to configure it.
73041         Don't count //, ///, etc. as having a trailing slash.
73042         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73043         (rpl_rename_dest_slash): On failure, use rename's errno rather
73044         than (in some cases) an incorrect or junk errno.
73045         Simplify code by removing need to compute length; this does
73046         cause it to make two passes instead of one over the file name,
73047         but it's worth it.
73048
73049         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73050         change, since Autoconf's version may no longer be appropriate now
73051         that we are using CVS Autoconf's version.  Add support for Tandem.
73052
73053 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73054             Bruno Haible  <bruno@clisp.org>
73055
73056         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73057         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73058         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73059         gl_AC_TYPE_LONG_LONG.
73060
73061         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73062         instead of HAVE_LONG_LONG.
73063         * lib/printf-args.c (printf_fetchargs): Likewise.
73064         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73065         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73066         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73067         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73068         gl_AC_TYPE_LONG_LONG.
73069
73070 2006-10-11  Bruno Haible  <bruno@clisp.org>
73071
73072         * m4/longlong.m4: Add comments.
73073         * m4/ulonglong.m4: Likewise.
73074
73075 2006-10-10  Bruno Haible  <bruno@clisp.org>
73076
73077         Make it possible to #define stpcpy, strdup to aliases.
73078         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73079         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73080
73081 2006-10-10  Bruno Haible  <bruno@clisp.org>
73082
73083         Make it possible to #define gcd to an alias.
73084         * lib/gcd.c: Include config.h.
73085
73086 2006-10-10  Bruno Haible  <bruno@clisp.org>
73087
73088         Make it possible to #define c_isascii to an alias.
73089         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73090         defined. Undefine the macros before defining them, to avoid gcc
73091         warnings.
73092         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73093         define NO_C_CTYPE_MACROS early.
73094
73095 2006-10-10  Bruno Haible  <bruno@clisp.org>
73096
73097         Make it possible to #define set_program_name to an alias.
73098         * lib/progname.c: Don't undefine set_program_name; instead, undefine
73099         ENABLE_RELOCATABLE early.
73100
73101 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73102
73103         Port to Tandem NSK OSS, which has 64-bit signed int but at most
73104         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
73105         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
73106         More generally, don't assume that 64-bit signed int is available
73107         if unsigned int is, and vice versa.
73108         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
73109         unsigned symbols, not on their signed counterparts.
73110         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
73111         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
73112         (UINT64_C, UINTMAX_C):
73113         Likewise.
73114         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
73115         unsigned counterparts.
73116         (Have_long_long, Unsigned): New macros.
73117         (Int): Renamed from INT.
73118         (strtoimax): Use the new macros.
73119         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
73120         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
73121         * modules/inttypes (inttypes.h): Substitute
73122         HAVE_UNSIGNED_LONG_LONG_INT.
73123         * modules/stdint (stdint.h): Likewise.
73124         (Files): Add m4/ulonglong.m4.
73125
73126 2006-10-10  Bruno Haible  <bruno@clisp.org>
73127
73128         Fix a gcc -Wshadow warning.
73129         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
73130         to 'bucket'.
73131         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
73132         gl_linked_indexof_from_to): Likewise.
73133         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
73134         Likewise.
73135         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
73136         Likewise.
73137         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
73138         Reported by Eric Blake.
73139
73140 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
73141
73142         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
73143         for NetBSD.  Problem reported by Bruno Haible.
73144
73145 2006-10-09  Jim Meyering  <jim@meyering.net>
73146
73147         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
73148         Patch from Bruno Haible.
73149
73150 2006-10-09  Jim Meyering  <jim@meyering.net>
73151
73152         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
73153         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
73154         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
73155
73156 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73157
73158         Don't include <config.h> twice; this doesn't work in some cases,
73159         e.g., when config.h has "#define intmax_t long long int" and
73160         we include <config.h>, <inttypes.h>, <config.h> in that order.
73161         Problem reported by Matthew Woehlke in:
73162         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
73163         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
73164         * lib/fts-cycle.c: Don't include config.h.
73165         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
73166         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
73167         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
73168         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
73169         inttypes.h.
73170         * lib/xstrtoumax.c: Likewise.
73171         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
73172         __strtol and the like, so that this module is more like its siblings.
73173         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
73174         Remove; no longer needed now that we assume gnulib inttypes.h.
73175
73176 2006-10-08  Bruno Haible  <bruno@clisp.org>
73177
73178         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
73179         option.
73180
73181 2006-10-07  Jim Meyering  <jim@meyering.net>
73182
73183         * modules/inttypes (inttypes.h): Revert what seems to have been
73184         an inadvertent part of today's change: use "|", not "/" in the
73185         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
73186
73187 2006-10-07  Bruno Haible  <bruno@clisp.org>
73188
73189         * modules/sublist: New file.
73190
73191 2006-10-07  Bruno Haible  <bruno@clisp.org>
73192
73193         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
73194         * modules/argz (argz.h): Likewise.
73195         * modules/arpa_inet (arpa/inet.h): Likewise.
73196         * modules/byteswap (byteswap.h): Likewise.
73197         * modules/configmake (configmake.h): Likewise.
73198         * modules/fcntl (fcntl.h): Likewise.
73199         * modules/fnmatch (fnmatch.h): Likewise.
73200         * modules/getopt (getopt.h): Likewise.
73201         * modules/glob (glob.h): Likewise.
73202         * modules/inttypes (inttypes.h): Likewise.
73203         * modules/netinet_in (netinet/in.h): Likewise.
73204         * modules/poll (poll.h): Likewise.
73205         * modules/stdbool (stdbool.h): Likewise.
73206         * modules/stdint (stdint.h): Likewise.
73207         * modules/sys_select (sys/select.h): Likewise.
73208         * modules/sys_socket (sys/socket.h): Likewise.
73209         * modules/sys_stat (sys/stat.h): Likewise.
73210         * modules/sysexits (sysexits.h): Likewise.
73211         * modules/unistd (unistd.h): Likewise.
73212         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73213         Add a "DO NOT EDIT" comment to the generated file.
73214         (func_import): Likewise for gnulib-comp.m4.
73215
73216 2006-10-07  Bruno Haible  <bruno@clisp.org>
73217
73218         * lib/gl_sublist.h: New file.
73219         * lib/gl_sublist.c: New file.
73220
73221 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73222
73223         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
73224         name (relative to the original working directory) and the file
73225         name component (relative to the temporary working directory).  All
73226         callers changed.
73227         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
73228         * lib/mkdir-p.c (make_dir_parents): Likewise.
73229         * lib/mkdir-p.h (make_dir_parents): Likewise.
73230
73231 2006-10-06  Eric Blake  <ebb9@byu.net>
73232
73233         Define several macros for use by the clean-temp module.
73234         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
73235         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
73236         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
73237
73238         * lib/clean-temp.h (close_stream_temp): New declaration.
73239         * lib/clean-temp.c (includes): Pull in headers according to what
73240         other modules are in use.
73241         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
73242
73243 2006-10-06  Bruno Haible  <bruno@clisp.org>
73244
73245         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
73246         instead of fopen, fwriteerror.
73247
73248 2006-10-06  Bruno Haible  <bruno@clisp.org>
73249
73250         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
73251         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
73252         int.
73253         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
73254         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
73255         Return an error indicator.
73256         Suggested by Eric Blake.
73257
73258 2006-10-06  Bruno Haible  <bruno@clisp.org>
73259
73260         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
73261         Reported by Eric Blake.
73262
73263 2006-10-06  Bruno Haible  <bruno@clisp.org>
73264
73265         * modules/closeout (Description): Mention stderr too.
73266
73267 2006-10-06  Bruno Haible  <bruno@clisp.org>
73268         and Paul Eggert  <eggert@cs.ucla.edu>
73269
73270         * lib/closeout.c (close_stdout): Also close stderr.
73271         * lib/closeout.h: Update comment.
73272
73273 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73274
73275         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
73276         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
73277         * lib/dirchownmod.c: Include lchown.h.
73278         * lib/lchown.c: Don't include files that lchown.h now includes.
73279         Don't declare chown, since lchown.h now does that.
73280         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
73281         (lchown): Define to rpl_chown if lchown is declared but
73282         does not exist.  Declare using a prototype if lchown is not
73283         declared.  Add a copyright notice.
73284         * lib/mkstemp.h: Include <unistd.h>.
73285         * lib/openat.c: Include lchown.h.
73286
73287         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
73288         we now test for that separately.
73289         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
73290         rather than O_NOFOLLOW, when testing whether it's possible to
73291         avoid a race condition reliably.
73292         * lib/savewd.c (savewd_chdir): Likewise.
73293
73294         Remove macros that are no longer needed now that stdint.h is
73295         reliable.
73296         * lib/fsusage.c (UINTMAX_MAX): Remove.
73297         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
73298         * lib/utimecmp.c (SIZE_MAX): Remove.
73299
73300         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
73301
73302         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
73303         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
73304         O_NOATIME works.
73305
73306 2006-10-05  Bruno Haible  <bruno@clisp.org>
73307
73308         * lib/gl_list.h (gl_sortedlist_search_from_to,
73309         gl_sortedlist_indexof_from_to): New declarations.
73310         (gl_list_implementation): New fields sortedlist_search_from_to,
73311         sortedlist_indexof_from_to.
73312         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
73313         inline functions.
73314         * lib/gl_list.c (gl_sortedlist_search_from_to,
73315         gl_sortedlist_indexof_from_to): New functions.
73316         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
73317         function.
73318         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
73319         (gl_array_sortedlist_search_from_to): New function.
73320         (gl_array_list_implementation): Update.
73321         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
73322         function.
73323         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
73324         (gl_carray_sortedlist_search_from_to): New function.
73325         (gl_carray_list_implementation): Update.
73326         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
73327         gl_linked_sortedlist_indexof_from_to): New functions.
73328         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73329         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73330         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
73331         gl_tree_sortedlist_indexof_from_to): New functions.
73332         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73333         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73334         Update.
73335         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73336         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
73337         Update.
73338
73339 2006-10-05  Bruno Haible  <bruno@clisp.org>
73340
73341         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
73342         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
73343         (struct gl_list_implementation): Add fields search_from_to,
73344         indexof_from_to. Remove fields search, indexof.
73345         (gl_list_search): Use the search_from_to method.
73346         (gl_list_search_from, gl_list_search_from_to): New functions.
73347         (gl_list_indexof): Use the indexof_from_to method.
73348         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73349         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
73350         (gl_list_search_from, gl_list_search_from_to): New functions.
73351         (gl_list_indexof): Use the indexof_from_to method.
73352         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73353         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
73354         gl_array_indexof. Add start_index, end_index arguments.
73355         (gl_array_search_from_to): Renamed from gl_array_search. Add
73356         start_index, end_index arguments.
73357         (gl_array_remove, gl_array_list_implementation): Update.
73358         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
73359         gl_carray_indexof. Add start_index, end_index arguments.
73360         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
73361         start_index, end_index arguments.
73362         (gl_carray_remove, gl_carray_list_implementation): Update.
73363         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
73364         gl_linked_search. Add start_index, end_index arguments.
73365         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
73366         start_index, end_index arguments.
73367         (gl_linked_remove): Update.
73368         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73369         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73370         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
73371         field to 'size_t'.
73372         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
73373         gl_tree_search. Add start_index, end_index arguments.
73374         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73375         start_index, end_index arguments.
73376         (gl_tree_remove): Update.
73377         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73378         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73379         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
73380         function.
73381         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
73382         gl_tree_search. Add start_index, end_index arguments.
73383         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73384         start_index, end_index arguments.
73385         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73386         Update.
73387         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
73388
73389 2006-10-05  Bruno Haible  <bruno@clisp.org>
73390
73391         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
73392
73393         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
73394         fwriteerror_temp): New declarations.
73395         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
73396         (descriptors): New variable.
73397         (cleanup): First, close the descriptors.
73398         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
73399         fclose_temp, fwriteerror_temp): New functions.
73400
73401 2006-10-04  Jim Meyering  <jim@meyering.net>
73402
73403         * lib/fts.c (fts_open): Tiny comment change.
73404
73405 2006-10-04  Bruno Haible  <bruno@clisp.org>
73406
73407         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
73408         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
73409         gl_LOCK_BODY.
73410         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
73411         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
73412         gl_LOCK_EARLY_BODY.
73413         (gl_LOCK): Require gl_LOCK_BODY.
73414
73415 2006-10-04  Bruno Haible  <bruno@clisp.org>
73416
73417         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
73418         (gl_oset_search_atleast): New declaration.
73419         (struct gl_oset_implementation): Add field 'search_atleast'.
73420         (gl_oset_search_atleast): New inline function.
73421         * lib/gl_oset.c (gl_oset_search_atleast): New function.
73422         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
73423         (gl_array_oset_implementation): Update.
73424         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
73425         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
73426         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
73427
73428 2006-10-04  Bruno Haible  <bruno@clisp.org>
73429
73430         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
73431
73432 2006-10-03  Bruno Haible  <bruno@clisp.org>
73433
73434         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
73435         from gl_avltreehash_list_implementation.
73436
73437 2006-10-03  Bruno Haible  <bruno@clisp.org>
73438
73439         * lib/gl_oset.c (gl_oset_add): Fix return type.
73440
73441 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
73442
73443         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
73444
73445 2006-10-02  Eric Blake  <ebb9@byu.net>
73446
73447         * modules/strnlen (Depends-on): Add extensions.
73448
73449 2006-10-02  Eric Blake  <ebb9@byu.net>
73450
73451         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
73452         definition in 2.60+.
73453
73454 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
73455
73456         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
73457         checks.
73458
73459 2006-10-02  Bruno Haible  <bruno@clisp.org>
73460
73461         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
73462         to the AUTOMAKE_OPTIONS.
73463         Reported by Jim Meyering.
73464
73465 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73466
73467         Work around bug in Solaris 10 /proc file system:
73468         /proc/self/fd/NNN/.. isn't the parent directory of
73469         the directory whose file descriptor is NNN.  This needs to
73470         be worked around at run time, not compile time, since a
73471         program might be built on Solaris 8, where things work, and
73472         run on Solaris 10.
73473         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
73474         to use the following interface instead:
73475         (OPENAT_BUFFER_SIZE): New macro.
73476         (openat_proc_name): New function.
73477         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
73478         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
73479         Likewise.
73480         * lib/openat-proc.c: New file.
73481         * modules/openat (Files): Add lib/openat-proc.c.
73482         (Depends-on): Add same-inode, stdbool.
73483         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
73484
73485 2006-09-29  Bruno Haible  <bruno@clisp.org>
73486
73487         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
73488         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
73489         argument. Set stdout_closed before testing for ferror, not after.
73490         (fwriteerror, fwriteerror_no_ebadf): New functions.
73491
73492 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73493
73494         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
73495
73496 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
73497
73498         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
73499         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
73500
73501 2006-09-28  Jim Meyering  <jim@meyering.net>
73502
73503         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
73504         Include <unistd.h>.
73505
73506 2006-09-28  Bruno Haible  <bruno@clisp.org>
73507
73508         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
73509         * modules/linkedhash-list (Depends-on): Likewise.
73510         * modules/rbtreehash-list (Depends-on): Likewise.
73511
73512 2006-09-28  Bruno Haible  <bruno@clisp.org>
73513
73514         * lib/strndup.h: Simplify the redefinition of strndup.
73515         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
73516         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
73517
73518 2006-09-28  Bruno Haible  <bruno@clisp.org>
73519
73520         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
73521         * lib/gl_linkedhash_list.c: Likewise.
73522         * lib/gl_rbtreehash_list.c: Likewise.
73523
73524 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73525
73526         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
73527         getaddrinfo.
73528
73529         * lib/__fpending.h: Don't include <stdio_ext.h> unless
73530         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
73531         it causes <stdio_ext.h> to cause a compile-time error.
73532         Problem reported by Nelson H. F. Beebe.
73533         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
73534         of HAVE_DECL___PENDING.
73535
73536         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
73537         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
73538         declaration.
73539
73540 2006-09-27  Jim Meyering  <jim@meyering.net>
73541
73542         This file could end up with a definition for a function
73543         named __strndup, rather than rpl_strndup on a system with
73544         incomplete weak_alias support.
73545         * lib/strndup.c (strndup): Rename from __strndup.
73546         Remove #defines that used to map __strndup to strndup.
73547         Don't use K&R prototypes.
73548         Remove LIBC-related code, since this file is not sync'd with glibc.
73549         * lib/strndup.h: Revamp, accordingly.
73550         * m4/strndup.m4: Modernize.
73551
73552 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73553
73554         * modules/savewd (Depends-on): Add 'raise'.
73555         * lib/savewd.c: Include <signal.h>, for 'raise'.
73556
73557 2006-09-26  Jim Meyering  <jim@meyering.net>
73558
73559         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
73560         when we detect Darwin 8.7.0's acl_get_file bug.
73561         Rearrange to perform the new (below) run-test while $LIBS
73562         contains any acl-related library.  Set USE_ACL at the end.
73563         (gl_ACL_GET_FILE): New function.
73564
73565 2006-09-26  Eric Blake  <ebb9@byu.net>
73566
73567         * lib/verror.c: Include <config.h> unconditionally.
73568
73569 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
73570
73571         * modules/clock-time (Maintainer): Add self.
73572         * modules/getlogin_r (Depends-on): Add extensions.
73573
73574 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73575
73576         * modules/clock-time: New module.
73577         * modules/nanosleep (Depends-on): Add clock-time.
73578         * modules/gethrxtime (Depends-on): Likewise.
73579         * modules/gettime (Depends-on): Likewise.
73580         * modules/settime (Depends-on): Likewise.
73581
73582         * modules/fts-lgpl: Depend on openat.
73583         * modules/mkancesdirs: Depend on savewd.
73584         * modules/mkdir-p: Likewise.
73585
73586 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73587
73588         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
73589
73590         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
73591         `gl_have_arbitrary_file_name_length_limit' to
73592         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
73593         actually works between configure runs.
73594
73595 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73596             Bruno Haible  <bruno@clisp.org>
73597
73598         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
73599
73600 2006-09-25  Jim Meyering  <jim@meyering.net>
73601
73602         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
73603         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
73604
73605 2006-09-25  Eric Blake  <ebb9@byu.net>
73606
73607         * gnulib-tool (func_import, func_create_testdir): Fix typos in
73608         exec's in 2006-09-18 patch when shuffling fds.
73609
73610 2006-09-25  Bruno Haible  <bruno@clisp.org>
73611
73612         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
73613         Reported by Jim Meyering.
73614
73615 2006-09-24  Jim Meyering  <jim@meyering.net>
73616
73617         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
73618         compare a pointer against a literal "0".  That caused failures with
73619         at least HP-UX's hpcc.
73620
73621 2006-09-22  Simon Josefsson  <jas@extundo.com>
73622
73623         * modules/gc-sha1:
73624         * modules/gc-md4:
73625         * modules/gc-hmac-sha1:
73626         * modules/gc-hmac-md5:
73627         * modules/gc-des:
73628         * modules/gc-arcfour: Distribute more files.
73629
73630 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73631
73632         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
73633         (gl_linked_iterator_from_to): Initialize struct completely.
73634         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
73635         (gl_tree_iterator_from_to): Likewise
73636         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
73637         * lib/gl_array_list.c [lint] (gl_array_iterator)
73638         (gl_array_iterator_from_to): Likewise.
73639         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
73640         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
73641         (gl_carray_iterator_from_to): Likewise.
73642
73643         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
73644         * lib/md4.c (md4_process_block): Remove unused variable.
73645         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
73646         parentheses for clarity.
73647
73648 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73649
73650         * modules/bison-i18n (Depends-on): Add gettext.
73651
73652 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73653
73654         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
73655         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
73656         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
73657         also add missing comma that caused broken test.
73658         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
73659         stdlib.h, for `abort'.
73660         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
73661         variables.
73662         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
73663         include unistd.h if present, for `rmdir'.
73664         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
73665         variables.
73666         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
73667         in the process include standard headers for prototypes.
73668         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
73669         gets declared on GNU/Linux.
73670         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
73671         unistd.h, for `rmdir'.
73672         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
73673
73674         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
73675         always true.
73676         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
73677
73678         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
73679
73680 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73681
73682         * gnulib-tool (func_version): Create output all at once.  This
73683         may help avoid triggering unnecessary SIGPIPEs, and at any
73684         rate it doesn't hurt.
73685
73686 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73687             Bruno Haible  <bruno@clisp.org>
73688
73689         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
73690         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
73691         * m4/signed.m4 (bh_C_SIGNED): Likewise.
73692
73693         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
73694         (gl_FUNC_VASPRINTF): Invoke it.
73695
73696 2006-09-22  Bruno Haible  <bruno@clisp.org>
73697
73698         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
73699         getloadavg.c as first argument.
73700
73701 2006-09-22  Bruno Haible  <bruno@clisp.org>
73702
73703         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
73704         at the beginning of the gl_INIT macro.
73705         * modules/getloadavg (configure.ac): Pass $gl_source_base to
73706         gl_GETLOADAVG.
73707
73708 2006-09-22  Bruno Haible  <bruno@clisp.org>
73709
73710         * gnulib-tool (func_create_megatestdir): Don't include the config-h
73711         module.
73712         Suggested by Ralf Wildenhues.
73713
73714 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73715
73716         Import this patch from libc:
73717
73718         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
73719
73720         * lib/regex_internal.c (re_string_reconstruct): Handle
73721         offset < pstr->valid_raw_len && pstr->offsets_needed case.
73722         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
73723         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
73724         re_string_context_at.
73725
73726         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
73727         now requires it.
73728         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
73729         gl_REGEX now does it for us.
73730         (gl_REGEX): Add test taken from
73731         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
73732
73733         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
73734         Check that large offsets work.  Modernize Autoconf usages.
73735         Prefer "yes" to mean a good thing rather than a bad.
73736         Don't put "#define mkstemp" in config.h, as this might interfere
73737         with standard system headers that "#define mkstemp mkstemp64".
73738
73739         * modules/mkstemp (Depends-on): Add extensions, so that
73740         mkstemp is visible on some platforms.
73741         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
73742         (Include): Change to "mkstemp.h" from <stdlib.h>.
73743         (Files): Add mkstemp.h.
73744
73745         * lib/mkstemp.h: New file, since some standard headers
73746         #define mkstemp.
73747         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
73748         Include "mkstemp.h".
73749         Make the _LIBC code resemble glibc original more,
73750         e.g., use K&R style.
73751         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
73752         (mkstemp): Remove, since mkstemp.h does this for us.
73753         * lib/stdlib--.h: Include mkstemp.h.
73754
73755         Import this patch from libc:
73756
73757         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73758
73759         * lib/tempname.c (__gen_tempname): Change attempts_min
73760         into a macro.  Use preprocessor to decide how to initialize
73761         attempts [Coverity CID 67].
73762
73763 2006-09-20  Bruno Haible  <bruno@clisp.org>
73764
73765         * lib/mkdtemp.c: Import from libc.
73766         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73767                 * sysdeps/posix/tempname.c (__gen_tempname): Change
73768                 attempts_min into a macro.  Use preprocessor to decide how to
73769                 initialize attempts [Coverity CID 67].
73770         2001-11-27  Paul Eggert  <eggert@twinsun.com>
73771                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
73772                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
73773
73774 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73775
73776         * gnulib-tool (func_exit): New function, to allow to pass the
73777         exit status portably through the trap.  Use everywhere.
73778         (--help, --version): Signal a write error.
73779         (trap): catch SIGPIPE, for write errors.
73780         Exit at the end of the trap, with the correct exit status.
73781
73782 2006-09-19  Karl Berry  <karl@gnu.org>
73783
73784         * doc/gnulib.texi: note about the license texinfo files.
73785
73786 2006-09-19  Eric Blake  <ebb9@byu.net>
73787
73788         * gnulib-tool: Avoid space-tab.
73789
73790 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73791
73792         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
73793         that prevented coreutils 6.1 from building.  Problem reported
73794         by Petter Reinholdtsen.
73795
73796 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73797
73798         * gnulib-tool (avoidlist): Fix typo that broke options like
73799         --avoid=lock that are used by coreutils bootstrap.
73800
73801 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
73802
73803         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
73804         more systematically.
73805
73806 2006-09-18  Jim Meyering  <jim@meyering.net>
73807
73808         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
73809
73810 2006-09-18  Bruno Haible  <bruno@clisp.org>
73811
73812         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
73813
73814 2006-09-18  Bruno Haible  <bruno@clisp.org>
73815
73816         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
73817         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
73818         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
73819         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
73820         * m4/gettext.m4: Require autoconf >= 2.52.
73821         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
73822         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
73823         of gl_cv_header_inttypes_h.
73824
73825 2006-09-18  Bruno Haible  <bruno@clisp.org>
73826
73827         * lib/javaversion.c: Include configmake.h.
73828
73829 2006-09-18  Bruno Haible  <bruno@clisp.org>
73830
73831         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
73832         avoid that the while loops be executed in a subshell.
73833
73834 2006-09-18  Bruno Haible  <bruno@clisp.org>
73835
73836         * MODULES.html.sh (func_module): Break long lines.
73837         Suggested by Bruce Korb <bkorb@gnu.org>.
73838
73839 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73840
73841         Speed up by a factor of 1.12.
73842         * gnulib-tool (nl): New variable.
73843         (func_import): Rewrite include directive extraction to only read each
73844         directive once.
73845
73846 2006-09-17  Bruno Haible  <bruno@clisp.org>
73847
73848         * modules/javaversion (Makefile.am): Remove DEFS setting.
73849         (Depends-on): Add configmake, for PKGDATADIR definition.
73850
73851 2006-09-17  Bruno Haible  <bruno@clisp.org>
73852
73853         * gnulib-tool (func_create_testdir): Rewrite all files at once.
73854
73855 2006-09-17  Bruno Haible  <bruno@clisp.org>
73856
73857         * gnulib-tool (func_append): New function, stolen from libtool.m4.
73858         (func_modules_transitive_closure, func_modules_add_dummy,
73859         func_modules_to_filelist, func_import, func_create_testdir,
73860         func_create_megatestdir, ...): Use it wherever possible.
73861         Suggested by Ralf Wildenhues.
73862
73863 2006-09-16  Karl Berry  <karl@gnu.org>
73864
73865         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
73866         to avoid sectioning errors.
73867         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
73868         [ifinfo]: blank line after @center-ed titles.
73869         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
73870         Spell FSF address consistently with others.
73871         (These changes approved by rms.)
73872
73873 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73874
73875         Speed up by a factor of 1.61.
73876         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
73877         already checked module names again.
73878
73879 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73880
73881         Speed up by a factor of 1.13.
73882         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
73883         for new_files, and the input to func_add_or_update.
73884
73885 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73886
73887         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
73888         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
73889
73890 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73891
73892         * modules/mkancesdirs (Depends-on): Add fcntl.
73893         * modules/savewd: New file.
73894         * MODULES.html.sh (File system functions): Add savewd.
73895
73896         * modules/configmake (Makefile.am): Add support for the
73897         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
73898
73899 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73900
73901         * m4/savewd.m4: New file.
73902
73903 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73904
73905         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
73906         (dirchownmod): New arg FD.  All callers changed.
73907         Use FD rather than opening the directory ourself, as opening is
73908         now the caller's responsibility.
73909         * lib/dirchownmod.h: Likewise.
73910         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
73911         hosts that require <sys/types.h> before <sys/stat.h>.  Include
73912         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
73913         (test_dir): Remove.
73914         (mkancesdirs): Return length of prefix of FILE that has already
73915         been made, or -2 if there is a child doing the work.  Redo
73916         algorithm so that it is O(N) rather than O(N**2).  Optimize away
73917         ".", and treat ".." specially since it might stray back into
73918         already-created areas.  Use a subprocess if necessary.  New arg
73919         WD; all users changed.  MAKE_DIR function should now return 1
73920         if it creates a directory that is not readable.  Return -2 if
73921         a child process is spun off.
73922         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
73923         Adjust signature to match code.
73924         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
73925         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
73926         all users changed.
73927         * lib/savewd.c, lib/savewd.h: New files.
73928
73929 2006-09-15  Jim Meyering  <jim@meyering.net>
73930
73931         * modules/rename-dest-slash: New module.
73932         * MODULES.html.sh (posix_compat): Add it here.
73933
73934         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
73935
73936 2006-09-15  Jim Meyering  <jim@meyering.net>
73937
73938         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
73939         file.
73940
73941         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
73942
73943 2006-09-15  Jim Meyering  <jim@meyering.net>
73944
73945         * lib/rename-dest-slash.c (has_trailing_slash): Use
73946         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
73947         (rpl_rename_dest_slash): Perform the cheaper trailing slash
73948         test before testing whether SRC is a directory.
73949         Suggestions from Bruno Haible.
73950
73951         Avoid a warning about an unused variable.
73952         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
73953         into the #ifdef block where it's used.
73954
73955         * lib/rename-dest-slash.c: New file.
73956
73957 2006-09-14  Bruno Haible  <bruno@clisp.org>
73958
73959         * lib/allocsa.c: Include <config.h> unconditionally.
73960         * lib/asnprintf.c: Likewise.
73961         * lib/asprintf.c: Likewise.
73962         * lib/c-strcasecmp.c: Likewise.
73963         * lib/c-strcasestr.c: Likewise.
73964         * lib/c-strncasecmp.c: Likewise.
73965         * lib/c-strstr.c: Likewise.
73966         * lib/classpath.c: Likewise.
73967         * lib/clean-temp.c: Likewise.
73968         * lib/concatpath.c: Likewise.
73969         * lib/copy-file.c: Likewise.
73970         * lib/csharpcomp.c: Likewise.
73971         * lib/csharpexec.c: Likewise.
73972         * lib/execute.c: Likewise.
73973         * lib/fatal-signal.c: Likewise.
73974         * lib/findprog.c: Likewise.
73975         * lib/fwriteerror.c: Likewise.
73976         * lib/gl_array_list.c: Likewise.
73977         * lib/gl_array_oset.c: Likewise.
73978         * lib/gl_avltree_list.c: Likewise.
73979         * lib/gl_avltree_oset.c: Likewise.
73980         * lib/gl_avltreehash_list.c: Likewise.
73981         * lib/gl_carray_list.c: Likewise.
73982         * lib/gl_linked_list.c: Likewise.
73983         * lib/gl_linkedhash_list.c: Likewise.
73984         * lib/gl_list.c: Likewise.
73985         * lib/gl_oset.c: Likewise.
73986         * lib/gl_rbtree_list.c: Likewise.
73987         * lib/gl_rbtree_oset.c: Likewise.
73988         * lib/gl_rbtreehash_list.c: Likewise.
73989         * lib/imaxabs.c: Likewise.
73990         * lib/imaxdiv.c: Likewise.
73991         * lib/javacomp.c: Likewise.
73992         * lib/javaexec.c: Likewise.
73993         * lib/javaversion.c: Likewise.
73994         * lib/linebreak.c: Likewise.
73995         * lib/localcharset.c: Likewise.
73996         * lib/lock.c: Likewise.
73997         * lib/mbchar.c: Likewise.
73998         * lib/mbswidth.c: Likewise.
73999         * lib/mkdtemp.c: Likewise.
74000         * lib/pipe.c: Likewise.
74001         * lib/printf-args.c: Likewise.
74002         * lib/printf-parse.c: Likewise.
74003         * lib/progname.c: Likewise.
74004         * lib/progreloc.c: Likewise.
74005         * lib/readlink.c: Likewise.
74006         * lib/sh-quote.c: Likewise.
74007         * lib/stpcpy.c: Likewise.
74008         * lib/stpncpy.c: Likewise.
74009         * lib/strcasecmp.c: Likewise.
74010         * lib/strcasestr.c: Likewise.
74011         * lib/strcspn.c: Likewise.
74012         * lib/striconv.c: Likewise.
74013         * lib/strncasecmp.c: Likewise.
74014         * lib/strnlen1.c: Likewise.
74015         * lib/strstr.c: Likewise.
74016         * lib/strtok_r.c: Likewise.
74017         * lib/tls.c: Likewise.
74018         * lib/tmpdir.c: Likewise.
74019         * lib/unicodeio.c: Likewise.
74020         * lib/unsetenv.c: Likewise.
74021         * lib/vasnprintf.c: Likewise.
74022         * lib/vasprintf.c: Likewise.
74023         * lib/wait-process.c: Likewise.
74024         * lib/xallocsa.c: Likewise.
74025         * lib/xsetenv.c: Likewise.
74026         * lib/xstriconv.c: Likewise.
74027
74028 2006-09-13  Simon Josefsson  <jas@extundo.com>
74029
74030         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74031         that internally, suggested by Ralf Wildenhues
74032         <Ralf.Wildenhues@gmx.de>.
74033
74034 2006-09-13  Simon Josefsson  <jas@extundo.com>
74035
74036         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74037         @LIBOBJS@.
74038         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74039
74040 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74041
74042         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74043         longer worry about uses that don't define HAVE_CONFIG_H.
74044         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74045         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74046         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74047         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74048         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74049         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74050         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74051         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74052         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74053         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74054         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74055         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74056         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74057         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74058         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74059         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74060         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74061         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74062         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74063         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74064         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74065         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74066         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74067         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74068         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74069         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74070         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74071         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74072         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74073         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74074         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74075         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74076         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74077         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74078         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74079         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74080         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74081         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74082         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74083         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74084         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74085         Likewise.
74086
74087 2006-09-13  Eric Blake  <ebb9@byu.net>
74088
74089         * lib/getopt.c: Fix typo in last commit.
74090
74091 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74092
74093         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
74094         dgettext.
74095
74096 2006-09-12  Jim Meyering  <jim@meyering.net>
74097
74098         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
74099         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
74100         Reported by Nelson H. F. Beebe.
74101
74102 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74103
74104         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
74105         program_invocation_name and program_invocation_short_name are
74106         initialized.
74107         * lib/argp-namefrob.h: Move declarations of program_invocation_name
74108         and program_invocation_short_name to argp.h, so they are visible
74109         to user programs.
74110         * lib/argp.h: Likewise
74111
74112 2006-09-10  Bruno Haible  <bruno@clisp.org>
74113
74114         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74115         m4/inttypes_h.m4, m4/uintmax_t.m4.
74116
74117 2006-09-10  Bruno Haible  <bruno@clisp.org>
74118
74119         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
74120         gl_AC_TYPE_UINTMAX_T.
74121
74122 2006-09-10  Bruno Haible  <bruno@clisp.org>
74123
74124         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
74125
74126 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74127
74128         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
74129         convention.  Text proposed by Bruno Haible.
74130         (struct argp_option): Document the use of N_() wrappers.
74131
74132         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
74133         '\v', and translate the two parts separately, instead of feeding
74134         the whole string to gettext.  This allows to exclude
74135         '\v' from the strings visible to the translator by writing doc
74136         strings as N_("..") "\v" N_("..").
74137
74138 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
74139
74140         * config/srclist.txt: Undo latest change; the bug was fixed.
74141
74142 2006-09-09  Bruno Haible  <bruno@clisp.org>
74143
74144         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
74145         assignments if building a library without libtool.
74146         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
74147         in func_emit_lib_Makefile_am.
74148         (func_import): When building a static library libfoo.a, arrange to
74149         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
74150         (func_create_testdir): Likewise.
74151         * modules/gc (configure.ac, Makefile.am): If building statically,
74152         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
74153         * modules/iconvme (configure.ac, Makefile.am): Likewise.
74154         * modules/striconv (configure.ac, Makefile.am): Likewise.
74155         Based on a suggestion by Ralf Wildenhues.
74156
74157 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74158
74159         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74160         Check for unistd.h too, since Autoconf doesn't assume POSIX.
74161         Also:
74162
74163         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74164         Add year_2050_test to catch glibc bug 2821
74165         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74166
74167         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74168         Prefer #ifdef to #if.
74169
74170         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
74171         Return from 'main' instead of calling 'exit'.
74172
74173 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74174
74175         * lib/mktime.c (guess_time_tm): Fix bug where mktime
74176         returned the maximum time_t value rather than (time_t) -1.
74177         Problem originally reported by William Bardwell
74178         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74179
74180         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74181         Moved to here ...
74182         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74183         ... from here.
74184
74185 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74186
74187         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
74188         2821 is fixed.
74189
74190 2006-09-08  Jim Meyering  <jim@meyering.net>
74191
74192         Don't make generated files read-only.  That would bother too many
74193         people.  However, do retain the ability to work when targets are
74194         read-only: remove the destination and temporary files before writing
74195         them (when generated via sed or echo), or by using the -f option for
74196         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
74197         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74198         * modules/byteswap, modules/configmake, modules/fcntl:
74199         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74200         * modules/localcharset, modules/netinet_in, modules/poll:
74201         * modules/stdbool, modules/stdint, modules/sys_select:
74202         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74203
74204 2006-09-08  Jim Meyering  <jim@meyering.net>
74205
74206         Avoid new build failure on FreeBSD 6.0.
74207         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
74208         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
74209         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
74210
74211 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74212
74213         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
74214
74215 2006-09-07  Jim Meyering  <jim@meyering.net>
74216
74217         Fix global typo in last change: use chmod u-w, not chmod u-x.
74218         Spotted by Paul Eggert and Bruce Korb.
74219         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74220         * modules/byteswap, modules/configmake, modules/fcntl:
74221         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74222         * modules/localcharset, modules/netinet_in, modules/poll:
74223         * modules/stdbool, modules/stdint, modules/sys_select:
74224         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74225
74226 2006-09-06  Jim Meyering  <jim@meyering.net>
74227
74228         Make generated files be read-only.
74229         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
74230         Ensure that each generated file is now read-only.
74231         * modules/argz: Likewise.
74232         * modules/arpa_inet: Likewise.
74233         * modules/byteswap: Likewise.
74234         * modules/configmake: Likewise.
74235         * modules/fcntl: Likewise.
74236         * modules/fnmatch: Likewise.
74237         * modules/getopt: Likewise.
74238         * modules/glob: Likewise.
74239         * modules/inttypes: Likewise.
74240         * modules/netinet_in: Likewise.
74241         * modules/poll: Likewise.
74242         * modules/stdbool: Likewise.
74243         * modules/stdint: Likewise.
74244         * modules/sys_select: Likewise.
74245         * modules/sys_socket: Likewise.
74246         * modules/sys_stat: Likewise.
74247         * modules/sysexits: Likewise.
74248         * modules/localcharset: Same as above, but continue using temporary
74249         file named "t-$@" (why different?) rather than the "$@-t" used
74250         everywhere else.
74251
74252         * modules/sysexits (Makefile.am): Replace literal occurrences
74253         of "sysexit.h" more readable, and more consistent, "$@".
74254
74255 2006-09-06  Bruno Haible  <bruno@clisp.org>
74256
74257         * modules/striconv: New file.
74258         * modules/xstriconv: New file.
74259         * MODULES.html.sh (Internationalization functions): Add striconv,
74260         xstriconv.
74261
74262 2006-09-06  Bruno Haible  <bruno@clisp.org>
74263
74264         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
74265         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
74266         not using libtool correctly.
74267
74268 2006-09-06  Bruno Haible  <bruno@clisp.org>
74269
74270         * lib/striconv.h: New file.
74271         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
74272         iconvstring.c.
74273         * lib/xstriconv.h: New file.
74274         * lib/xstriconv.c: New file.
74275
74276 2006-09-06  Bruno Haible  <bruno@clisp.org>
74277
74278         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74279         lib_..._LDFLAGS.
74280
74281 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74282
74283         * lib/argz_.h: Sync from Libtool.
74284
74285         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
74286                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74287
74288         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
74289
74290 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74291
74292         * modules/trim: New file.
74293
74294 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74295
74296         * lib/trim.h: New file.
74297         * lib/trim.c: New file.
74298
74299 2006-09-05  Bruno Haible  <bruno@clisp.org>
74300
74301         * MODULES.html.sh (String handling): Add trim.
74302
74303 2006-09-04  Karl Berry  <karl@gnu.org>
74304
74305         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
74306         until next release.
74307
74308 2006-09-03  Bruno Haible  <bruno@clisp.org>
74309
74310         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
74311         correctly.
74312
74313 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74314
74315         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
74316         not gl_GETLOADAVG.  Omit unneeded semicolons.
74317         Problems reported by Ralf Wildenhues in
74318         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74319         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
74320         at the end, which is the usual gnulib style.
74321
74322         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
74323         of doing all the work ourselves.
74324         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
74325         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
74326
74327 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74328
74329         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
74330         Problem reported by Ralf Wildenhues in
74331         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74332
74333         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
74334         HAVE_STRUCT_STATFS_F_FSTYPENAME.
74335
74336 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74337
74338         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
74339         yesterday's patch by changing test -n to test -z.
74340
74341 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74342
74343         * modules/getloadavg (Files): Add m4/getloadavg.m4.
74344         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
74345         the former is now obsolescent.
74346
74347         * modules/chdir-long (Depends-on): Add fcntl.
74348
74349 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74350
74351         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
74352         obsolescent, and programs should use gnulib instead.
74353         * m4/getloadavg.m4: New file, with contents taken from Autoconf
74354         but with prefixes changed.
74355
74356 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74357
74358         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
74359         or stdbool.h, because they might not exist while configuring.
74360
74361         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
74362         Don't include unistd.h or limits.h; not needed, since chdir-long.h
74363         does that for us.
74364         (O_DIRECTORY): Remove.
74365
74366 2006-08-31  Eric Blake  <ebb9@byu.net>
74367
74368         * gnulib-tool: Don't let emacs change spaces to TAB.
74369
74370 2006-08-31  Bruno Haible  <bruno@clisp.org>
74371
74372         * gnulib-tool: When calling func_import more than once, do it in a
74373         subshell.
74374         Reported by Eric Blake <ebb9@byu.net>.
74375
74376 2006-08-31  Bruno Haible  <bruno@clisp.org>
74377
74378         * gnulib-tool (nl): Remove variable.
74379         (sed_transform_lib_file): Use more robust test for config-h module.
74380         (func_import): Fix typo in 2006-08-25 patch.
74381
74382 2006-08-31  Bruno Haible  <bruno@clisp.org>
74383
74384         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
74385         specified, augment Makefile.am variables instead of assigning them.
74386
74387 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74388
74389         Work around a bug in both the Linux and SunOS 64-bit kernels:
74390         nanosleep mishandles sleeps for longer than 2**31 seconds.
74391         Problem reported by Frank v Waveren in
74392         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74393         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
74394         Check for nanosleep bug.
74395         (LIB_NANOSLEEP): Append clock_gettime library if needed.
74396
74397 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74398
74399         Work around a bug in both the Linux and SunOS 64-bit kernels:
74400         nanosleep mishandles sleeps for longer than 2**31 seconds.
74401         Problem reported by Frank v Waveren in
74402         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74403         * lib/nanosleep.c (BILLION): New constant.
74404         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
74405         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
74406         implementation.
74407
74408 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74409
74410         * modules/nanosleep (Depends-on): Add gettime.
74411
74412 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74413         and Simon Josefsson  <jas@extundo.com>
74414         and Oskar Liljeblad  <oskar@osk.mine.nu>
74415
74416         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
74417         * gnulib-tool (func_import): New license type 'unmodifiable license
74418         text'.
74419         * modules/fdl: Use it.  Longer description.
74420         * module/gpl, module/lgpl: New files.
74421
74422 2006-08-30  Jim Meyering  <jim@meyering.net>
74423
74424         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
74425         shadowing the parameter.
74426
74427 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74428
74429         Sync from Libtool:
74430
74431         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74432
74433         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
74434         sharing with gnulib.  Report by Eric Blake.
74435
74436 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74437
74438         * modules/isapipe: New file.
74439         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
74440
74441 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74442
74443         * modules/configmake (Makefile.am): Add a comment, and omit
74444         the CONFIGMAKE_ prefix from generated macro names.  Suggested
74445         by Bruno Haible.
74446
74447 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74448
74449         * m4/isapipe.m4: New file.
74450
74451 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74452
74453         * lib/isapipe.c, lib/isapipe.h: New files.
74454
74455 2006-08-29  Jim Meyering  <jim@meyering.net>
74456
74457         * modules/configmake (Makefile.am): Make configmake.h depend on
74458         Makefile.  Otherwise, a stale configmake.h could hang around.
74459
74460 2006-08-29  Eric Blake  <ebb9@byu.net>
74461
74462         * lib/error.c (error_at_line, print_errno_message): Match libc, after
74463         resolution of upstream bug 3044.
74464
74465 2006-08-29  Bruno Haible  <bruno@clisp.org>
74466
74467         * modules/localcharset (Depends-on): Add configmake.
74468         (Makefile.am): Remove setting of LIBDIR through DEFS.
74469
74470 2006-08-29  Bruno Haible  <bruno@clisp.org>
74471
74472         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
74473         defined.
74474
74475 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74476
74477         * modules/fcntl: New file.
74478         * modules/chdir-safer (Depends-on): Add fcntl.
74479         * modules/fts: Likewise.
74480         * modules/mkdir-p: Likewise.
74481
74482         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
74483         This undoes the most recent change, since we're now addressing the
74484         problem in a different way.
74485
74486         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
74487         into output, since the output might be called Makefile.am even
74488         if $makefile_name is something different.
74489         (func_import): Use $makefile_am rather than
74490         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
74491         empty.
74492
74493         * modules/inttypes (Files): Add m4/inttypes-h.m4.
74494
74495 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74496
74497         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
74498         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
74499         recent change to stdint.m4, since we're now addressing the problem in a
74500         different way.
74501
74502 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74503
74504         * m4/fcntl_h.m4: New file.
74505
74506 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74507
74508         * lib/fcntl_.h: New file.
74509         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
74510         the fcntl module.
74511         * lib/dirchownmod.c: Likewise.
74512         * lib/fts.c: Likewise.
74513
74514         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
74515         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
74516         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
74517         just before including <inttypes.h>, to avoid circular inclusion.
74518
74519 2006-08-28  Jim Meyering  <jim@meyering.net>
74520
74521         * doc/visibility.texi: Actually read and correct the grammar of the
74522         sentence affected by yesterday's change.
74523
74524 2006-08-28  Eric Blake  <ebb9@byu.net>
74525
74526         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
74527         needs wrapper.
74528
74529 2006-08-28  Eric Blake  <ebb9@byu.net>
74530
74531         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
74532
74533 2006-08-28  Eric Blake  <ebb9@byu.net>
74534
74535         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
74536
74537 2006-08-28  Bruno Haible  <bruno@clisp.org>
74538
74539         * modules/c-strstr: New file, from GNU gettext.
74540         * MODULES.html.sh (String handling): Add c-strstr.
74541
74542 2006-08-28  Bruno Haible  <bruno@clisp.org>
74543
74544         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
74545         macros.
74546         Reported by Eric Blake.
74547
74548 2006-08-28  Bruno Haible  <bruno@clisp.org>
74549
74550         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
74551         (VASNPRINTF): Return a string of length > INT_MAX without failing.
74552         * lib/vasprintf.c: Include errno.h, limits.h.
74553         (EOVERFLOW): New fallback definition.
74554         (vasprintf): Test here whether the string length is > INT_MAX.
74555         * lib/vsnprintf.c: Include errno.h, limits.h.
74556         (EOVERFLOW): New fallback definition.
74557         (vsnprintf): Fix bug when generated string was too long for the buffer.
74558         Test here whether the string length is > INT_MAX.
74559
74560 2006-08-28  Bruno Haible  <bruno@clisp.org>
74561
74562         * lib/inttypes_.h (SCNX*): Remove definitions.
74563         Reported by Eric Blake.
74564
74565 2006-08-28  Bruno Haible  <bruno@clisp.org>
74566
74567         * lib/c-strstr.h: New file, from GNU gettext.
74568         * lib/c-strstr.c: New file, from GNU gettext.
74569
74570 2006-08-28  Bruno Haible  <bruno@clisp.org>
74571
74572         * gnulib-tool: Reorder some statements.
74573
74574 2006-08-28  Bruno Haible  <bruno@clisp.org>
74575
74576         * gnulib-tool: New option --makefile-name.
74577         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
74578         $makefile_name.
74579         (func_import): Write $makefile_name to the cache file, and read it from
74580         there unless explicitly specified. Use $makefile_name as file name
74581         instead of Makefile.am. Adjust the recommendations accordingly.
74582
74583 2006-08-28  Bruno Haible  <bruno@clisp.org>
74584
74585         * gnulib-tool (func_verify_module): Check against misapplying patch.
74586
74587 2006-08-28  Bruno Haible  <bruno@clisp.org>
74588
74589         * gnulib-tool (func_relativize, func_relconcat): New functions.
74590         Give an error if --local-dir is given with --update.
74591         Remove trailing slashes from $local_gnulib_dir.
74592         (func_import): Store the relativized $local_gnulib_dir in
74593         gnulib-cache.m4, and read it from there if not specified explicitly.
74594
74595 2006-08-28  Bruno Haible  <bruno@clisp.org>
74596
74597         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
74598         is the current directory. Respect also $local_gnulib_dir.
74599
74600 2006-08-28  Bruno Haible  <bruno@clisp.org>
74601             Simon Josefsson  <jas@extundo.com>
74602
74603         BeOS portability.
74604         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
74605
74606 2006-08-27  Jim Meyering  <jim@meyering.net>
74607
74608         * doc/visibility.texi: Remove duplicate word: "pointer".
74609
74610 2006-08-26  Bruno Haible  <bruno@clisp.org>
74611
74612         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
74613         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
74614         (Makefile.am): Create inttypes.h from inttypes_.h.
74615         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
74616
74617         * modules/imaxabs: New file.
74618
74619         * modules/imaxdiv: New file.
74620
74621 2006-08-26  Bruno Haible  <bruno@clisp.org>
74622
74623         * m4/inttypes.m4: New file.
74624         * m4/_inttypes_h.m4: Remove file.
74625         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
74626         PRI_MACROS_BROKEN.
74627         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
74628
74629         * m4/imaxabs.m4: New file.
74630
74631         * m4/imaxdiv.m4: New file.
74632
74633 2006-08-26  Bruno Haible  <bruno@clisp.org>
74634
74635         * lib/inttypes_.h: New file.
74636         * lib/inttypes.h: Remove file.
74637         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
74638
74639         * lib/imaxabs.c: New file.
74640
74641         * lib/imaxdiv.c: New file.
74642
74643 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74644
74645         New config-h module, so that "make" output needn't be cluttered
74646         by -DHAVE_CONFIG_H.
74647         * MODULES.html.sh (Support for building libraries and executables):
74648         Add config-h.
74649         * modules/config-h: New file.
74650         * gnulib-tool (nl, sed_transform_lib_file): New vars.
74651         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
74652         the config-h module is used.
74653
74654         New configmake module, so that "make" output needn't be cluttered
74655         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
74656         * MODULES.html.sh (Support for building libraries and executables):
74657         Add configmake.
74658         * modules/configmake: New file.
74659
74660 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74661
74662         * m4/config-h.m4: New file.
74663
74664 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74665
74666         * config/srclist.txt: Add elisp-comp.
74667
74668 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74669
74670         * MODULES.html.sh (Support for building libraries and executables):
74671         Add elisp-comp.
74672         * build-aux/elisp-comp: New file.
74673         * modules/elisp-comp: New file.
74674
74675 2006-08-24  Bruno Haible  <bruno@clisp.org>
74676
74677         * gnulib-tool (func_create_testdir): Use non-default values of
74678         sourcebase and m4base.
74679
74680 2006-08-24  Bruno Haible  <bruno@clisp.org>
74681
74682         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
74683         HTML structure.
74684
74685 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74686
74687         * modules/openat (Depends-on): Add lchown.
74688
74689 2006-08-23  Bruno Haible  <bruno@clisp.org>
74690
74691         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
74692         of gl_LOCK_EARLY instead of gl_LOCK.
74693
74694 2006-08-23  Bruno Haible  <bruno@clisp.org>
74695
74696         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
74697         on OSF/1 to no.
74698         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
74699
74700 2006-08-23  Bruno Haible  <bruno@clisp.org>
74701
74702         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
74703         as unusable.
74704
74705         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
74706         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
74707         (gl_LOCK): New macro.
74708
74709 2006-08-22  Simon Josefsson  <jas@extundo.com>
74710
74711         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
74712         to md5 module.
74713
74714 2006-08-22  Simon Josefsson  <jas@extundo.com>
74715
74716         * MODULES.html.sh: Add "Support for maintaining and release
74717         projects".
74718
74719         * build-aux/gnupload: New file, from coreutils.
74720
74721 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74722
74723         Avoid the need for AC_LIBSOURCES in m4 macros.
74724         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
74725         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
74726         * modules/check-version (EXTRA_DIST): Add check-version.h.
74727         * modules/crc (EXTRA_DIST): Add crc.h.
74728         * modules/des (EXTRA_DIST): Add des.h.
74729         * modules/gc (EXTRA_DIST): Add gc.h.
74730         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
74731         * modules/getline (EXTRA_DIST): Add getline.h.
74732         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
74733         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
74734         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
74735         * modules/md2 (EXTRA_DIST): Add md2.h.
74736         * modules/md4 (EXTRA_DIST): Add md4.h.
74737         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
74738         * modules/read-file (EXTRA_DIST): Add read-file.h.
74739         * modules/readline (EXTRA_DIST): Add readline.h.
74740         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
74741         rijndael-api-fst.h.
74742
74743 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74744
74745         * m4/rijndael.m4 (gl_ARCFOUR):
74746         * m4/arctwo.m4 (gl_ARCTWO):
74747         * m4/check-version.m4 (gl_CHECK_VERSION):
74748         * m4/crc.m4 (gl_CRC):
74749         * m4/des.m4 (gl_DES):
74750         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
74751         * m4/gc.m4 (gl_GC):
74752         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
74753         * m4/getline.m4 (gl_FUNC_GETLINE):
74754         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
74755         * m4/hmac-md5.m4 (gl_HMAC_MD5):
74756         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
74757         * m4/md2.m4 (gl_MD2):
74758         * m4/md4.m4 (gl_MD4):
74759         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
74760         * m4/read-file.m4 (gl_FUNC_READ_FILE):
74761         * m4/readline.m4 (gl_FUNC_READLINE):
74762         * m4/rijndael.m4 (gl_RIJNDAEL):
74763         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74764         to get the necessary .h files and whatnot.
74765
74766 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74767
74768         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
74769         gnulib rather than the other way around.
74770         * config/srclistvars.sh (COREUTILS): Remove.
74771
74772 2006-08-22  Jim Meyering  <jim@meyering.net>
74773
74774         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
74775
74776         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
74777
74778 2006-08-22  Eric Blake  <ebb9@byu.net>
74779
74780         * modules/regexprops-generic: New file.
74781         * MODULES.html.sh (Support for building documentation): List it.
74782
74783 2006-08-22  Eric Blake  <ebb9@byu.net>
74784
74785         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
74786         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
74787         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
74788         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
74789
74790 2006-08-22  Bruno Haible  <bruno@clisp.org>
74791
74792         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
74793         and lib_LTLIBRARIES like the other lib_* variables.
74794
74795 2006-08-22  Bruno Haible  <bruno@clisp.org>
74796
74797         * build-aux/x-to-1.in: New file, from GNU gettext.
74798
74799 2006-08-22  Bruno Haible  <bruno@clisp.org>
74800
74801         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
74802         <utmpx.h> exists.
74803
74804 2006-08-22  Bruno Haible  <bruno@clisp.org>
74805
74806         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
74807         <utmpx.h> exists.
74808
74809 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74810
74811         BeOS portability.
74812         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
74813         exist.
74814         Problem reported by Bruno Haible.
74815
74816 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74817
74818         Avoid the need for AC_LIBSOURCES in m4 macros.
74819         * modules/acl (EXTRA_DIST): Add acl.h.
74820         * modules/argmatch (Files): Add m4/argmatch.m4.
74821         (configure.ac): Add gl_ARGMATCH.
74822         (EXTRA_DIST): Renamed from lib_SOURCES, for
74823         consistency with the other modules.  Remove argmatch.c.
74824         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
74825         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
74826         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
74827         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
74828         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
74829         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
74830         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
74831         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
74832         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
74833         * modules/closeout (EXTRA_DIST): Add closeout.h.
74834         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
74835         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
74836         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
74837         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
74838         dirname.h; remove basename.c and stripslash.c.
74839         * modules/exclude (EXTRA_DIST): Add exclude.h.
74840         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
74841         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
74842         * modules/file-type (EXTRA_DIST): Add file-type.h.
74843         * modules/filemode (EXTRA_DIST): Add filemode.h.
74844         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
74845         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74846         * modules/fpending (EXTRA_DIST): Add __fpending.h.
74847         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
74848         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
74849         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
74850         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
74851         * modules/getdate (EXTRA_DIST): Add getdate.c.
74852         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
74853         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
74854         * modules/getpass (EXTRA_DIST): Add getpass.h.
74855         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
74856         * modules/group-member (EXTRA_DIST): Add group-member.h.
74857         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
74858         * modules/hash (EXTRA_DIST): Add hash.h.
74859         * modules/human (EXTRA_DIST): Add human.h.
74860         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
74861         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
74862         * modules/lchown (EXTRA_DIST): Add lchown.h.
74863         * modules/long-options (EXTRA_DIST): Add long-options.h.
74864         * modules/lstat (EXTRA_DIST): Add lstat.h.
74865         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
74866         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
74867         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
74868         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
74869         * modules/memxor (EXTRA_DIST): Add memxor.h.
74870         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
74871         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
74872         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
74873         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
74874         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
74875         * modules/physmem (EXTRA_DIST): Add physmem.h.
74876         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
74877         * modules/posixver (EXTRA_DIST): Add posixver.h.
74878         * modules/quote (EXTRA_DIST): Add quote.h.
74879         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
74880         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
74881         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
74882         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
74883         regex_internal.h regexec.c.
74884         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
74885         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
74886         * modules/same (EXTRA_DIST): Add same.h.
74887         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
74888         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
74889         * modules/savedir (EXTRA_DIST): Add savedir.h.
74890         * modules/sha1 (EXTRA_DIST): Add sha1.h.
74891         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
74892         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
74893         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
74894         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
74895         * modules/strdup (EXTRA_DIST): Add strdup.h.
74896         * modules/strftime (EXTRA_DIST): Add strftime.h.
74897         * modules/strndup (EXTRA_DIST): Add strndup.h.
74898         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
74899         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
74900         * modules/time_r (EXTRA_DIST): Add time_r.h.
74901         * modules/timespec (EXTRA_DIST): Add timespec.h.
74902         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74903         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
74904         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
74905         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
74906         * modules/userspec (EXTRA_DIST): Add userspec.h.
74907         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
74908         * modules/utimens (EXTRA_DIST): Add utimens.h.
74909         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
74910         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
74911         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
74912         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
74913         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
74914         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
74915         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
74916         * modules/yesno (EXTRA_DIST): Add yesno.h.
74917
74918 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74919
74920         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
74921
74922         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
74923         * m4/dev-ino.m4, same-inode.m4: Remove.
74924
74925         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
74926         * m4/acl.m4 (AC_FUNC_ACL):
74927         * m4/backupfile.m4 (gl_BACKUPFILE):
74928         * m4/c-strtod.m4 (gl_C99_STRTOLD):
74929         * m4/canon-host.m4 (gl_CANON_HOST):
74930         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
74931         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
74932         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
74933         * m4/cloexec.m4 (gl_CLOEXEC):
74934         * m4/close-stream.m4 (gl_CLOSE_STREAM):
74935         * m4/closeout.m4 (gl_CLOSEOUT):
74936         * m4/dirfd.m4 (gl_FUNC_DIRFD):
74937         * m4/dirname.m4 (gl_DIRNAME):
74938         * m4/exclude.m4 (gl_EXCLUDE):
74939         * m4/exitfail.m4 (gl_EXITFAIL):
74940         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
74941         * m4/file-type.m4 (gl_FILE_TYPE):
74942         * m4/filemode.m4 (gl_FILEMODE):
74943         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
74944         * m4/fpending.m4 (gl_FUNC_FPENDING):
74945         * m4/fprintftime.m4 (gl_FPRINTFTIME):
74946         * m4/fts.m4 (gl_FUNC_FTS):
74947         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
74948         * m4/getdate.m4 (gl_GETDATE):
74949         * m4/gethrxtime.m4 (gl_GETHRXTIME):
74950         * m4/getpagesize.m4 (gl_GETPAGESIZE):
74951         * m4/getpass.m4 (gl_FUNC_GETPASS):
74952         * m4/gettime.m4 (gl_GETTIME):
74953         * m4/getugroups.m4 (gl_GETUGROUPS):
74954         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
74955         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
74956         * m4/hard-locale.m4 (gl_HARD_LOCALE):
74957         * m4/hash.m4 (gl_HASH):
74958         * m4/idcache.m4 (gl_IDCACHE):
74959         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
74960         * m4/lchown.m4 (gl_FUNC_LCHOWN):
74961         * m4/long-options.m4 (gl_LONG_OPTIONS):
74962         * m4/lstat.m4 (gl_FUNC_LSTAT):
74963         * m4/md5.m4 (gl_MD5):
74964         * m4/memcasecmp.m4 (gl_MEMCASECMP):
74965         * m4/memcoll.m4 (gl_MEMCOLL):
74966         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
74967         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
74968         * m4/memxor.m4 (gl_MEMXOR):
74969         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
74970         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
74971         * m4/modechange.m4 (gl_MODECHANGE):
74972         * m4/mountlist.m4 (gl_MOUNTLIST):
74973         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74974         * m4/openat.m4 (gl_FUNC_OPENAT):
74975         * m4/pathmax.m4 (gl_PATHMAX):
74976         * m4/physmem.m4 (gl_PHYSMEM):
74977         * m4/posixtm.m4 (gl_POSIXTM):
74978         * m4/posixver.m4 (gl_POSIXVER):
74979         * m4/quote.m4 (gl_QUOTE):
74980         * m4/quotearg.m4 (gl_QUOTEARG):
74981         * m4/readtokens.m4 (gl_READTOKENS):
74982         * m4/readutmp.m4 (gl_READUTMP):
74983         * m4/regex.m4 (gl_REGEX):
74984         * m4/safe-read.m4 (gl_SAFE_READ):
74985         * m4/safe-write.m4 (gl_SAFE_WRITE):
74986         * m4/same.m4 (gl_SAME):
74987         * m4/save-cwd.m4 (gl_SAVE_CWD):
74988         * m4/savedir.m4 (gl_SAVEDIR):
74989         * m4/settime.m4 (gl_SETTIME):
74990         * m4/sha1.m4 (gl_SHA1):
74991         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
74992         * m4/stat-macros.m4 (gl_STAT_MACROS):
74993         * m4/stat-time.m4 (gl_STAT_TIME):
74994         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
74995         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
74996         * m4/strdup.m4 (gl_FUNC_STRDUP):
74997         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
74998         * m4/strndup.m4 (gl_FUNC_STRNDUP):
74999         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75000         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75001         * m4/time_r.m4 (gl_TIME_R):
75002         * m4/timespec.m4 (gl_TIMESPEC):
75003         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75004         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75005         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75006         * m4/userspec.m4 (gl_USERSPEC):
75007         * m4/utimecmp.m4 (gl_UTIMECMP):
75008         * m4/utimens.m4 (gl_UTIMENS):
75009         * m4/xalloc.m4 (gl_XALLOC):
75010         * m4/xgetcwd.m4 (gl_XGETCWD):
75011         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75012         * m4/xreadlink.m4 (gl_XREADLINK):
75013         * m4/xstrtod.m4 (gl_XSTRTOD):
75014         * m4/yesno.m4 (gl_YESNO):
75015         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75016         to get the necessary .h files and whatnot.
75017
75018 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75019             Bruno Haible  <bruno@clisp.org>
75020
75021         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75022         /bin/sh understanding of '!' conditional negation.
75023
75024 2006-08-21  Jim Meyering  <jim@meyering.net>
75025
75026         * modules/openat (Depends-on): Really alphabetize.
75027
75028         * modules/acl (Depends-on): Add error and quote.
75029
75030         * check-module (find_included_lib_files): Add at-func.c to the
75031         ok-to-include-more-than-once white list.
75032
75033         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75034
75035 2006-08-21  Bruno Haible  <bruno@clisp.org>
75036
75037         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75038         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75039         Reported by Martin Lambers <marlam@marlam.de>.
75040
75041 2006-08-21  Bruno Haible  <bruno@clisp.org>
75042
75043         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75044         specify an installation location, don't emit a noinst_LIBRARIES or
75045         noinst_LTLIBRARIES assignment.
75046
75047 2006-08-21  Bruno Haible  <bruno@clisp.org>
75048
75049         BeOS portability.
75050         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75051         BeOS has mbrtowc() but no <wctype.h>.
75052
75053 2006-08-21  Bruno Haible  <bruno@clisp.org>
75054
75055         BeOS portability.
75056         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75057         exist.
75058
75059 2006-08-21  Bruno Haible  <bruno@clisp.org>
75060
75061         BeOS portability.
75062         * lib/mbchar.h: Include <wctype.h> only if it exists.
75063
75064 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75065
75066         Remove files that are no longer needed by their respective modules.
75067         * m4/obstack.m4: Remove.
75068         * m4/strerror_r.m4: Remove.
75069         * m4/uint32_t.m4: Remove.
75070         * m4/uintptr_t.m4: Remove.
75071         * m4/ullong_max.m4: Remove.
75072         * m4/xstrtoimax.m4: Remove.
75073         * m4/xstrtoumax.m4: Remove.
75074
75075         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75076         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75077         dependencies now capture this.
75078
75079         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75080         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75081         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75082         * m4/human.m4 (gl_HUMAN): Likewise.
75083         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75084         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75085
75086         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75087
75088         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75089         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75090         stdint.
75091         * m4/human.m4 (gl_HUMAN): Likewise.
75092         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75093         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
75094         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75095         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75096         * m4/xstrtol (gl_XSTRTOL): Likewise.
75097
75098         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
75099         AC_TYPE_LONG_LONG_INT.
75100         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75101         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
75102         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
75103         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75104
75105         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
75106         on stdbool.
75107
75108         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
75109         (gl_PREREQ_XSTRTOUL): Remove.
75110
75111         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
75112
75113         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
75114         mode.
75115
75116 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75117
75118         Add and change modules to make it easier for coreutils to use
75119         gnulib-tool.
75120         * modules/backupfile (Files): Remove m4/d-ino.m4.
75121         (Depends-on): Add d-ino.
75122         * modules/cycle-check (Depends-on): Add stdint.
75123         (lib_SOURCES): Add cycle-check.h.
75124         * modules/d-ino: New module.
75125         * modules/d-type: New module.
75126         * modules/error (Files): Remove m4/strerror_r.m4.
75127         * modules/filemode (Files): Add m4/st_dm_mode.m4.
75128         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75129         m4/inttypes_h.m4, m4/uintmax_t.m4.
75130         (Depends-on): Add stdint.
75131         (lib_SOURCES): Add fsusage.h.
75132         * modules/getcwd (Files): Remove d-ino.m4.
75133         (Depends-on): Add d-ino.
75134         * modules/getndelim2 (Depends-on): Add stdint.
75135         * modules/glob (Files): Remove m4/d-type.m4.
75136         (Depends-on): Add d-type.
75137         * modules/host-os: New module.
75138         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
75139         m4/inttypes_h.m4, m4/uintmax_t.m4.
75140         * Depends-on: Add stdint.
75141         (lib_SOURCES): Add human.h.
75142         * modules/inttostr (Files): Remove m4/intmax_t.m4,
75143         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
75144         m4/uintmax_t.m4, m4/ulonglong.m4.
75145         (Depends-on): Add stdint.
75146         (EXTRA_DIST): Add inttostr.h.
75147         * modules/lchmod: New module.
75148         * modules/link-follow: New module.
75149         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
75150         (Depends-on): Add lchmod.
75151         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
75152         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
75153         (Depends-on): Add stdint.
75154         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
75155         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
75156         (Depends-on): Add stdint.
75157         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
75158         * modules/perl: New module.
75159         * modules/regex (Depends-on): Add stdint.
75160         * modules/rmdir-errno: New module.
75161         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75162         m4/intmax_t.m4.
75163         (Depends-on): Add stdint.
75164         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75165         m4/uintmax_t.m4.
75166         (Depends-on): Add stdint.
75167         * modules/unlink-busy: New module.
75168         * modules/utimecmp (Depends-on): Add stdint.
75169         * modules/uptime: New module.
75170         * modules/winsz-ioctl: New module.
75171         * modules/winsz-termios: New module.
75172         * modules/xnanosleep (Depends-on): Add nanosleep.
75173         * modules/ullong_max: Remove.
75174         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
75175         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
75176         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
75177         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
75178         (Depends-on): Add inttypes.
75179         (lib_SOURCES): Add xstrtol.h.
75180         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
75181         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
75182         * MODULES.html.sh: Move 'assert' into the assert section.
75183         Move 'dummy' into the linking section.
75184         Remove ullong_max.
75185         Add section for compatibility checks for POSIX:2001 functions,
75186         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
75187         winsz-ioctl, and winsz-termios into it.
75188         Add lchmod.
75189         Add top-level Misc section and put host-os, perl, and uptime
75190         into it.
75191
75192 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75193
75194         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
75195         now assume the stdint module.  Do not include inttypes.h.
75196         * lib/fsusage.h: Likewise.
75197         * lib/getndelim2.c: Likewise.
75198         * lib/human.h: Likewise.
75199         * lib/inttostr.h: Likewise.
75200         * lib/obstack.c: Likewise.
75201         * lib/regex_internal.h: Likewise.
75202         * lib/tempname.c: Likewise.
75203         * lib/utimecmp.c: Likewise.
75204         * lib/xstrtol.h: Likewise.
75205
75206         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
75207
75208         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
75209         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
75210         * lib/xtime.h: Likewise.
75211
75212 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75213
75214         * modules/openat (Files): Add lib/fchmodat.c.
75215         Fixes problem reported by Jay Youngman.
75216
75217 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75218
75219         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
75220         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
75221
75222 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
75223             Bruno Haible  <bruno@clisp.org>
75224
75225         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
75226         and is a script that invokes bison. Tighten the code. Add comments.
75227
75228 2006-08-18  Jim Meyering  <jim@meyering.net>
75229
75230         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
75231         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
75232         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
75233         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
75234
75235 2006-08-18  Bruno Haible  <bruno@clisp.org>
75236
75237         * modules/bison-i18n: New file.
75238         * MODULES.html.sh (Internationalization functions): Add it.
75239
75240 2006-08-18  Bruno Haible  <bruno@clisp.org>
75241
75242         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
75243         sys/statvfs.h. When getmntinfo was found, check its declaration and
75244         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
75245
75246 2006-08-18  Bruno Haible  <bruno@clisp.org>
75247
75248         * m4/bison-i18n.m4: New file, from bison.
75249
75250 2006-08-18  Bruno Haible  <bruno@clisp.org>
75251
75252         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
75253         (ME_DUMMY): Treat "kernfs" as a dummy.
75254         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
75255
75256 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75257
75258         Update from coreutils.
75259
75260         2006-08-15  Jim Meyering  <jim@meyering.net>
75261
75262         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
75263
75264         2006-01-17  Jim Meyering  <jim@meyering.net>
75265
75266         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
75267
75268         2006-01-11  Jim Meyering  <jim@meyering.net>
75269
75270         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
75271         Check for the lchmod function.
75272
75273 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75274
75275         Update from coreutils.
75276
75277         * lib/__fpending.h: Add copyright notice.
75278         * lib/fprintftime.h: Likewise.
75279         * lib/savedir.c: Use (C) in copyright notice.
75280         * lib/savedir.h: Likewise.
75281
75282         2006-08-15  Jim Meyering  <jim@meyering.net>
75283
75284         * lib/at-func.c: New file, with the logic of all emulated at-functions.
75285         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
75286         in support of the EXPECTED_ERRNO macro.
75287         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
75288         definitions.  Instead, define the appropriate symbols and include
75289         "at-func.c".
75290         * lib/mkdirat.c (mkdirat): Likewise.
75291         * lib/fchmodat.c (fchmodat): Likewise.
75292         (ENOSYS): Remove definition.
75293         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
75294         it.  Don't include "unistd--.h" -- it wasn't ever used.
75295
75296         2006-01-17  Jim Meyering  <jim@meyering.net>
75297
75298         Rewrite fts.c not to change the current working directory,
75299         by using openat, fstatat, fdopendir, etc..
75300
75301         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
75302         (HAVE_OPENAT_SUPPORT): Define.
75303         [_LIBC] (fchdir): Don't undef or define; no longer used.
75304         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
75305         Now, this `function' always succeeds, and consumes its file descriptor
75306         parameter -- so callers must not close such FDs.  Update callers.
75307         (diropen_fd, opendirat, cwd_advance_fd): New functions.
75308         (diropen): Add parameter, SP.  Adjust all callers.
75309         Implement using diropen_fd, rather than open.
75310         (fts_open): Initialize new member, fts_cwd_fd.
75311         Remove fts_rft-setting code.
75312         (fts_close): Close fts_cwd_fd, if necessary.
75313         (__opendir2): Define in terms of opendir or opendirat,
75314         depending on whether the FST_NOCHDIR flag is set.
75315         (fts_build): Since fts_safe_changedir consumes its FD, and since
75316         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
75317         and close the dup'd file descriptor upon failure.
75318         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
75319         (fts_safe_changedir): Tweak semantics to reflect that this function
75320         now calls cwd_advance_fd and hence consumes its FD argument.
75321         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
75322         [struct FTS] (fts_rft): Remove now-unused member.
75323         [struct FTS] (fts_cycle.state): Improve comment.
75324
75325         * lib/openat.c (openat_needs_fchdir): New function.
75326         * lib/openat.h (openat_needs_fchdir): Declare it.
75327
75328 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75329
75330         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
75331         Problem and fix reported by Pádraig Brady in
75332         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
75333
75334 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75335
75336         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
75337
75338 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75339
75340         * lib/memcoll.c (memcoll): Optimize for the common case where the
75341         arguments are bytewise equal.
75342
75343 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75344
75345         * doc/regexprops-generic.texi: Add a copyright notice.
75346
75347 2006-08-15  Bruno Haible  <bruno@clisp.org>
75348
75349         * modules/tmpdir (License): Change to LGPL.
75350
75351 2006-08-15  Bruno Haible  <bruno@clisp.org>
75352
75353         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
75354         module.
75355
75356 2006-08-14  Simon Josefsson  <jas@extundo.com>
75357
75358         * config/srclist.txt: Add gnupload.
75359
75360 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75361
75362         Change copyright notice from LGPL 2 to GPL 2, since that's the
75363         standard form used in the gnulib repository.
75364         * tests/test-lock.c: Likewise.
75365         * tests/test-stdint.c: Likewise.
75366         * tests/test-tls.c: Likewise.
75367
75368         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
75369         prelude-manager.  User shorter URLs for GNU projects, without '?'.
75370         Add copyright notice.
75371
75372         * check-module: Add copyright notice.  Output a copyright
75373         notice if "--version" is specified.
75374         * modules/COPYING: New file.
75375         * tests/test-getaddrinfo.c: Add copyright notice.
75376         * tests/test-verify.c: Likewise.
75377
75378 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75379
75380         Change copyright notice from LGPL 2 to GPL 2, since that's the
75381         standard form used in the gnulib repository.
75382         * lib/lock.c: LGPL -> GPL.
75383         * lib/lock.h: Likewise.
75384         * lib/strnlen1.c: Likewise.
75385         * lib/strnlen1.h: Likewise.
75386         * lib/tls.c: Likewise.
75387         * lib/tls.h: Likewise.
75388         * lib/tmpdir.c: Likewise.
75389
75390         * lib/TODO: Remove; this belongs only in coreutils.
75391
75392 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75393
75394         Add copyright notices to long-enough files that lack them, since
75395         otherwise the files aren't clearly free.  Use the same notice that
75396         getdate.texi already uses.
75397         * doc/alloca-opt.texi: Add copyright notice.
75398         * doc/alloca.texi: Likewise.
75399         * doc/ctime.texi: Likewise.
75400         * doc/functions.texi: Likewise.
75401         * doc/gcd.texi: Likewise.
75402         * doc/gnulib-tool.texi: Likewise.
75403         * doc/inet_ntoa.texi: Likewise.
75404         * doc/visibility.texi: Likewise.
75405
75406         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
75407         * doc/quote.texi: Add copyright notice.
75408
75409         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
75410         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
75411         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
75412         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
75413         is now obsolete, and give a pointer to the Sun list.
75414         Add copyright notice.
75415
75416 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75417
75418         * config/srclistvars.sh: Add copyright notice.
75419
75420 2006-08-14  Eric Blake  <ebb9@byu.net>
75421
75422         Import the following change from libc:
75423
75424         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
75425
75426         Upstream bug 2997.
75427         * lib/misc/error.c: Add space between program name and message if file
75428         name is missing.
75429
75430 2006-08-12  Karl Berry  <karl@gnu.org>
75431
75432         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
75433         remove, these originate in gnulib now.
75434
75435 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75436
75437         * doc/Makefile (standards.info standards.html standards.dvi):
75438         Also depend on make-stds.texi.
75439
75440 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75441
75442         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
75443         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
75444
75445         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
75446         in wchar_t.  Problem reported by Eric Blake.
75447
75448         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
75449         LEN is smaller than SIZE.  Suggested by Bruno Haible.
75450         Also, help the compiler to keep LEN in a register.
75451
75452 2006-08-11  Eric Blake  <ebb9@byu.net>
75453
75454         * users.txt: Sort.  Add tar.
75455
75456 2006-08-11  Bruno Haible  <bruno@clisp.org>
75457
75458         * users.txt: New file.
75459
75460 2006-08-11  Bruno Haible  <bruno@clisp.org>
75461
75462         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
75463         before <wchar.h>. Needed for OSF/1 and BSD/OS.
75464
75465 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75466
75467         * modules/snprintf (Depends-on): Remove minmax.
75468         (Maintainer): Add self and Bruno.
75469
75470 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75471
75472         * lib/.cppi-disable: Add snprintf.h, socket_.h.
75473         * lib/snprintf.c: Include <errno.h> and <limits.h>.
75474         (EOVERFLOW): Define if the system does not.
75475         Do not include "minmax.h"; it wasn't used.
75476         (snprintf): Don't assume size_t promotes to an unsigned type.
75477         Fix bug when generated string was too long for the buffer: the
75478         buffer's contents are supposed to be the initial prefix of the
75479         output.  Don't assume vasnprintf returns EOVERFLOW if the size
75480         exceeds INT_MAX; do the check ourselves.
75481
75482         Import the following changes from libc:
75483
75484         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
75485
75486         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
75487         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
75488         set wc to the byte which couldn't be converted.
75489         (re_string_reconstruct): Don't clear valid_raw_len before calling
75490         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
75491         tip_context using re_string_context_at.
75492
75493         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
75494
75495         * lib/posix/regex.h: g++ still cannot handled [restrict].
75496
75497         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
75498
75499         * lib/posix/regex.h: Remove special handling for VMS.
75500
75501 2006-08-10  Jim Meyering  <jim@meyering.net>
75502
75503         * modules/same-inode: New module.
75504         * modules/dev-ino: New module.
75505         * modules/cycle-check: Depend on these modules, rather than simply
75506         including their .h files.
75507         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
75508         required via m4/cycle-check.m4.
75509         * modules/same: Depend on new same-inode module, rather than
75510         including same-inode.h.
75511         * modules/chdir-safer: New file.
75512
75513         * modules/chown (Depends-on): Add stat-macros.
75514
75515 2006-08-10  Jim Meyering  <jim@meyering.net>
75516
75517         * m4/cycle-check.m4: New file.
75518         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
75519         * m4/dev-ino.m4, m4/same-inode.m4: New files.
75520
75521 2006-08-10  Eric Blake  <ebb9@byu.net>
75522
75523         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
75524         in from original proposal.
75525
75526 2006-08-10  Eric Blake  <ebb9@byu.net>
75527         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75528
75529         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
75530         namespace.
75531
75532 2006-08-10  Bruno Haible  <bruno@clisp.org>
75533
75534         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
75535         as well.
75536
75537 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75538
75539         Sync from coreutils.
75540
75541         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
75542
75543         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
75544         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
75545
75546 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75547
75548         * modules/restrict: Remove; no longer needed now that we assume
75549         Autoconf 2.59 or later.
75550         * MODULES.html.sh: Remove 'restrict'.
75551         * modules/argp (Depends-on): Remove 'restrict'.
75552         * modules/base64 (Depends-on): Likewise.
75553         * modules/gc (Depends-on): Likewise.
75554         * modules/getaddrinfo (Depends-on): Likewise.
75555         * modules/glob (Depends-on): Likewise.
75556         * modules/inet_ntop (Depends-on): Likewise.
75557         * modules/inet_pton (Depends-on): Likewise.
75558         * modules/memxor (Depends-on): Likewise.
75559         * modules/regex (Depends-on): Likewise.
75560         * modules/strtok_r (Depends-on): Likewise.
75561         * modules/time_r (Depends-on): Likewise.
75562
75563 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75564
75565         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
75566         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
75567         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75568         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
75569         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
75570         * m4/memxor.m4 (gl_MEMXOR): Likewise.
75571         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
75572         gl_C_RESTRICT replaced by AC_C_RESTRICT.
75573
75574         Merge from coreutils.
75575         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
75576         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
75577         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
75578         * m4/time_r.m4 (gl_TIME_R): Likewise.
75579
75580 2006-08-09  Karl Berry  <karl@gnu.org>
75581
75582         * config/srclist.txt: no more gettext-tools, per Bruno.
75583
75584 2006-08-08  Eric Blake  <ebb9@byu.net>
75585
75586         * modules/verror: New module.
75587         * MODULES.html.sh: Document it.
75588
75589 2006-08-08  Eric Blake  <ebb9@byu.net>
75590
75591         * lib/verror.h, lib/verror.c: New files.
75592
75593 2006-08-08  Eric Blake  <ebb9@byu.net>
75594
75595         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
75596         verror_at_line output complies with GNU Coding Standards even when
75597         file is NULL.
75598
75599 2006-08-07  Bruno Haible  <bruno@clisp.org>
75600
75601         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
75602         versions of AIX.
75603         Reported by Ralf Wildenhues.
75604
75605 2006-08-07  Bruno Haible  <bruno@clisp.org>
75606
75607         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
75608         in an AC_DEFUN. Needed so that the autoconf snippets can use
75609         AC_REQUIRE.
75610
75611 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75612
75613         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75614         Initialize pkgdata_DATA.
75615         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
75616         overriding it.
75617
75618 2006-08-06  Eric Blake  <ebb9@byu.net>
75619
75620         * lib/error.h: Fold in some upstream changes from glibc.
75621         * lib/error.c: Likewise.
75622
75623 2006-08-04  Bruno Haible  <bruno@clisp.org>
75624
75625         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75626         Make the mostlyclean-local rule depend on mostlyclean-generic.
75627         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
75628
75629 2006-07-31  Bruno Haible  <bruno@clisp.org>
75630
75631         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
75632         <stdlib.h>, <string.h>.
75633
75634 2006-07-30  Bruno Haible  <bruno@clisp.org>
75635
75636         * modules/readlink (License): Change to LGPL.
75637
75638 2006-07-30  Bruno Haible  <bruno@clisp.org>
75639
75640         * modules/javaversion (Makefile.am): Distribute javaversion.java and
75641         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
75642         set PKGDATADIR to point to it.
75643
75644 2006-07-30  Bruno Haible  <bruno@clisp.org>
75645
75646         * modules/csharpexec (configure.ac): Comment out macro invocation.
75647         * modules/javaexec (configure.ac): Likewise.
75648         * modules/javacomp-script (configure.ac): Likewise.
75649
75650         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
75651
75652 2006-07-30  Bruno Haible  <bruno@clisp.org>
75653
75654         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
75655         linked-list.
75656
75657 2006-07-30  Bruno Haible  <bruno@clisp.org>
75658
75659         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
75660
75661 2006-07-30  Bruno Haible  <bruno@clisp.org>
75662
75663         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75664         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
75665         get removed.
75666
75667 2006-07-29  Bruno Haible  <bruno@clisp.org>
75668
75669         Make it possible for gnulib-tool to work with locally modified or
75670         augmented gnulib repositories.
75671         * gnulib-tool (func_usage): Document --local-dir option.
75672         (local_gnulib_dir): New variable.
75673         Handle --local-dir option.
75674         (func_lookup_file): New function.
75675         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
75676         (func_get_description, func_get_filelist, func_get_description,
75677         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
75678         func_get_automake_snippet, func_get_include_directive,
75679         func_get_license, func_get_maintainer): Use func_lookup_file.
75680         (func_import, func_create_testdir): Use func_lookup_file.
75681
75682 2006-07-29  Bruno Haible  <bruno@clisp.org>
75683
75684         * modules/setenv (Depends-on): Add unistd.
75685
75686 2006-07-29  Bruno Haible  <bruno@clisp.org>
75687
75688         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
75689
75690 2006-07-29  Bruno Haible  <bruno@clisp.org>
75691
75692         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
75693
75694 2006-07-29  Bruno Haible  <bruno@clisp.org>
75695
75696         * gnulib-tool (import, update): If there is no Makefile.am, look at
75697         aclocal.m4, instead of bailing out.
75698
75699 2006-07-29  Bruno Haible  <bruno@clisp.org>
75700
75701         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
75702         Categorize the options by when they are useful.
75703
75704 2006-07-29  Bruno Haible  <bruno@clisp.org>
75705
75706         * gnulib-tool (func_usage): Document option --no-libtool.
75707         Handle option --no-libtool.
75708         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
75709         for changed semantics of $libtool variable.
75710         (func_import): Likewise. If libtool is not used, show this through
75711         an option --no-libtool.
75712         (func_create_testdir): Update.
75713
75714 2006-07-29  Bruno Haible  <bruno@clisp.org>
75715
75716         * gnulib-tool (func_import): Extend error message about missing
75717         --doc-base.
75718
75719 2006-07-29  Bruno Haible  <bruno@clisp.org>
75720
75721         * gnulib-tool (func_import): Don't create the $docbase directory if
75722         there is no file to store there.
75723
75724 2006-07-29  Bruno Haible  <bruno@clisp.org>
75725
75726         * gnulib-tool (autoconf_minversion): If a --dir option is given and
75727         relevant, look for configure.ac there, not in the current directory.
75728         Also use a simple search for AC_PREREQ, not "autoconf --trace".
75729
75730 2006-07-29  Bruno Haible  <bruno@clisp.org>
75731
75732         * gnulib-tool (SORT): New variable.
75733         (func_usage): Undocument --assume-autoconf option.
75734         Remove --assume-autoconf option handling.
75735         (autoconf_minversion): Determine from the contents of configure.ac.
75736         (func_import): Remove autoconf_minversion handling.
75737         Suggested by Eric Blake.
75738
75739 2006-07-29  Bruno Haible  <bruno@clisp.org>
75740
75741         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
75742
75743 2006-07-29  Bruno Haible  <bruno@clisp.org>
75744
75745         * config/srclist.txt (*setenv.[ch]): Remove rules.
75746
75747 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75748
75749         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
75750
75751 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75752
75753         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
75754         arpa/inet.h.
75755
75756 2006-07-28  Simon Josefsson  <jas@extundo.com>
75757
75758         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
75759         * modules/inet_pton (Depends-on): Likewise.
75760
75761 2006-07-28  Simon Josefsson  <jas@extundo.com>
75762
75763         * m4/netinet_in_h.m4: New file.
75764
75765 2006-07-28  Simon Josefsson  <jas@extundo.com>
75766
75767         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
75768         #include's.
75769
75770 2006-07-28  Simon Josefsson  <jas@extundo.com>
75771
75772         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
75773         #include's.
75774
75775 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
75776
75777         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
75778         setgid on directories only if they set these bits.
75779         * lib/modechange.h: Remove obsolete comment about masks.
75780
75781 2006-07-28  Eric Blake  <ebb9@byu.net>
75782
75783         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
75784         macro expansion.
75785
75786 2006-07-28  Bruno Haible  <bruno@clisp.org>
75787
75788         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
75789
75790 2006-07-28  Bruno Haible  <bruno@clisp.org>
75791
75792         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
75793
75794 2006-07-28  Bruno Haible  <bruno@clisp.org>
75795
75796         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
75797         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
75798         Define fallbacks.
75799         Avoids link error on FreeBSD 4.x.
75800         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75801
75802         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
75803         encoding.
75804         * lib/mbswidth.c (iswcntrl): Likewise.
75805
75806 2006-07-27  Bruno Haible  <bruno@clisp.org>
75807
75808         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
75809         test.
75810
75811 2006-07-27  Bruno Haible  <bruno@clisp.org>
75812
75813         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
75814         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
75815         defined.
75816
75817 2006-07-26  Eric Blake  <ebb9@byu.net>
75818
75819         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
75820
75821 2006-07-26  Eric Blake  <ebb9@byu.net>
75822
75823         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
75824         like mingw that lack mkstemp.
75825         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
75826         avoid compilation warning on mingw.
75827
75828 2006-07-26  Bruno Haible  <bruno@clisp.org>
75829
75830         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
75831         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
75832         INT_FAST*_MIN, INTPTR_MIN.
75833
75834 2006-07-25  Bruno Haible  <bruno@clisp.org>
75835
75836         * modules/version-etc (Depends-on): Add stdarg.
75837
75838 2006-07-25  Bruno Haible  <bruno@clisp.org>
75839
75840         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
75841         complex commands.
75842
75843 2006-07-25  Bruno Haible  <bruno@clisp.org>
75844
75845         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
75846         defined in <stdarg.h> or config.h.
75847
75848 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75849
75850         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
75851         (gl_STDIO_SAFER): Remove.
75852
75853 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75854
75855         * MODULES.html.sh (File stream based Input/Output):
75856         Add fopen-safer, tmpfile-safer; remove stdio-safer.
75857         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
75858         * modules/fopen-safer, modules/tmpfile-safer: New files.
75859         * modules/stdio-safer: Remove.
75860
75861 2006-07-24  Bruno Haible  <bruno@clisp.org>
75862
75863         * modules/tmpdir: New file.
75864         * MODULES.html.sh (File system functions): Add it.
75865
75866 2006-07-24  Bruno Haible  <bruno@clisp.org>
75867
75868         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
75869         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
75870
75871 2006-07-24  Bruno Haible  <bruno@clisp.org>
75872
75873         * modules/clean-temp: New file.
75874
75875 2006-07-24  Bruno Haible  <bruno@clisp.org>
75876
75877         * m4/tmpdir.m4: New file, from GNU gettext.
75878
75879 2006-07-24  Bruno Haible  <bruno@clisp.org>
75880
75881         * lib/tmpdir.h: New file, from GNU gettext.
75882         * lib/tmpdir.c: New file, from GNU gettext.
75883
75884 2006-07-24  Bruno Haible  <bruno@clisp.org>
75885
75886         * lib/clean-temp.h: New file, from GNU gettext.
75887         * lib/clean-temp.c: New file, from GNU gettext.
75888
75889 2006-07-23  Eric Blake  <ebb9@byu.net>
75890
75891         * modules/stdio-safer (Files): Add tmpfile-safer.c.
75892         (Depends-on): Add binary-io.
75893
75894 2006-07-23  Eric Blake  <ebb9@byu.net>
75895
75896         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
75897
75898 2006-07-23  Eric Blake  <ebb9@byu.net>
75899
75900         * lib/tmpfile-safer.c: New file.
75901         * lib/stdio-safer.h (fopen_safer): Add prototype.
75902         * lib/stdio--.h (tmpfile): Make safer.
75903
75904 2006-07-23  Bruno Haible  <bruno@clisp.org>
75905
75906         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
75907         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
75908         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
75909         gl_linked_remove_at): Use it.
75910
75911 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75912         and Simon Josefsson <jas@extundo.com>
75913
75914         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
75915
75916         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
75917
75918 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75919
75920         * modules/close-stream: New file.
75921         * modules/closeout (Description): Make it clear that it exits
75922         with a diagnostic on error.
75923         (Depends-on): Add close-stream.  Remove fpending, stdbool.
75924         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
75925
75926 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75927
75928         * m4/close-stream.m4: New file.
75929
75930 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         * lib/close-stream.c, lib/close-stream.h: New files.
75933
75934 2006-07-22  Bruno Haible  <bruno@clisp.org>
75935
75936         Merge from GNU gettext 0.15.
75937
75938         2006-05-01  Bruno Haible  <bruno@clisp.org>
75939
75940                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
75941
75942         2006-07-22  Bruno Haible  <bruno@clisp.org>
75943
75944                 * modules/javaversion: New file.
75945                 * MODULES.html.sh (Java): Add javaversion.
75946
75947         2006-03-12  Bruno Haible  <bruno@clisp.org>
75948
75949                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
75950
75951         2005-12-04  Bruno Haible  <bruno@clisp.org>
75952
75953                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
75954                 (untested).
75955
75956         2006-06-21  Bruno Haible  <bruno@clisp.org>
75957
75958                 Avoid warnings from recent versions of mcs.
75959                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
75960                 -o, -L, -r any more. Use options documented since mcs-1.0
75961                 instead. Similarly for -g.
75962
75963         2005-12-04  Bruno Haible  <bruno@clisp.org>
75964
75965                 * build-aux/csharpcomp.sh.in: Suffix for resources is
75966                 .resources, not .resource.
75967
75968         2005-07-09  Bruno Haible  <bruno@clisp.org>
75969
75970                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
75971                 add a .dll suffix.
75972                 Reported by Mark Junker <mjscod@gmx.de>.
75973
75974         2006-07-22  Bruno Haible  <bruno@clisp.org>
75975
75976                 * modules/gettext: Upgrade to gettext-0.15.
75977                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
75978                 m4/visibility.m4.
75979                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
75980
75981 2006-07-22  Bruno Haible  <bruno@clisp.org>
75982
75983         Merge from GNU gettext 0.15.
75984
75985         2006-03-25  Bruno Haible  <bruno@clisp.org>
75986
75987                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
75988
75989         2006-07-21  Bruno Haible  <bruno@clisp.org>
75990
75991                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
75992                 "1.1".
75993
75994         2006-05-09  Bruno Haible  <bruno@clisp.org>
75995
75996                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
75997                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
75998                 for the conftestver execution.
75999
76000         2006-05-01  Bruno Haible  <bruno@clisp.org>
76001
76002                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76003                 optional target-version argument. Verify that the compiler
76004                 groks source of the specified source-version, or add -source
76005                 option as necessary. Verify that the compiler produces
76006                 bytecode in the specified target-version, or add -target and
76007                 -source options as necessary. Make the result of the test
76008                 available as variable CONF_JAVAC. Also log error output in
76009                 config.log.
76010
76011         2006-03-11  Bruno Haible  <bruno@clisp.org>
76012
76013                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76014
76015         2006-05-09  Bruno Haible  <bruno@clisp.org>
76016
76017                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76018                 CLASSPATH_SEPARATOR to a semicolon.
76019
76020         2006-03-12  Bruno Haible  <bruno@clisp.org>
76021
76022                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76023                 available as variable CONF_JAVA, for subsequent autoconf
76024                 tests. Also log error output in config.log.
76025
76026         2006-07-19  Bruno Haible  <bruno@clisp.org>
76027
76028                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76029                 that getline works on glibc2 systems. Needed to avoid trouble
76030                 in relocatable.c.
76031                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76032
76033         2005-12-04  Bruno Haible  <bruno@clisp.org>
76034
76035                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76036                 launcher (untested).
76037
76038         2005-12-04  Bruno Haible  <bruno@clisp.org>
76039
76040                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76041
76042         2006-07-22  Bruno Haible  <bruno@clisp.org>
76043
76044                 * gettext.m4: Update from GNU gettext-0.15.
76045                 * nls.m4: Likewise.
76046                 * po.m4: Likewise.
76047                 * inttypes-pri.m4: Likewise.
76048                 * inttypes-h.m4: Renamed from inttypes.m4.
76049                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76050
76051 2006-07-22  Bruno Haible  <bruno@clisp.org>
76052
76053         Merge from GNU gettext 0.15.
76054
76055         2005-07-05  Bruno Haible  <bruno@clisp.org>
76056
76057                 * printf-args.c (printf_fetchargs): Work around broken
76058                 definition of wint_t on mingw.
76059
76060         2005-02-12  Bruno Haible  <bruno@clisp.org>
76061
76062                 * xallocsa.h: Add extern "C" for C++.
76063
76064         2006-05-17  Bruno Haible  <bruno@clisp.org>
76065
76066                 Cygwin portability.
76067                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76068
76069         2006-04-30  Bruno Haible  <bruno@clisp.org>
76070
76071                 * progreloc.c: Include <mach-o/dyld.h> if available.
76072                 (find_executable): Use _NSGetExecutablePath when possible.
76073
76074         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76075
76076                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76077                 function.
76078
76079         2005-12-29  Bruno Haible  <bruno@clisp.org>
76080
76081                 * progreloc.c (set_program_name_and_installdir): Fix
76082                 compilation error.
76083
76084         2005-12-04  Bruno Haible  <bruno@clisp.org>
76085
76086                 Cygwin portability.
76087                 * progreloc.c: Include <windows.h> also on Cygwin.
76088                 (find_executable): Add support for Cygwin.
76089                 (set_program_name_and_installdir): Handle also platforms with
76090                 nonempty EXEEXT.
76091
76092         2006-07-11  Bruno Haible  <bruno@clisp.org>
76093
76094                 * javacomp.c: Fix a comment.
76095                 Reported by Jim Meyering.
76096
76097         2006-04-30  Bruno Haible  <bruno@clisp.org>
76098
76099                 * javacomp.h (compile_java_class): Add source_version,
76100                 target_version arguments.
76101                 * javacomp.c: Rewritten to choose only a compiler that
76102                 respects the specified source_version and target_version.
76103
76104         2006-06-27  Bruno Haible  <bruno@clisp.org>
76105
76106                 Assume correct S_ISDIR macro.
76107                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
76108
76109         2006-07-22  Bruno Haible  <bruno@clisp.org>
76110
76111                 * javaversion.h: New file, from GNU gettext.
76112                 * javaversion.c: New file, from GNU gettext.
76113                 * javaversion.java: New file, from GNU gettext.
76114                 * javaversion.class: New file, from GNU gettext.
76115
76116         2006-05-17  Bruno Haible  <bruno@clisp.org>
76117
76118                 Cygwin portability.
76119                 * javaexec.c (execute_java_class): Test for jview program
76120                 also on Cygwin.
76121
76122         2006-04-09  Bruno Haible  <bruno@clisp.org>
76123
76124                 * fatal-signal.c: Don't include string.h.
76125                 (at_fatal_signal): Use a copying loop instead of memcpy.
76126
76127         2005-12-04  Bruno Haible  <bruno@clisp.org>
76128
76129                 * csharpexec.c: Add support for 'clix' launcher (untested).
76130                 (execute_csharp_using_sscli): New function.
76131                 (execute_csharp_program): Call it.
76132
76133         2006-06-21  Bruno Haible  <bruno@clisp.org>
76134
76135                 Avoid warnings from recent versions of mcs.
76136                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
76137                 -o, -L, -r any more. Use options documented since mcs-1.0
76138                 instead. Similarly for -g.
76139
76140         2005-07-09  Bruno Haible  <bruno@clisp.org>
76141
76142                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
76143                 add a .dll suffix.
76144                 Reported by Mark Junker <mjscod@gmx.de>.
76145
76146         2006-06-17  Bruno Haible  <bruno@clisp.org>
76147
76148                 * config.charset: Update for NetBSD 3.0.
76149
76150         2006-05-17  Bruno Haible  <bruno@clisp.org>
76151
76152                 Cygwin portability.
76153                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
76154
76155         2006-05-16  Bruno Haible  <bruno@clisp.org>
76156
76157                 * localcharset.c [CYGWIN]: Include <windows.h>.
76158                 (get_charset_aliases): For Cygwin, return the same CPxxx
76159                 aliases list as under WIN32.
76160                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
76161                 the environment variables. Fall back to GetACP().
76162
76163         2006-04-05  Bruno Haible  <bruno@clisp.org>
76164
76165                 * config.charset: Update Juan Manuel Guerrero's address.
76166
76167         2005-02-12  Bruno Haible  <bruno@clisp.org>
76168
76169                 * allocsa.h: Add extern "C" for C++.
76170
76171         2005-02-10  Bruno Haible  <bruno@clisp.org>
76172
76173                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
76174                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
76175
76176         2006-07-22  Bruno Haible  <bruno@clisp.org>
76177
76178                 * gettext.h: Update to GNU gettext-0.15.
76179
76180 2006-07-22  Bruno Haible  <bruno@clisp.org>
76181
76182         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
76183         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
76184         lib-prefix.m4, longdouble.m4, ssize_t.m4.
76185
76186 2006-07-21  Eric Blake  <ebb9@byu.net>
76187
76188         * modules/stdlib-safer: New file.
76189         * MODULES.html.sh (File stream based Input/Output): Add
76190         stdlib-safer.
76191
76192 2006-07-21  Eric Blake  <ebb9@byu.net>
76193
76194         * lib/stdlib-safer.h: New file from coreutils, required by
76195         stdlib--.h.
76196
76197 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
76198
76199         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
76200
76201 2006-07-20  Bruno Haible  <bruno@clisp.org>
76202
76203         * gnulib-tool: Recognize new option --assume-autoconf.
76204         (autoconf_minversion): New variable.
76205         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
76206
76207 2006-07-20  Bruno Haible  <bruno@clisp.org>
76208
76209         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
76210
76211 2006-07-19  Derek R. Price  <derek@ximbiot.com>
76212
76213         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
76214         Reindent and repaginate.
76215
76216 2006-07-19  Derek Price  <derek@ximbiot.com>
76217
76218         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
76219         Correct grammar.
76220
76221 2006-07-17  Bruno Haible  <bruno@clisp.org>
76222
76223         * modules/list: New file.
76224         * modules/array-list: New file.
76225         * modules/carray-list, modules/carray-list-tests: New files.
76226         * modules/linked-list, modules/linked-list-tests: New files.
76227         * modules/avltree-list, modules/avltree-list-tests: New files.
76228         * modules/rbtree-list, modules/rbtree-list-tests: New files.
76229         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
76230         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
76231         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
76232         * modules/oset: New file.
76233         * modules/array-oset: New file.
76234         * modules/avltree-oset, modules/avltree-oset-tests: New files.
76235         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
76236         * tests/test-carray_list.c: New file.
76237         * tests/test-linked_list.c: New file.
76238         * tests/test-avltree_list.c: New file.
76239         * tests/test-rbtree_list.c: New file.
76240         * tests/test-linkedhash_list.c: New file.
76241         * tests/test-avltreehash_list.c: New file.
76242         * tests/test-rbtreehash_list.c: New file.
76243         * tests/test-avltree_oset.c: New file.
76244         * tests/test-rbtree_oset.c: New file.
76245         * MODULES.html.sh (Container data structures): New section.
76246
76247 2006-07-17  Bruno Haible  <bruno@clisp.org>
76248
76249         * m4/gl_list.m4: New file.
76250
76251 2006-07-17  Bruno Haible  <bruno@clisp.org>
76252
76253         * lib/gl_list.h: New file.
76254         * lib/gl_list.c: New file.
76255         * lib/gl_array_list.h: New file.
76256         * lib/gl_array_list.c: New file.
76257         * lib/gl_carray_list.h: New file.
76258         * lib/gl_carray_list.c: New file.
76259         * lib/gl_linked_list.h: New file.
76260         * lib/gl_linked_list.c: New file.
76261         * lib/gl_anylinked_list1.h: New file.
76262         * lib/gl_anylinked_list2.h: New file.
76263         * lib/gl_avltree_list.h: New file.
76264         * lib/gl_avltree_list.c: New file.
76265         * lib/gl_anyavltree_list1.h: New file.
76266         * lib/gl_anyavltree_list2.h: New file.
76267         * lib/gl_rbtree_list.h: New file.
76268         * lib/gl_rbtree_list.c: New file.
76269         * lib/gl_anyrbtree_list1.h: New file.
76270         * lib/gl_anyrbtree_list2.h: New file.
76271         * lib/gl_anytree_list1.h: New file.
76272         * lib/gl_anytree_list2.h: New file.
76273         * lib/gl_linkedhash_list.h: New file.
76274         * lib/gl_linkedhash_list.c: New file.
76275         * lib/gl_anyhash_list1.h: New file.
76276         * lib/gl_anyhash_list2.h: New file.
76277         * lib/gl_avltreehash_list.h: New file.
76278         * lib/gl_avltreehash_list.c: New file.
76279         * lib/gl_rbtreehash_list.h: New file.
76280         * lib/gl_rbtreehash_list.c: New file.
76281         * lib/gl_anytreehash_list1.h: New file.
76282         * lib/gl_anytreehash_list2.h: New file.
76283
76284         * lib/gl_oset.h: New file.
76285         * lib/gl_oset.c: New file.
76286         * lib/gl_array_oset.h: New file.
76287         * lib/gl_array_oset.c: New file.
76288         * lib/gl_avltree_oset.h: New file.
76289         * lib/gl_avltree_oset.c: New file.
76290         * lib/gl_rbtree_oset.h: New file.
76291         * lib/gl_rbtree_oset.c: New file.
76292         * lib/gl_anytree_oset.h: New file.
76293
76294 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76295
76296         * m4/mkancesdirs.m4: New file.
76297         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
76298         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
76299         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
76300         it.
76301
76302 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76303
76304         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
76305         * lib/mkancesdirs.h: New files.
76306         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
76307         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
76308         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
76309         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
76310         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
76311         callers changed.  Revamp internals significantly, by not
76312         attempting to create directories that are temporarily more
76313         permissive than the final results.  Do not attempt to use
76314         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
76315         This removes some race conditions, fixes some bugs, and simplifies
76316         things.  Use new dirchownmod function to do owner and mode changes.
76317         * lib/mkdir-p.h: Likewise.
76318         * lib/modechange.c (octal_to_mode): New function.
76319         (struct mode_change): New member mentioned.
76320         (make_node_op_equals): New arg mentioned.  All callers changed.
76321         (mode_compile): Keep track of which mode bits the user has explicitly
76322         mentioned.
76323         (mode_adjust): New arg DIR, so that we implement the X op correctly.
76324         New arg PMODE_BITS, to keep track of which mode bits the user
76325         mentioned; it treats S_ISUID and S_ISGID speciall.
76326         All callers changed.
76327         * lib/modechange.h: Likewise.
76328
76329 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76330
76331         * MODULES.html.sh: Add mkancestors.
76332         * modules/mkancesdirs: New module.
76333         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
76334         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
76335         The chdir-safer and afs files are now orphans; I'll remove them
76336         unless someone speaks up.
76337         Add lib/dirchownmod.c, lib/dirchownmod.h.
76338         (Depends-on): Remove alloca, chown, save-cwd, dirname.
76339         Add lchown, mkancesdirs.
76340         (Maintainer): Add self.
76341
76342 2006-07-15  Karl Berry  <karl@gnu.org>
76343
76344         * gnulib-tool: help message wording/arrangement.
76345
76346 2006-07-14  Simon Josefsson  <jas@extundo.com>
76347
76348         * doc/gnulib.texi (Libtool and Windows): New section.
76349
76350 2006-07-12  Simon Josefsson  <jas@extundo.com>
76351
76352         * modules/gendocs (License): Fix license, approved by Karl.
76353
76354 2006-07-12  Eric Blake  <ebb9@byu.net>
76355
76356         * MODULES.html.sh: Add gendocs.
76357
76358 2006-07-11  Eric Blake  <ebb9@byu.net>
76359
76360         * modules/fdl: New module, to install doc/fdl.texi.
76361         * MODULES.html.sh: Add new section for documentation modules.
76362         * gnulib-tool: Avoid space-tab.
76363         (--doc-base): New option, to manage files from doc.
76364
76365 2006-07-11  Eric Blake  <ebb9@byu.net>
76366
76367         * m4/absolute-header.m4: Fix comments to match recent change.
76368
76369 2006-07-11  Eric Blake  <ebb9@byu.net>
76370
76371         * gnulib-tool: List --doc-base before --tests-base.
76372
76373 2006-07-11  Derek R. Price  <derek@ximbiot.com>
76374
76375         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
76376
76377 2006-07-11  Bruno Haible  <bruno@clisp.org>
76378
76379         * README: Mention where to put documentation.
76380
76381 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76382
76383         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
76384
76385 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76386
76387         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
76388         to stdint.m4.
76389
76390 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76391
76392         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
76393         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
76394         "no/such/file/stdint.h" when there is no such file, so that
76395         the resulting C code can be parsed by dodgy compilers.
76396         Problems reported by Bob Proulx.
76397
76398 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76399
76400         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
76401         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76402         macros into the GNU _D_EXACT_NAMLEN.
76403         * lib/savedir.c:  Likewise.
76404         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
76405
76406 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76407         and Paul Eggert  <eggert@cs.ucla.edu>
76408
76409         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
76410         * m4/savedir.m4:
76411         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76412         macros into the GNU _D_EXACT_NAMLEN.
76413
76414 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76415
76416         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
76417         around the absolute name, to work around a problem with the HP-UX
76418         11.23 native C compiler, reported by Bob Proulx.
76419
76420 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76421
76422         * doc/maintain.texi, make-stds.texi: Sync from
76423         <http://savannah.gnu.org/projects/gnustandards>.
76424
76425 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76426
76427         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
76428
76429 2006-07-09  Jim Meyering  <jim@meyering.net>
76430
76431         * m4/glob.m4: Remove a doubled word in a comment.
76432
76433 2006-07-09  Jim Meyering  <jim@meyering.net>
76434
76435         * lib/argp-pv.c: Remove a doubled word in a comment.
76436         * lib/check-version.c (check_version): Likewise.
76437         * lib/javacomp.c (compile_java_class): Likewise.
76438
76439 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76440
76441         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
76442         for the benefit of people using Autoconf 2.60.  If you want to
76443         support older Autoconf versions you can copy m4/onceonly_2_57.m4
76444         (or m4/onceonly.m4, if pre-2.57) manually.
76445
76446 2006-07-08  Jim Meyering  <jim@meyering.net>
76447
76448         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
76449         comment.
76450         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
76451         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
76452         comment.
76453
76454 2006-07-08  Jim Meyering  <jim@meyering.net>
76455
76456         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
76457
76458 2006-07-07  Simon Josefsson  <jas@extundo.com>
76459
76460         * tests/test-crc.c: Change expected crc value, the test vector
76461         were probably computed using the old broken crc.c?
76462
76463 2006-07-06  Simon Josefsson  <jas@extundo.com>
76464
76465         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
76466         now the canonical place for the M4 file).
76467
76468         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
76469         from the sys_socket dependency now.
76470
76471         * modules/inet_pton (Files): Ditto.
76472
76473         * modules/inet_ntop (Files): Ditto.
76474
76475 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76476
76477         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
76478         not gl_PREREQ_GETUSERSHELL.
76479
76480 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76481
76482         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
76483         with only one argument, for Autoconf 2.60.
76484         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
76485         expand to nothing, so add a shell command to avoid syntax error.
76486         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76487
76488 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76489
76490         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
76491
76492 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76493
76494         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
76495         no longer needed.  Check for isblank decl.
76496         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
76497         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
76498         of existence.
76499
76500 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76501
76502         * lib/getloadavg.c: Use __VMS, not VMS.
76503         * lib/getopt.c: Likewise.
76504         * lib/getpagesize.h: Likewise.
76505         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
76506         and probably does not work.
76507
76508 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76509
76510         * lib/.cppi-disable: Add wcwidth.
76511         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
76512         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
76513         (ISGRAPH): Remove.  All uses changed to isgraph.
76514         (FOLD) [!defined _LIBC]: Remove special case.
76515         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
76516         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
76517         HAVE_ISBLANK.
76518         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
76519         case.
76520
76521 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
76522
76523         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
76524         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
76525         brackets.  Other minor changes to suppress some compiler
76526         warnings.
76527
76528 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76529         and Paul Eggert  <eggert@cs.ucla.edu>
76530
76531         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
76532         of invoking obsolescent AC_HEADER_DIRENT macro.
76533         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
76534         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
76535         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
76536         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
76537         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
76538         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76539         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
76540         * m4/readdir.m4: Remove; no longer needed.
76541
76542 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76543         and Paul Eggert  <eggert@cs.ucla.edu>
76544
76545         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
76546         Don't worry about this obsolete case any more.
76547         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
76548         directories.
76549         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
76550         worry about this obsolete case any more.
76551         * lib/fts.c: Likewise.
76552         * lib/getcwd.c: Likewise.
76553         * lib/glob.h: Likewise.
76554         * lib/savedir.c: Likewise.
76555
76556 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76557
76558         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
76559         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
76560         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
76561         needed.
76562         All uses removed.
76563         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76564         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76565         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
76566         needed.
76567         * m4/getdate.m4 (gl_GETDATE): Likewise.
76568         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76569         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76570         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76571         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76572         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76573         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76574         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
76575         needed.
76576
76577 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76578
76579         * lib/memcasecmp.c: Include <limits.h>.
76580         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
76581         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
76582         Don't assume isdigit succeeds only on '0' through '9'.
76583
76584 2006-07-05  Eric Blake  <ebb9@byu.net>
76585
76586         * modules/getaddrinfo (Depends-on): Add snprintf.
76587
76588 2006-07-05  Eric Blake  <ebb9@byu.net>
76589
76590         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
76591         to avoid 'header present but could not be compiled' on cygwin.
76592
76593 2006-07-05  Eric Blake  <ebb9@byu.net>
76594
76595         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
76596         missing from netdb.h.
76597         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
76598
76599 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76600
76601         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
76602         no longer needed.
76603         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
76604         * m4/getdate.m4 (gl_GETDATE): Likewise.
76605         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76606         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76607         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76608         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76609         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76610
76611 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76612
76613         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
76614         All uses of is_space replaced by isspace.
76615         * lib/exit.h: Don't talk about STDC_HEADERS.
76616         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
76617         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
76618         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
76619         replaced by isprint etc.
76620         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
76621         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76622         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
76623         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
76624         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
76625         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76626
76627 2006-07-05  Bruno Haible  <bruno@clisp.org>
76628
76629         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
76630         the function exists, before testing against AIX.
76631         Reported by Martin Lambers <marlam@marlam.de>.
76632
76633 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76634
76635         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
76636         From Mark D. Baushke.
76637
76638 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76639
76640         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
76641         to the absolute name, not just one, to bypass Sun C 5.8's
76642         "warning: #include of /usr/include/... may be non-portable".
76643
76644 2006-07-04  Eric Blake  <ebb9@byu.net>
76645
76646         * modules/dirname-tests: New test module.
76647         * tests/test-dirname.c: New file, replacing dirname.c
76648         TEST_DIRNAME section that was recently deleted.
76649
76650 2006-07-04  Bruno Haible  <bruno@clisp.org>
76651
76652         Assume ANSI C header files and <ctype.h> functions.
76653         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
76654         (mbsnwidth): Use isprint, iscntrl instead.
76655
76656 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76657
76658         Merge from coreutils.
76659         * MODULES.html.sh: Add xstrtold.
76660         * modules/xstrtold: New file.
76661         * modules/cycle-check (Files): Add lib/same-inode.h.
76662         * modules/dirname (Files): Add m4/double-slash-root.m4.
76663         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
76664         * modules/mkdir-p (Files): Add lib/same-inode.h.
76665         * modules/same (Files): Add lib/same-inode.h.
76666
76667 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76668
76669         * m4/absolute-header.m4: Renamed from full-header-path.m4.
76670         This is to keep the terminology clean; POSIX talks about
76671         "absolute pathnames", not "full pathnames", but the GNU
76672         Coding Standards say to use "path" for something else;
76673         so use "absolute" to keep both sides happy.
76674         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
76675         Set gl_absolute_header, not gl_full_header_path.
76676         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
76677         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
76678         All uses changed.
76679
76680         Merge from coreutils.
76681
76682         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76683
76684         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
76685         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
76686         want to require the building of c-strtod.o.
76687         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
76688         needs -lm directly.
76689         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
76690
76691         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76692
76693         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
76694         --as-needed option if available.  Problem reported by Albert Chin in
76695         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
76696         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
76697         cc merely issues a bunch of annoying warnings for --as-needed
76698         (this problem was reported by Bob Proulx).  Also, try linking with
76699         -lm to detect a bug in binutils 2.16 (this problem was reported
76700         by Ralf Wildenhues).
76701
76702         2006-06-18  Jim Meyering  <jim@meyering.net>
76703
76704         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
76705         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
76706         macro.
76707         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
76708         also check for glibc-2.4's abort-inducing bug.
76709
76710         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
76711         Low-probability clean-up should be to use rmdir to get rid of
76712         the just-created directory, not unlink.
76713
76714         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
76715         configure fail, and request a bug report to inform us about it.
76716         Add a comment that, barring reports to the contrary, in 2007 we'll
76717         assume ftruncate is universally available.
76718
76719         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76720
76721         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
76722
76723         2006-03-12  Jim Meyering  <jim@meyering.net>
76724
76725         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
76726         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
76727         * m4/same.m4 (gl_SAME): Likewise.
76728         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
76729
76730         2006-03-11  Eric Blake  <ebb9@byu.net>
76731
76732         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
76733         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
76734         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
76735         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
76736
76737 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76738
76739         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
76740         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
76741         reported by Mark D. Baushke, one in
76742         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
76743
76744         Merge from coreutils.
76745
76746         * lib/.cppi-disable: Add stdint_.h.
76747         * lib/.cvsignore: Add stdint.h.
76748
76749         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76750
76751         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
76752         both double and long double versions.
76753         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
76754         * lib/xstrtold.c: New file.
76755         * lib/xstrtod.h (xstrtold): New decl.
76756
76757         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76758
76759         * lib/filemode.c (setst): Remove.
76760         (strmode): Rewrite to avoid setst.  This makes the code shorter,
76761         (arguably) clearer, and the generated code is a bit smaller on my
76762         Debian GNU/Linux stable x86 host.
76763
76764         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76765
76766         * lib/filemode.c: Include "filemode.h" first, to test the interface.
76767         Assume that filemode.h includes sys/types.h and sys/stat.h.
76768         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
76769         (ftypelet): Reorder to put common cases first, for efficiency.
76770         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
76771         to do 'M'.
76772         (strmode): Renamed from mode_string, and now stores 12 bytes instead
76773         of 10, for compatibility with FreeBSD.  All callers changed.
76774         (filemodestring): Now stores 12 bytes instead of 10, and sets file
76775         types that can't be deduced solely from st_mode.  First arg is now a
76776         const pointer.
76777         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
76778         (strmode): Renamed from mode_string.
76779         (filemodestring): New decl.
76780         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
76781         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
76782         needed.
76783         (S_ISPORT, S_ISWHT): New macros, if not already defined.
76784
76785         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76786
76787         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
76788         fsusage.h now does that.  Include fsusage.h first, to test interface.
76789         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
76790         at most one method (the old code could have generated decls that
76791         didn't conform to C89, not that this was ever exercised).
76792         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
76793
76794         2006-03-19  Jim Meyering  <jim@meyering.net>
76795
76796         Work even in a chroot where d_ino values for entries in "/"
76797         don't match the stat.st_ino values for the same names.
76798         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
76799         number, iterate through all entries again, using lstat instead.
76800         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
76801         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
76802
76803         * lib/getcwd.c (__getcwd): Clarify a comment.
76804         Use memcpy in place of a call to strcpy.
76805
76806         2006-03-12  Jim Meyering  <jim@meyering.net>
76807
76808         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
76809         matches that of the current directory (which we're about to chdir ".."
76810         out of), then save the dev-ino of the parent, instead.
76811
76812         * lib/same-inode.h (SAME_INODE): New file/macro.
76813         * lib/chdir-safer.c (SAME_INODE): Remove definition.
76814         Include "same-inode.h", instead.
76815         * lib/same.c: Likewise.
76816         * lib/cycle-check.h: Include "same-inode.h".
76817         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
76818         * lib/cycle-check.c (SAME_INODE): Remove definition.
76819         * lib/root-dev-ino.h: Include "same-inode.h".
76820
76821         2006-03-11  Eric Blake  <ebb9@byu.net>
76822
76823         * lib/same.c (same_name): s/base_name/last_component/
76824         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
76825         * lib/filenamecat.c (file_name_concat): Likewise.
76826
76827         2006-03-11  Eric Blake  <ebb9@byu.net>,
76828                     Paul Eggert  <eggert@cs.ucla.edu>
76829
76830         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
76831         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
76832         drive prefix.
76833         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
76834         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
76835         (last_component): New method.
76836         * lib/dirname.c (dir_len): Determine when drive letters need a
76837         subsequent slash.  Preserve // when it is special.
76838         (dir_name): Don't append dot when drive letter is absolute.
76839         [TEST_DIRNAME]: Move into a full-blown gnulib test.
76840         * lib/basename.c (base_name): New semantics - malloc the result.
76841         Preserve // when it is special.  Preserve relative files that look
76842         like drive letters.
76843         (base_len): Preserve // when it is special.
76844         (last_component): New method, similar to old base_name semantics.
76845         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
76846         base_name.  Strip redundant slashes from ///.
76847
76848 2006-07-03  Jim Meyering  <jim@meyering.net>
76849
76850         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
76851         macro is used before the first cycle_check call.
76852
76853 2006-07-03  Eric Blake  <ebb9@byu.net>
76854
76855         * modules/dirname (Depends-on): Add xstrndup.
76856
76857 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76858
76859         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
76860         test cases, so that config.log is a bit easier to follow.
76861
76862 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76863
76864         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
76865         both are 64 bits, since this seems to be the tradition, and this
76866         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
76867         we ever run into a host that prefers long long to long in this
76868         case, we'll need another configure-time test.  Problem reported by
76869         Jim Meyering.
76870
76871 2006-07-02  Eric Blake  <ebb9@byu.net>
76872
76873         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
76874
76875 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76876
76877         * modules/inttypes (Depends-on): No longer depends on stdint.
76878         * modules/stdint (Description): Say more about assumptions.
76879         Say that the fast types might differ.  Say macros are used.
76880         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
76881         (Makefile.am): Revise list of substituted symbols to match
76882         new stdint.m4.
76883         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
76884         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
76885         * tests/test-stdint.c (verify_same_types)
76886         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
76887         the code conforms to C99/C89.
76888         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
76889         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
76890
76891 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76892
76893         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
76894         but fix a bug, by requiring at least 64 bits.
76895         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
76896         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
76897         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
76898         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76899
76900         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
76901         changes.  Make 2.59 a prerequisite.  Check and substitute for
76902         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
76903         inttypes.h.  Do not use special include files; just use the
76904         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
76905         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
76906         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
76907         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
76908         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
76909         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
76910         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
76911         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
76912         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
76913         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
76914         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
76915         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
76916         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
76917         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
76918         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
76919         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
76920         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
76921         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
76922         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
76923         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
76924         WINT_MAX.  Check for C99 conformance more strictly, by detecting
76925         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
76926         not check for things that C99 does not require, e.g., int8_t.  If
76927         a test isn't needed unless <stdint.h> isn't working, and is
76928         unlikely to be needed for any other reason, then don't do it
76929         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
76930         size_t, since we assume C89 freestanding at least.  Do not check
76931         for sig_atomic_t, wchar_t, or wint_t, since the code now does
76932         the right thing even if the types are not defined.  Instead use:
76933         (gl_STDINT_TYPE_PROPERTIES): New macro.
76934         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
76935         testing whether <sys/types.h> clashes, as Autoconf does this for
76936         us now.  All uses removed.
76937         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
76938         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
76939         (gl_CHECK_TYPE_SAME):
76940         Remove; no longer needed.
76941         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
76942         exists, since we'll return 0 anyway in that case.
76943         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
76944
76945 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76946
76947         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
76948         possible collision with system files.
76949         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
76950         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
76951         WCHAR_MIN and WCHAR_MAX in this case.
76952         (<stddef.h>): Do not include; no longer needed.
76953         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
76954         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
76955         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
76956         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
76957         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
76958         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
76959         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
76960         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
76961         !defined(__c99))]: Include in this case too, since it's harmless
76962         now.
76963         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
76964         dangerous to do so.
76965         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
76966         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
76967         (_STDINT_MIN, _STDINT_MAX): New macros.
76968         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
76969         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
76970         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
76971         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
76972         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
76973         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
76974         macros, not typedefs; this simplifies things quite a bit.
76975         Use long int for all types narrower than int64_t.
76976         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
76977         Define in terms of long long int or int64_t or long int,
76978         not int64_t or int32_t.  This saves some compile-time testing.
76979         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
76980         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
76981         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
76982         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
76983         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
76984         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
76985         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
76986         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
76987         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
76988         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
76989         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
76990         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
76991         undef any previous version and define our own version, for
76992         simplicity and consistency with the new macros for types.
76993         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
76994         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
76995         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
76996         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
76997         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
76998         @WINT_T_SUFFIX@ to keep things simple here.
76999         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77000         Simplify by assuming typical 8/16/32/64 host, since we're
77001         already doing that elsewhere anyway.
77002         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77003         and assume long long int is 64 bits if available.  This
77004         speeds up 'configure'.
77005
77006 2006-07-01  Eric Blake  <ebb9@byu.net>
77007
77008         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77009         Reported by Andreas Buening.
77010
77011 2006-07-01  Eric Blake  <ebb9@byu.net>
77012
77013         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77014
77015 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77016
77017         * lib/getaddrinfo.c: fixed typo
77018
77019 2006-06-29  Jim Meyering  <jim@meyering.net>
77020
77021         * modules/strftime (Maintainer): Add my name, since with the
77022         FPRINTFTIME changes strftime.c has forked from glibc.
77023
77024 2006-06-29  Eric Blake  <ebb9@byu.net>
77025
77026         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77027
77028 2006-06-29  Eric Blake  <ebb9@byu.net>
77029
77030         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77031
77032 2006-06-29  Eric Blake  <ebb9@byu.net>
77033
77034         * lib/stat_.h: New file.
77035
77036 2006-06-29  Eric Blake  <ebb9@byu.net>
77037
77038         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77039         unused static function.
77040
77041 2006-06-29  Eric Blake  <ebb9@byu.net>
77042
77043         * doc/functions.texi (Function Portability): Document missing lstat
77044         on mingw.
77045
77046 2006-06-29  Eric Blake  <ebb9@byu.net>
77047
77048         * MODULES.html.sh: Add sys_stat.
77049         * modules/sys_stat: New module.
77050         * modules/mkstemp (Depends-on): Add sys_stat.
77051
77052 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77053
77054         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77055
77056 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77057
77058         * m4/c-bs-a.m4: Removed.
77059
77060 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77061
77062         * lib/strftime.c: Assume strftime() exists.
77063
77064 2006-06-29  Derek Price  <derek@ximbiot.com>
77065
77066         * modules/c-bs-a: Removed - \a is C89.
77067         * MODULES.html.sh: Remove c-bs-a.
77068
77069 2006-06-29  Bruno Haible  <bruno@clisp.org>
77070
77071         * modules/wcwidth (License): Change to LGPL.
77072
77073 2006-06-28  Simon Josefsson  <jas@extundo.com>
77074
77075         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77076         on _WIN32.
77077
77078         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77079         getnameinfo.
77080
77081 2006-06-28  Simon Josefsson  <jas@extundo.com>
77082
77083         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77084
77085 2006-06-28  Simon Josefsson  <jas@extundo.com>
77086
77087         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77088         functions there.  It will succeed on Windows XP, but on Windows
77089         2000 and (presumably) earlier, it will fail, and use the internal
77090         re-implementation.
77091         (use_win32_p): New function.
77092         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77093         Support AI_NUMERICSERV to disable getservbyname.
77094         (getnameinfo): New function, only supports
77095         NI_NUMERICHOST|NI_NUMERICSERV for now.
77096
77097         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
77098         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
77099         getnameinfo.
77100
77101 2006-06-28  Eric Blake  <ebb9@byu.net>
77102
77103         * modules/wcwidth: New file.
77104         * modules/mbchar (Depends-on): Add wcwidth.
77105         * modules/mbswidth (Depends-on): Add wcwidth.
77106         * MODULES.html.sh: Add wcwidth.
77107
77108 2006-06-28  Eric Blake  <ebb9@byu.net>
77109
77110         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
77111         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
77112
77113 2006-06-28  Eric Blake  <ebb9@byu.net>
77114
77115         * lib/xvasprintf.h: Fix comments.
77116
77117 2006-06-28  Eric Blake  <ebb9@byu.net>
77118
77119         * lib/mbchar.h (wcwidth): Include wcwidth.h.
77120         * lib/mbswidth.c (wcwidth): Move from here...
77121         * lib/wcwidth.h: ...to this new file.
77122
77123 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77124
77125         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
77126
77127         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
77128         it's obsolete.
77129         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
77130
77131 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77132
77133         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
77134         Autoconf 2.60 says this stuff was obsolete.
77135
77136 2006-06-28  Bruno Haible  <bruno@clisp.org>
77137
77138         * modules/wcwidth (Files): Add m4/wchar_t.m4.
77139
77140 2006-06-28  Bruno Haible  <bruno@clisp.org>
77141
77142         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
77143         gt_TYPE_WCHAR_T.
77144
77145 2006-06-28  Bruno Haible  <bruno@clisp.org>
77146
77147         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
77148         declaration for wcwidth.
77149         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
77150
77151 2006-06-28  Bruno Haible  <bruno@clisp.org>
77152
77153         * lib/mkdtemp.c [MINGW]: Include <io.h>.
77154         (mkdir): Define using _mkdir.
77155
77156 2006-06-28  Bruno Haible  <bruno@clisp.org>
77157
77158         * lib/getaddrinfo.h: Fix POSIX URL.
77159         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
77160         _WIN32.
77161         (use_win32_p): Make static.
77162         (getaddrinfo): Reject service name if it is empty or does not consist
77163         solely of decimal digits, or if its value is > 65535.
77164         (getnameinfo): Remove useless casts.
77165
77166 2006-06-27  Simon Josefsson  <jas@extundo.com>
77167
77168         * modules/sys_select: New file, suggested by Bruno Haible, Paul
77169         Eggert and Martin Lambers.
77170
77171 2006-06-27  Simon Josefsson  <jas@extundo.com>
77172
77173         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
77174         Eggert and Martin Lambers.
77175
77176 2006-06-27  Bruno Haible  <bruno@clisp.org>
77177
77178         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
77179         result to 0, not to empty.
77180         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
77181
77182 2006-06-27  Bruno Haible  <bruno@clisp.org>
77183
77184         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
77185
77186 2006-06-26  Simon Josefsson  <jas@extundo.com>
77187
77188         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
77189         present.
77190
77191 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
77192
77193         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
77194         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
77195         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
77196
77197 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
77198
77199         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
77200
77201 2006-06-26  Bruno Haible  <bruno@clisp.org>
77202
77203         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
77204
77205 2006-06-26  Bruno Haible  <bruno@clisp.org>
77206
77207         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
77208
77209 2006-06-26  Bruno Haible  <bruno@clisp.org>
77210
77211         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
77212         SGI C compiler in pre-C99 mode.
77213         Suggested by Mark D. Baushke and Larry Jones.
77214
77215 2006-06-26  Bruno Haible  <bruno@clisp.org>
77216
77217         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
77218         WCHAR_MAX.
77219         Reported by Mark D. Baushke and Larry Jones.
77220
77221 2006-06-26  Bruno Haible  <bruno@clisp.org>
77222
77223         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
77224         in pre-C99 mode.
77225         Suggested by Mark D. Baushke and Larry Jones.
77226
77227 2006-06-23  Simon Josefsson  <jas@extundo.com>
77228             Bruno Haible  <bruno@clisp.org>
77229
77230         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
77231         Emit mostlyclean-local rule.
77232         (func_emit_tests_Makefile_am): Likewise.
77233         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
77234
77235 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
77236
77237         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
77238
77239 2006-06-23  Bruno Haible  <bruno@clisp.org>
77240
77241         * tests/test-stdint.c: Update to match ISO C 99 Technical
77242         Corrigendum 1.
77243
77244 2006-06-23  Bruno Haible  <bruno@clisp.org>
77245
77246         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
77247
77248 2006-06-23  Bruno Haible  <bruno@clisp.org>
77249
77250         * lib/stdint_.h: Treat IRIX like OpenBSD.
77251
77252 2006-06-23  Bruno Haible  <bruno@clisp.org>
77253
77254         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
77255         ISO C 99 Technical Corrigendum 1.
77256
77257 2006-06-22  Simon Josefsson  <jas@extundo.com>
77258
77259         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
77260         MinGW.
77261
77262 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77263
77264         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
77265         needed.  Some compiler complained about some of them.  Problem reported
77266         by Larry Jones in
77267         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
77268
77269 2006-06-21  Simon Josefsson  <jas@extundo.com>
77270
77271         * tests/test-getaddrinfo.c: New file.
77272
77273         * modules/getaddrinfo-tests: New file.
77274
77275         * MODULES.html.sh: Add inet_pton.
77276
77277         * modules/inet_pton: New file.
77278
77279 2006-06-21  Simon Josefsson  <jas@extundo.com>
77280
77281         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
77282         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
77283         of using the (limited) gnulib implementation on Windows XP.
77284
77285         * m4/inet_pton.m4: New file.
77286
77287 2006-06-21  Simon Josefsson  <jas@extundo.com>
77288
77289         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
77290         variable.
77291
77292         * lib/socket_.h: Don't define WINVER.
77293
77294         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
77295         slightly modified to work in gnulib.
77296
77297 2006-06-21  Simon Josefsson  <jas@extundo.com>
77298
77299         * doc/gnulib.texi (Windows sockets): Add.
77300
77301 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
77302
77303         * lib/read-file.c (fread_file): Start with buffer allocation of
77304         0 bytes rather than 1 byte; this simplifies the code.
77305         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
77306         code to free buffer and save/restore errno.
77307         (internal_read_file): Remove unused local.
77308
77309 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
77310
77311         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
77312         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
77313         Problem reported by Denis Excoffier in
77314         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
77315
77316 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77317
77318         * modules/sys_socket, modules/socklen: Include sys/types since
77319         FreeBSD 4.x's sys/socket.h needs it.
77320
77321 2006-06-19  Simon Josefsson  <jas@extundo.com>
77322
77323         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
77324
77325 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77326
77327         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
77328
77329 2006-06-19  Bruno Haible  <bruno@clisp.org>
77330
77331         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
77332         and FULL_PATH_INTTYPES_H in angle brackets.
77333         Reported by Mark D. Baushke <mdb@gnu.org>.
77334
77335 2006-06-17  Eric Blake  <ebb9@byu.net>
77336
77337         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
77338         errno.
77339
77340 2006-06-17  Bruno Haible  <bruno@clisp.org>
77341
77342         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
77343         <sys/inttypes.h>.
77344
77345 2006-06-17  Bruno Haible  <bruno@clisp.org>
77346
77347         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
77348         whether errno is declared. Assume <errno.h> declares errno.
77349
77350 2006-06-17  Bruno Haible  <bruno@clisp.org>
77351
77352         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
77353
77354 2006-06-17  Bruno Haible  <bruno@clisp.org>
77355
77356         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
77357         problem on Solaris 2.5.1.
77358
77359 2006-06-16  Eric Blake  <ebb9@byu.net>
77360
77361         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
77362         * lib/unicodeio.c [!defined errno]: Likewise.
77363         * lib/strtol.c [!defined errno]: Likewise.
77364         * lib/strtod.c [!defined errno]: Likewise.
77365
77366 2006-06-15  Eric Blake  <ebb9@byu.net>
77367
77368         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
77369
77370 2006-06-15  Eric Blake  <ebb9@byu.net>
77371
77372         * config/srclist.txt (ssize_t.m4): Lose sync.
77373
77374 2006-06-15  Bruno Haible  <bruno@clisp.org>
77375
77376         * modules/stdint (Files): Include m4/full-header-path.m4,
77377         m4/size_max.m4, m4/wchar_t.m4.
77378         (Makefile.am): Many more substitutions.
77379         * modules/stdint-tests: New file.
77380         * tests/test-stdint.c: New file.
77381
77382 2006-06-15  Bruno Haible  <bruno@clisp.org>
77383
77384         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
77385         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
77386         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
77387         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
77388         gl_CHECK_TYPE_SAME): New macros.
77389
77390 2006-06-15  Bruno Haible  <bruno@clisp.org>
77391
77392         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
77393
77394 2006-06-15  Bruno Haible  <bruno@clisp.org>
77395
77396         * lib/stdint_.h: Rewritten to be fully auto-configured.
77397         Fixes bug on HP-UX/IA64.
77398
77399 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
77400
77401         * lib/getdate.y (__attribute__): Don't define if already defined.
77402         Problem reported by Larry Jones.
77403         * lib/utimens.c (__attribute__): Likewise.
77404
77405 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
77406
77407         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
77408         reported by Andreas Schwab.
77409
77410 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77411             Bruno Haible  <bruno@clisp.org>
77412
77413         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
77414         check for the declaration of strnlen and a run test that exposes the
77415         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
77416         rpl_strndup.
77417
77418 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77419             Bruno Haible  <bruno@clisp.org>
77420
77421         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
77422
77423 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77424
77425         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
77426         compile test, for Tru64 4.0D.
77427
77428 2006-05-28  Karl Berry  <karl@gnu.org>
77429
77430         * config/srclist.txt (printf-args.c): lose sync.
77431
77432 2006-05-26  Martin Lambers  <marlam@marlam.de>
77433
77434         * lib/getpass.c: Updates the test for the native W32 API, and adds
77435         missing includes, thus fixing compilation warnings.
77436
77437 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77438
77439         * lib/exclude.c (exclude_fnmatch): New function.
77440         (excluded_file_name): Call exclude_fnmatch.
77441         * lib/exclude.h (excluded_file_name): New prototype
77442
77443 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
77444
77445         * lib/tempname.c (small_open, large_open): New macros.
77446         (__open, __open64) [!_LIBC]: Remove.
77447         (__gen_tempname): Use small_open and large_open instead of __open
77448         and __open64.  This fixes a portability bug on HP-UX 11.11i
77449         reported by Simon Wing-Tang in
77450         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
77451
77452 2006-05-24  Bruno Haible  <bruno@clisp.org>
77453
77454         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
77455         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
77456         Reported by Thorsten Maerz <torte@netztorte.de> via
77457         Aaron Stone <aaron@serendipity.cx>.
77458
77459 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77460
77461         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
77462         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
77463         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
77464         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
77465         not really conditional on the cache.
77466         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
77467
77468 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77469
77470         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
77471         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
77472         (my_usleep): Don't mishandle maximum value.
77473
77474 2006-05-19  Jim Meyering  <jim@meyering.net>
77475
77476         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
77477
77478 2006-05-17  Bruno Haible  <bruno@clisp.org>
77479
77480         Cygwin portability.
77481         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
77482
77483 2006-05-17  Bruno Haible  <bruno@clisp.org>
77484
77485         * lib/stdint_.h: Fix recognition of Cygwin.
77486
77487 2006-05-15  Bruno Haible  <bruno@clisp.org>
77488
77489         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
77490         on libtool patch by Ralf Wildenhues.
77491
77492 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77493
77494         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
77495         test for C99 conformance; (bool) 0.5 is an integer constant
77496         expression, but (bool) -0.5 is not.  Problem reported by Fedor
77497         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
77498
77499 2006-05-11  Simon Josefsson  <jas@extundo.com>
77500
77501         * m4/xvasprintf.m4: Fix obvious typo.
77502
77503 2006-05-11  Jim Meyering  <jim@meyering.net>
77504
77505         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
77506         James Lemley.
77507
77508 2006-05-10  Simon Josefsson  <jas@extundo.com>
77509
77510         * lib/md4.c: Typo fix, update copyright years.
77511         (K1, K2): Don't use L because it turn computations into 64-bit on
77512         64-bit platforms.
77513
77514 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
77515
77516         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
77517         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
77518         unwanted sign propagation, e.g., on hosts with 64-bit int.
77519         There still are some problems with reeelly weird theoretical hosts
77520         (e.g., 33-bit int) but it's not worth worrying about now.
77521         * lib/sha1.c (rol): Likewise.
77522         (K1, K2, K3, K4): Remove unnecessary L suffix.
77523
77524 2006-05-10  Bruno Haible  <bruno@clisp.org>
77525
77526         * lib/des.c: Cast to avoid warnings.
77527
77528 2006-05-09  Bruno Haible  <bruno@clisp.org>
77529
77530         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
77531         (Depends-on): Depend also on xsize, stdarg.
77532         (configure.ac): Add gl_XVASPRINTF.
77533
77534 2006-05-09  Bruno Haible  <bruno@clisp.org>
77535
77536         * m4/xvasprintf.m4: New file.
77537
77538 2006-05-09  Bruno Haible  <bruno@clisp.org>
77539
77540         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
77541         (EOVERFLOW): Define fallback value.
77542         (xstrcat): New function.
77543         (xvasprintf): Recognize the special case of a string concatenation.
77544
77545 2006-05-08  Eric Blake  <ebb9@byu.net>
77546
77547         * gnulib-tool (func_version): Base copyright year on CVS date.
77548         (func_emit_copyright_notice): New function.
77549         (func_emit_lib_Makefile_am): Use it.
77550         (func_emit_tests_Makefile_am): Likewise.
77551         (func_import): Likewise.
77552
77553 2006-05-08  Bruno Haible  <bruno@clisp.org>
77554
77555         * modules/stdarg: New file.
77556         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
77557
77558 2006-05-08  Bruno Haible  <bruno@clisp.org>
77559
77560         * m4/stdarg.m4: New file, from GNU gettext.
77561
77562 2006-05-08  Bruno Haible  <bruno@clisp.org>
77563
77564         * config/srclist.txt (build-aux/config.rpath): different from latest
77565         release.
77566
77567 2006-05-08  Bruno Haible  <bruno@clisp.org>
77568
77569         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
77570
77571 2006-05-05  Jim Meyering  <jim@meyering.net>
77572
77573         * m4/warning.m4: New file, derived from bison's file by the same name.
77574
77575 2006-05-03  Bruno Haible  <bruno@clisp.org>
77576
77577         * lib/stdint_.h: Shorter URL.
77578         * lib/inttypes.h: Likewise.
77579
77580 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77581
77582         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
77583
77584 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77585
77586         * lib/verify.h: Document the internals better.  Most of this change
77587         was written by Bruno Haible.
77588
77589 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77590
77591         * doc/verify.texi: New file, partly based on a proposal by
77592         Bruno Haible.
77593
77594 2006-05-02  Bruno Haible  <bruno@clisp.org>
77595
77596         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
77597         test from here...
77598         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
77599
77600 2006-04-29  Bruno Haible  <bruno@clisp.org>
77601
77602         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
77603         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
77604
77605 2006-04-29  Bruno Haible  <bruno@clisp.org>
77606
77607         * gnulib-tool: Make --update option actually work.
77608
77609 2006-04-29  Bruno Haible  <bruno@clisp.org>
77610
77611         * doc/gcd.texi: New file.
77612         * doc/gnulib.texi: Include it.
77613
77614 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
77615
77616         * lib/getdate.y (get_date): When adding relative date, start with the
77617         initial time, not with the result of the first mktime call.
77618
77619 2006-04-25  Bruno Haible  <bruno@clisp.org>
77620
77621         * gnulib-tool (func_import): Output the include directives in three
77622         blocks, sorted separately.
77623         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77624
77625 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77626
77627         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
77628         to define main with arguments, for C++.  Reported by Eric Blake.
77629         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
77630         Prefer 'int main ()' to 'int main (void)', for C++.
77631         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
77632         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
77633         for 'main', for C99 and C++.
77634
77635 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77636
77637         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
77638         Don't assume that exit status -1 is valid.
77639         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77640         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
77641         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
77642         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
77643         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
77644         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
77645         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
77646         functions can be used without declaring them, or that you can
77647         exit with status -1.
77648         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
77649
77650 2006-04-24  Karl Berry  <karl@gnu.org>
77651
77652         * config/srclist.txt (longdouble.m4): sync lost.
77653
77654 2006-04-24  Eric Blake  <ebb9@byu.net>
77655
77656         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
77657
77658 2006-04-24  Bruno Haible  <bruno@clisp.org>
77659
77660         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
77661         poll() implementation in AIX.
77662         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77663
77664 2006-04-24  Bruno Haible  <bruno@clisp.org>
77665
77666         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
77667         assigned exactly once.
77668
77669 2006-04-23  Claudio Fontana  <claudio@gnu.org>
77670             Bruno Haible  <bruno@clisp.org>
77671
77672         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
77673         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
77674         for AM_CPPFLAGS.
77675
77676 2006-04-23  Bruno Haible  <bruno@clisp.org>
77677
77678         * modules/copy-file: Depend on unistd.
77679         * modules/execute: Likewise.
77680         * modules/fatal-signal: Likewise.
77681         * modules/findprog: Likewise.
77682         * modules/mkdtemp : Likewise.
77683         * modules/pipe: Likewise.
77684         * modules/wait-process: Likewise.
77685
77686 2006-04-23  Bruno Haible  <bruno@clisp.org>
77687
77688         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
77689         condition was already detected.
77690         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77691
77692 2006-04-23  Bruno Haible  <bruno@clisp.org>
77693
77694         * lib/copy-file.c: Include <unistd.h> unconditionally.
77695         * lib/execute.c: Likewise.
77696         * lib/fatal-signal.c: Likewise.
77697         * lib/findprog.c: Likewise.
77698         * lib/mkdtemp.c: Likewise.
77699         * lib/pipe.h: Likewise.
77700         * lib/pipe.c: Likewise.
77701         * lib/wait-process.h: Likewise.
77702
77703 2006-04-23  Bruno Haible  <bruno@clisp.org>
77704
77705         * gnulib-tool (func_usage): Fix --import description. Document
77706         --update.
77707         (func_import): Create temporary file in a temporary directory, if
77708         --dry-run is specified. Silence errors from 'grep' when there are no
77709         m4 files in $m4dir.
77710         (func_create_testdir): Silence errors from 'grep' when there are no
77711         m4 files in $m4dir.
77712         Reported by Karl Berry <karl@freefriends.org>.
77713
77714 2006-04-20  Bruno Haible  <bruno@clisp.org>
77715
77716         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
77717         one argument, so that the code will be portable to Autoconf 2.60.
77718         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
77719         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77720         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
77721
77722 2006-04-19  Derek Price  <derek@ximbiot.com>
77723             Eric Blake  <ebb9@byu.net>
77724
77725         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
77726         rather than "/full/path.h".  Update comment to match.  Shorten &
77727         generalize m4_translit call via AS_TR_CPP.
77728
77729 2006-04-19  Derek Price  <derek@ximbiot.com>
77730             Eric Blake  <ebb9@byu.net>
77731
77732         * lib/inttypes.h: Correct grammar in comment.
77733
77734 2006-04-18  Derek Price  <derek@ximbiot.com>
77735             Paul Eggert  <eggert@cs.ucla.edu>
77736
77737         * modules/inttypes: New file.
77738         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
77739
77740 2006-04-18  Derek Price  <derek@ximbiot.com>
77741             Paul Eggert  <eggert@cs.ucla.edu>
77742
77743         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
77744         New files.
77745
77746 2006-04-18  Derek Price  <derek@ximbiot.com>
77747             Paul Eggert  <eggert@cs.ucla.edu>
77748
77749         * lib/inttypes.h: New file.
77750         * lib/strtoimax.c: Assume <inttypes.h>.
77751
77752 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
77753
77754         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
77755         isn't mounted.  Problem reported by Kir Kolyshkin.
77756
77757 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77758
77759         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
77760         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
77761         Derek R. Price.
77762         * lib/regex.h (RE_DUP_MAX): Update comment to match current
77763         implementation.
77764
77765 2006-04-12  Eric Blake  <ebb9@byu.net>
77766
77767         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
77768         is now done automatically by the corresponding Autoconf macro.
77769
77770 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
77771
77772         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
77773         time_r.h.
77774
77775 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77776
77777         Merge regex changes from libc, removing some of our
77778         POSIX-conformance changes that were rejected and redoing them in a
77779         less-intrusive way.
77780
77781         * lib/regcomp.c (re_compile_internal, init_dfa):
77782         Length arg is now size_t, not Idx.  All uses changed.
77783         (peek_token): Forward decl now says internal_function.
77784         (__re_error_msgid, __re_error_msgid_idx):
77785         Now static rather than extern with attribute_hidden.
77786         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
77787         For some reason libc prefers K&R style defns for external functions.
77788         (regerror) [!defined _LIBC]: Likewise.
77789         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
77790         (seek_collating_symbol_entry, lookup_collation_sequence_value):
77791         (build_range_exp, build_collating_symbol):
77792         Use K&R-style defn.
77793         (re_compile_fastmap): Use '\0' to memset, not 0.
77794         (utf8_sb_map): Make the calculations more obvious.
77795         (init_dfa, parse_bracket_exp, build_charclass_op):
77796         Call calloc and cast result, as glibc does.
77797         (init_word_char, fetch_token, peek_token, peek_token_bracket):
77798         (build_range_exp, build_collating_symbol):
77799         Now internal functions.
77800
77801         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
77802
77803         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
77804         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
77805         Don't depend on VMS; depend on __VMS instead, for POSIX
77806         namespace cleanness.
77807         (regoff_t): Define to ssize_t, not long int.
77808
77809         Remove the REG_ macros named below.  Instead, make the old names
77810         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
77811         __USE_GNU_REGEX.
77812         (REG_BACKSLASH_ESCAPE_IN_LISTS):
77813         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
77814         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
77815         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
77816         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
77817         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
77818         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
77819         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
77820         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
77821         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
77822         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
77823         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
77824         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
77825         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
77826         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
77827         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
77828         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
77829         (REG_NREGS):
77830         Remove.  All uses replaced by the old RE_* names.
77831         (RE_BACKSLASH_ESCAPE_IN_LISTS):
77832         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
77833         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
77834         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
77835         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
77836         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
77837         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
77838         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
77839         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
77840         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
77841         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
77842         Don't bother having these macros be independent of each others'
77843         values, since they no longer exist in the POSIX name space.
77844
77845         Rename the following member names back to their old names,
77846         unless !__USE_GNU_REGEX.  All uses changed back.
77847         (buffer): Renamed from re_buffer.
77848         (allocated): Renamed from re_allocated.
77849         (used): Renamed from re_used.
77850         (syntax): Renamed from re_syntax.
77851         (fastmap): Renamed from re_fastmap.
77852         (translate): Renamed from re_translate.
77853         (can_be_null): Renamed from re_can_be_null.
77854         (regs_allocated): Renamed from re_regs_allocated.
77855         (fastmap_accurate): Renamed from re_fastmap_accurate.
77856         (no_sub): Renamed from re_no_sub.
77857         (not_bol): Renamed from re_not_bol.
77858         (not_eol): Renamed from re_not_eol.
77859         (newline_anchor): Renamed from re_newline_anchor.
77860         (num_regs): Renamed from rm_num_regs.
77861         (start): Renamed from rm_start.
77862         (end): Renamed from rm_end.
77863
77864         (free_state): Move up a bit.
77865
77866         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
77867         #define to be empty.
77868         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
77869         when that is what is intended.
77870         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
77871         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
77872         (MAX): New macro.
77873         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
77874         All uses changed back to re_malloc, etc.  It's now the caller's
77875         responsibility to check for overflow; all callers changed.
77876         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
77877         (re_x2nrealloc): Remove.
77878         (free_state): Remove decl.
77879
77880         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
77881         (re_set_registers, re_exec):
77882         Use K&R-style defn.
77883
77884         2006-01-31  Roland McGrath  <roland@redhat.com>
77885
77886         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
77887         Reported by Mike Frysinger <vapier@gentoo.org>.
77888
77889         2006-01-15  Andreas Jaeger  <aj@suse.de>
77890
77891         [BZ #1950]
77892         * lib/regex_internal.c (re_string_reconstruct): Adjust for
77893         build_wcs_upper_buffer change.
77894         (build_wcs_upper_buffer): Change return type.
77895
77896         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
77897
77898         * lib/regex_internal.h: Include <stdint.h> if available.
77899
77900         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
77901
77902         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
77903
77904         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
77905
77906         * lib/regcomp.c: Adjust for changed secondary hash function.
77907
77908         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
77909
77910         * lib/regex.h: Pretty printing.
77911         Clean up namespace a bit.
77912
77913         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
77914
77915         * lib/regexec.c (update_cur_sifted_state, check_arrival,
77916         check_arrival_add_next_nodes): Avoid using uninitialized variable.
77917
77918         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77919                     Ulrich Drepper  <drepper@redhat.com>
77920
77921         [BZ #1302]
77922         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
77923         changed.
77924         (bitset_word_t): Renamed from bitset_word.  All uses changed.
77925
77926         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
77927
77928         [BZ #281]
77929         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
77930         * lib/regcomp.c: Remove unnecessary uses of
77931         unsigned RE_TRANSLATE_TYPE.
77932         * lib/regex_internal.h: Likewise.
77933         * lib/regex_internal.c: Likewise.
77934         * lib/regexec.c: Likewise.
77935         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
77936
77937         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
77938
77939         * lib/regexec.c (find_recover_state): Remove unnecessary
77940         initialization.
77941         (transit_state_bkref): Make DFA a const pointer.
77942         (get_subexp): Likewise.
77943         (check_arrival): Likewise.
77944         (update_cur_sifted_state): Likewise.
77945         (re_search_internal): Likewise.
77946         (prune_impossible_nodes): Likewise.
77947         (acquire_init_state_context): Likewise.
77948         (proceed_next_node): Likewise.
77949         (set_regs): Likewise.
77950         (free_fail_stack_return): Likewise.
77951         (check_arrival_expand_ecl): Mark DFA parameter as const.
77952         (check_arrival_expand_ecl_sub): Likewise.
77953         (check_subexp_limits): Likewise.
77954         (sub_epsilon_src_nodes):  Likewise.
77955         (add_epsilon_src_nodes):  Likewise.
77956         (merge_state_array): Likewise.
77957         (update_regs): Likewise.
77958         (build_trtable): Likewise.
77959         (sift_states_backward): Mark MCTX parameter as const.
77960         (build_sifted_states): Likewise.
77961         (update_cur_sifted_state): Likewise.
77962         (sift_states_mkref): Likewise.
77963         (check_arrival_expand_ecl): Mark eclosure as const.
77964         (check_dst_limits_calc_pos_1): Likewise.
77965         * lib/regex_internal.h (re_match_context_t): Make dfa a const
77966         pointer.
77967
77968         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
77969
77970         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
77971         (transit_state_sb): Likewise.
77972         (transit_state_mb): Likewise.
77973         (sift_states_iter_mb): Likewise.
77974         (check_arrival_add_next_nodes): Likewise.
77975         (check_node_accept_bytes): Change first parameter to pointer-to-const.
77976         [_LIBC] (re_search_2_stub): Use mempcpy.
77977
77978         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
77979         mbrtowc for very simple UTF-8 case.
77980
77981         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
77982         a pointer-to-const.
77983         (re_acquire_state_context): Likewise.
77984         * lib/regex_internal.h: Adjust prototypes.
77985
77986         * lib/regex.c: Prevent using C++ compilers.
77987
77988         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
77989         (re_acquire_state_context): Likewise.
77990
77991 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77992
77993         * modules/regex (Depends-on): Add ssize_t.
77994
77995 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77996
77997         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
77998         translation table.
77999
78000 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78001
78002         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78003
78004 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78005             Bruno Haible  <bruno@clisp.org>
78006
78007         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78008         <sys/types.h> and <inttypes.h>.
78009
78010 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78011
78012         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78013         `__error_t_defined', so argp.h will not typedef the former.
78014
78015 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78016
78017         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78018         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78019         glibc names.  Even if glibc is changed to conform to POSIX, the
78020         traditional names will be available anyway, since regex depends on
78021         the extensions module.  Also, fix a longstanding typo in the
78022         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78023         reported by Emanuele Giaquinta.  Also, change sense of cached
78024         variable, so that the message makes sense.
78025
78026 2006-03-24  Simon Josefsson  <jas@extundo.com>
78027
78028         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78029         including some doc fixes.
78030         (base64_encode_alloc): Fix +1 bug on allocation failures.
78031
78032 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78033
78034         * lib/base64.c (base64_encode): Do not read past end of array with
78035         unsanitized input on systems with CHAR_BIT > 8.
78036
78037 2006-03-24  Eric Blake  <ebb9@byu.net>
78038
78039         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78040
78041 2006-03-22  Karl Berry  <karl@gnu.org>
78042
78043         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78044         * config/srclistvars.sh (COREUTILS): new var.
78045
78046 2006-03-17  Jim Meyering  <jim@meyering.net>
78047
78048         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78049         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78050
78051 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78052
78053         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78054         no longer needs it.  Instead, check that regoff_t is as least
78055         as wide as ptrdiff_t.
78056
78057         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78058         so that our regex.h stays compatible with the installed regex.
78059         This is helpful for installers who configure --without-included-regex.
78060         Problem reported by Emanuele Giaquinta.
78061
78062 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78063
78064         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78065         Typedef to long int, not to off_, as POSIX will likely change
78066         in that direction.
78067
78068 2006-03-15  Eric Blake  <ebb9@byu.net>
78069
78070         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78071
78072 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78073
78074         * lib/argp-help.c (validate_uparams): Fix typo
78075         * lib/argp-parse.c (argp_default_options): Consistently begin help
78076         messages with a lowercase letter.
78077
78078 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78079
78080         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78081         overrun buffers and shouldn't be used (much as gets shouldn't be
78082         used).
78083         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78084
78085 2006-03-08  Simon Josefsson  <jas@extundo.com>
78086
78087         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78088         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78089
78090 2006-03-08  Simon Josefsson  <jas@extundo.com>
78091
78092         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78093         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78094
78095 2006-03-08  Simon Josefsson  <jas@extundo.com>
78096
78097         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
78098         signal that configure disabled the device.
78099
78100 2006-03-08  Simon Josefsson  <jas@extundo.com>
78101
78102         * build-aux/maint.mk: Fix refresh-po, to handle no translated
78103         languages.
78104
78105 2006-03-07  Simon Josefsson  <jas@extundo.com>
78106
78107         * modules/getopt (Depends-on): Add unistd.
78108
78109         * modules/unistd: New file.
78110
78111 2006-03-07  Simon Josefsson  <jas@extundo.com>
78112
78113         * modules/gc-random: New file.
78114
78115 2006-03-07  Simon Josefsson  <jas@extundo.com>
78116
78117         * m4/unistd_h.m4: New file.
78118
78119 2006-03-07  Simon Josefsson  <jas@extundo.com>
78120
78121         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
78122         test to be side-effect free by storing the result in the cache
78123         variable gl_cv_lib_readline, and moving the assignment of
78124         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
78125         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78126
78127 2006-03-07  Simon Josefsson  <jas@extundo.com>
78128
78129         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
78130         error on missing devices (the functions will return an error).
78131
78132         * m4/gc.m4: Move random stuff to gc-random.m4
78133
78134 2006-03-07  Simon Josefsson  <jas@extundo.com>
78135
78136         * lib/unistd_.h: New file.
78137
78138 2006-03-07  Simon Josefsson  <jas@extundo.com>
78139
78140         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
78141
78142 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78143
78144         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
78145         Problem reported by Juan Manuel Guerrero.
78146
78147 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78148
78149         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
78150         the unistd module.
78151         * lib/getlogin_r.c: Likewise.
78152         * lib/getlogin_r.h: Likewise.
78153         * lib/glob.c: Likewise.
78154         * lib/pagealign_alloc.c: Likewise.
78155         * lib/unistd_.h: Remove; no longer needed.
78156
78157 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78158
78159         * MODULES.html.sh (Support for systems lacking POSIX:2001):
78160         Add unistd.
78161         * modules/c-stack (Depends-on): Add unistd.
78162         * modules/getlogin_r: Likewise.
78163         * modules/glob: Likewise.
78164         * modules/pagealign_alloc: Likewise.
78165         * modules/unistd (Files): Remove lib/unistd_.h.
78166         (EXTRA_DIST): Remove.
78167         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
78168         need unistd_.h.
78169         (MOSTLYCLEANFILES): Remove unistd.h-t.
78170
78171 2006-03-03  Simon Josefsson  <jas@extundo.com>
78172
78173         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
78174
78175 2006-03-03  Simon Josefsson  <jas@extundo.com>
78176
78177         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
78178         libidn and bison.
78179
78180 2006-03-03  Simon Josefsson  <jas@extundo.com>
78181
78182         * build-aux/maint.mk: Add indent target.
78183
78184 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
78185
78186         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
78187         our replacement poll.h in any case, to avoid a differing
78188         declaration from a system header.  Seen on AIX.
78189
78190 2006-03-01  Simon Josefsson  <jas@extundo.com>
78191
78192         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
78193         <kasal@ucw.cz>.
78194
78195 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78196
78197         * modules/gettime (Depends-on): Add extensions module.
78198         * modules/nanosleep (Depends-on): Likewise.
78199         * modules/settime (Depends-on): Likewise.
78200
78201 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78202
78203         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
78204         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
78205         pedantically.
78206         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78207         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
78208
78209         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
78210         not "==".  Reported by Ralf Wildenhues.
78211
78212 2006-03-01  Karl Berry  <karl@gnu.org>
78213
78214         * doc/Copyright/request-*: new files, synced from gnuorg.
78215
78216 2006-03-01  Karl Berry  <karl@gnu.org>
78217
78218         * config/srclist.txt (Copyright/*): new entries.
78219
78220 2006-02-28  Simon Josefsson  <jas@extundo.com>
78221
78222         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
78223
78224 2006-02-27  Simon Josefsson  <jas@extundo.com>
78225
78226         * lib/base64.h: Indent #define's.  From Jim Meyering
78227         <jim@meyering.net>.
78228
78229 2006-02-27  Jim Meyering  <jim@meyering.net>
78230
78231         Revert the change of 2006-02-24, so these files can continue
78232         to be sync'd from gettext.
78233         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
78234         of `config.h'.
78235
78236 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78237
78238         * modules/intprops: New file.
78239         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
78240         Add intprops.
78241         * modules/getloadavg (Files): Remove lib/intprops.h.
78242         (Depends-on): Add intprops.
78243         * modules/human: Likewise.
78244         * modules/inttostr: Likewise.
78245         * modules/openat: Likewise.
78246         * modules/sig2str: Likewise.
78247         * modules/userspec: Likewise.
78248         * modules/utimecmp: Likewise.
78249         * modules/xnanosleep: Likewise.
78250         * modules/xstrtol: Likewise.
78251
78252 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
78253
78254         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
78255         * modules/lock-tests (TESTS): Use $(EXEEXT).
78256         * modules/tls-tests: Likewise.
78257         * modules/argp-tests: Likewise.
78258         (check_PROGRAMS): New var, replacing...
78259         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
78260
78261 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78262
78263         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
78264         `config.h'.
78265
78266 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
78267
78268         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
78269
78270 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78271
78272         Sync from coreutils.
78273         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
78274         gl_CHDIR_SAFER.
78275
78276 2006-02-22  Jim Meyering  <jim@meyering.net>
78277
78278         Sync from coreutils.
78279         * m4/chdir-safer.m4: New file.
78280
78281 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
78282
78283         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
78284         AT_FDCWD exceeds INT_MAX.
78285         * lib/openat.h (AT_FDCWD): Likewise.
78286
78287 2006-02-17  Eric Blake  <address@hidden>
78288
78289         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
78290
78291 2006-02-16  Simon Josefsson  <jas@extundo.com>
78292
78293         * modules/getaddrinfo (Depends-on): Add sys_socket.
78294
78295 2006-02-15  Simon Josefsson  <jas@extundo.com>
78296
78297         * build-aux/maint.mk: Add dsyntax-check rule.
78298
78299 2006-02-15  Eric Blake  <ebb9@byu.net>
78300
78301         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
78302         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
78303         'present but cannot compile' warnings on cygwin.
78304         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
78305         use ws2tcpip.h if sys/socket.h works.
78306         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
78307         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
78308
78309 2006-02-14  Simon Josefsson  <jas@extundo.com>
78310
78311         * modules/maintainer-makefile (Files): Rename.
78312
78313         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
78314         and (the local) Makefile.cfg to maint-cfg.mk.
78315
78316         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
78317         to the latter.
78318
78319         * modules/maintainer-makefile: New module.
78320
78321         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
78322         severaly stripped to make it possible to build it up from scratch
78323         with reliable tests.
78324
78325         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
78326         fixes to permit overriding the default actions when configure and
78327         makefile are not available.
78328
78329 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
78330
78331         Sync from coreutils.
78332         * modules/lstat (Depends-on): Don't depend on xalloc.
78333         (License): Change from GPL to LGPL, since this is now simply a
78334         replacement for a libc function.
78335
78336 2006-02-14  Jim Meyering  <jim@meyering.net>
78337
78338         Sync from coreutils.
78339
78340         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
78341         failure on deficient systems, and simplify gnulib lgpl dependencies.
78342         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
78343         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
78344
78345         * lib/xalloc-die.c: Remove unused definition of N_.
78346
78347 2006-02-14  Jim Meyering  <jim@meyering.net>
78348
78349         Sync from coreutils.
78350         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
78351         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
78352         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
78353         double-quote uses of that variable, to accommodate the rare case in
78354         which getmntent is available in none of the libraries checked.  This
78355         happens at least on FreeBSD 5.0.
78356
78357 2006-02-13  Simon Josefsson  <jas@extundo.com>
78358
78359         * gnulib-tool (Usage): Fix --import, from
78360         karl@freefriends.org (Karl Berry).
78361
78362 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78363
78364         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
78365
78366 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
78367
78368         * lib/argp-namefrob.h: Restore changes accidentally lost during the
78369         "autoupdate" on 2005-12-12.
78370
78371 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78372
78373         * modules/closeout (Depends-on): Remove atexit.
78374
78375 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78376
78377         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
78378         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
78379
78380 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
78381
78382         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
78383         __EXTENSIONS__ if this causes compilation to fail.  Problem
78384         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
78385         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
78386
78387 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
78388
78389         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
78390         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
78391         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
78392         All uses changed.
78393
78394 2006-01-26  Simon Josefsson  <jas@extundo.com>
78395
78396         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
78397         prototype is visible on mingw32.
78398
78399         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
78400         for mingw32.
78401
78402         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
78403         mingw32).
78404
78405 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
78406
78407         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
78408         attempt to open for write; this always fails, at least on POSIX
78409         hosts.  This reinstates the 2006-01-09 change, which was
78410         inadvertently removed.
78411
78412 2006-01-26  Bruno Haible  <bruno@clisp.org>
78413
78414         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
78415         Reported by Paul Eggert.
78416
78417 2006-01-26  Bruno Haible  <bruno@clisp.org>
78418             Paul Eggert  <eggert@cs.ucla.edu>
78419
78420         * lib/stdbool_.h (_Bool)
78421         [(! (defined __cplusplus || defined __BEOS__)
78422           && !defined __GNUC__
78423           && !(defined __HP_cc || defined __xlc__
78424                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
78425                || defined __sgi))]:
78426         #define to signed char in these cases too; this simplifies
78427         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
78428         etc., separately) and makes it more conservative.
78429
78430 2006-01-25  Simon Josefsson  <jas@extundo.com>
78431
78432         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
78433         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
78434         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
78435
78436 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78437
78438         * lib/argp-namefrob.h: Bugfix. Remove stray #
78439
78440 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
78441
78442         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
78443         so that we test the test.
78444         Check for yet another HP-UX cc bug involving *bool |= bool.
78445
78446 2006-01-25  Karl Berry  <karl@gnu.org>
78447
78448         * config/srclist.txt (vasnprintf.c): sync lost.
78449
78450 2006-01-25  Jim Meyering  <jim@meyering.net>
78451
78452         Sync from the stable (b5) branch of coreutils:
78453
78454         * lib/fts.c (fts_children): Don't let close() clobber errno from
78455         failed fchdir().
78456
78457         * lib/fts.c (fts_stat): When following a symlink-to-directory,
78458         don't necessarily interpret stat-fails+lstat-succeeds as indicating
78459         a dangling symlink.  That can also happen at least for ELOOP.
78460         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
78461         FYI, this bug predates the inclusion of fts.c in coreutils.
78462
78463         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
78464         in their own block, so pre-c99 compilers don't object.
78465
78466         Avoid the double-free (first in fts_read, second in fts_close) that
78467         would occur when an `active' directory is made inaccessible (e.g.,
78468         via chmod a-x) during a traversal.
78469         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78470         before returning.  Reproduce this failure by
78471         mkdir -p a/b; cd a; chmod a-x . b
78472         Reported by Stavros Passas.
78473
78474 2006-01-25  Jim Meyering  <jim@meyering.net>
78475
78476         * lib/fileblocks.c: Remove more useless parentheses.
78477         * lib/readutmp.h: Likewise.
78478
78479 2006-01-25  Bruno Haible  <bruno@clisp.org>
78480
78481         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
78482         warnings.
78483         Reported by Paul Eggert.
78484
78485 2006-01-25  Bruno Haible  <bruno@clisp.org>
78486
78487         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
78488         rid of a trap command. For Solaris sh.
78489         Reported by Mark D. Baushke <mdb@gnu.org>.
78490
78491 2006-01-24  Simon Josefsson  <jas@extundo.com>
78492
78493         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
78494         Bruno.
78495
78496 2006-01-24  Karl Berry  <karl@gnu.org>
78497
78498         * config/srclist.txt (argp-namefrob.h): sync lost.
78499
78500 2006-01-24  Jim Meyering  <jim@meyering.net>
78501
78502         * modules/openat (Files): Add lib/intprops.h.
78503         From Mark D. Baushke.
78504
78505 2006-01-24  Jim Meyering  <jim@meyering.net>
78506
78507         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
78508         Reported by Mark D. Baushke.
78509
78510 2006-01-24  Jim Meyering  <jim@meyering.net>
78511
78512         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
78513
78514 2006-01-24  Bruno Haible  <bruno@clisp.org>
78515
78516         * modules/strnlen (Maintainer): Change from glibc to all.
78517
78518 2006-01-24  Bruno Haible  <bruno@clisp.org>
78519
78520         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
78521         Patch by Paul Eggert.
78522
78523 2006-01-24  Bruno Haible  <bruno@clisp.org>
78524
78525         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
78526         already has it.
78527         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
78528         2005-11-26.
78529
78530         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
78531         'signed char' to avoid problems with the built-in _Bool type.
78532         Reported by Paul Eggert on 2005-11-26.
78533
78534 2006-01-24  Bruno Haible  <bruno@clisp.org>
78535
78536         * gnulib-tool (func_import): Avoid constructing complicated sed
78537         expressions inside backquote.
78538         Report and solution by Mark D. Baushke <mdb@gnu.org>.
78539
78540 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
78541
78542         These changes imported from libc.
78543         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
78544         test and two separate function calls.
78545         * lib/strndup.c (__strndup): Add libc_hidden_def.
78546
78547 2006-01-23  Simon Josefsson  <jas@extundo.com>
78548
78549         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
78550         Remove the test_*_SOURCES variable: automake infers it by default.
78551         * modules/tls-tests: Likewise.
78552
78553 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78554
78555         Work around porting bugs reported by Dieter in
78556         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
78557         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
78558         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
78559         Include "getopt.h" first, to check interface.
78560         (getenv): Declare only if defined HAVE_DECL_GETENV &&
78561         !HAVE_DECL_GETENV.
78562         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
78563         (__strndup): Revert to K&R-style function dfns, the glibc style.
78564         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
78565         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
78566         Include strnlen.h first, to get prototype properly.
78567         (strnlen): Renamed from __strnlen.
78568         Remove weak alias.
78569
78570 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78571
78572         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
78573
78574 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         * config/srclist.txt: Adjust to reflect glibc reorganization.
78577         This affects only comments.
78578
78579 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78580
78581          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
78582          Reported by Bruce Korb <bkorb@gnu.org>.
78583
78584 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
78585
78586         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
78587         to pacify gcc -Wswitch-default.
78588
78589 2006-01-22  Bruno Haible  <bruno@clisp.org>
78590
78591         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
78592         temporary buffer for sprintf, take into account the precision also
78593         for 'd', 'i', 'u', 'o', 'x', 'X'.
78594
78595 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78596
78597         * modules/argp-tests: New module
78598         * tests/test-argp.c: New file
78599         * tests/test-argp-2.sh: New file
78600
78601 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78602
78603         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
78604         (__argp_base_name): Removed
78605         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
78606         typo.
78607         (__argp_base_name): Provide macro definition or extern declaration
78608         depending on the configuration
78609
78610 2006-01-20  Simon Josefsson  <jas@extundo.com>
78611
78612         * modules/inet_ntop (Depends-on): Depend on sys_socket.
78613
78614 2006-01-20  Simon Josefsson  <jas@extundo.com>
78615
78616         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
78617
78618 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78619
78620         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
78621         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
78622         Suggested by Bruno Haible.
78623
78624 2006-01-20  Karl Berry  <karl@gnu.org>
78625
78626         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
78627         until changes propagate, I guess.
78628
78629 2006-01-19  Simon Josefsson  <jas@extundo.com>
78630
78631         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
78632
78633 2006-01-19  Simon Josefsson  <jas@extundo.com>
78634
78635         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
78636
78637 2006-01-19  Simon Josefsson  <jas@extundo.com>
78638
78639         * gnulib-tool: Set check_PROGRAMS.
78640
78641         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78642         modules/des-tests, modules/gc-arcfour-tests,
78643         modules/gc-arctwo-tests, modules/gc-des-tests,
78644         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78645         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78646         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78647         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78648         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78649         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
78650         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
78651         test_*_SOURCES.
78652
78653 2006-01-18  Simon Josefsson  <jas@extundo.com>
78654
78655         * modules/socklen (Depends-on): Depend on sys_socket.
78656
78657 2006-01-18  Simon Josefsson  <jas@extundo.com>
78658
78659         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78660         modules/des-tests, modules/gc-arcfour-tests,
78661         modules/gc-arctwo-tests, modules/gc-des-tests,
78662         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78663         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78664         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78665         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78666         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78667         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
78668         $(EXEEXT) to automake TESTS variable, for mingw32.
78669
78670 2006-01-17  Simon Josefsson  <jas@extundo.com>
78671
78672         * modules/socklen (Include): Need sys/socket.h.
78673
78674 2006-01-17  Bruno Haible  <bruno@clisp.org>
78675
78676         * modules/ssize_t (Include): Add <sys/types.h>.
78677
78678 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
78679
78680         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
78681         it's not portable and it doesn't work with cross-compiles.
78682         Problem reported by Bruno Haible.  Fix missing-$ typo in
78683         'test "gl_cv_ignore_unused_libraries" ...' that prevented
78684         -zignore from being used with Sun's C compiler.
78685
78686 2006-01-12  Simon Josefsson  <jas@extundo.com>
78687
78688         * lib/base64.c: Fix warning, reported by Bruno Haible
78689         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
78690
78691 2006-01-12  Bruno Haible  <bruno@clisp.org>
78692
78693         * modules/ldd: New file.
78694         * build-aux/ldd.sh.in: New file.
78695         * MODULES.html.sh (Support for building libraries and executables): Add
78696         ldd.
78697
78698 2006-01-12  Bruno Haible  <bruno@clisp.org>
78699
78700         * m4/ldd.m4: New file.
78701
78702 2006-01-12  Bruno Haible  <bruno@clisp.org>
78703
78704         * gnulib-tool (func_import, func_create_testdir): Don't go into an
78705         endless loop while replacing $auxdir with build-aux.
78706
78707 2006-01-11  Simon Josefsson  <jas@extundo.com>
78708
78709         * lib/stdint_.h (SIZE_MAX): Add missing (.
78710
78711 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
78712
78713         Sync from coreutils.
78714         * lib/md5.c: Fix commentary typos.
78715         (alignof, UNALIGNED_P): No need for a GCC-specific version.
78716         * lib/md5.h (__attribute__): Remove; unused.
78717         * lib/sha1.c: Fix commentary to match md5 better.
78718         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
78719         so that we don't need to worry about alignment.  All uses changed.
78720         This merges the 2005-10-28 md5 change into sha1.
78721
78722 2006-01-11  Jim Meyering  <jim@meyering.net>
78723
78724         Sync from coreutils.
78725         * lib/md5.c (OP): Fix spacing.
78726
78727 2006-01-11  Bruno Haible  <bruno@clisp.org>
78728
78729         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78730         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
78731         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
78732
78733 2006-01-11  Bruno Haible  <bruno@clisp.org>
78734
78735         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78736         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
78737         the "early" section as well.
78738
78739 2006-01-11  Bruno Haible  <bruno@clisp.org>
78740
78741         Avoid "ar: no archive members specified" error on MacOS X.
78742         * gnulib-tool (func_modules_add_dummy): New function.
78743         (func_import, func_create_testdir): Invoke it.
78744
78745 2006-01-11  Bruno Haible  <bruno@clisp.org>
78746
78747         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
78748         with $auxdir in AC_CONFIG_FILES statements.
78749
78750 2006-01-11  Bruno Haible  <bruno@clisp.org>
78751
78752         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78753         Initialize also noinst_HEADERS to empty.
78754
78755 2006-01-11  Bruno Haible  <bruno@clisp.org>
78756
78757         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
78758         variables.
78759         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
78760         autoreconf.
78761
78762 2006-01-11  Bruno Haible  <bruno@clisp.org>
78763
78764         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
78765         overridable by the user.
78766         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78767
78768 2006-01-10  Simon Josefsson  <jas@extundo.com>
78769
78770         * modules/sys_socket: New file.
78771
78772 2006-01-10  Simon Josefsson  <jas@extundo.com>
78773
78774         * m4/sys_socket_h.m4: New file.
78775
78776 2006-01-10  Simon Josefsson  <jas@extundo.com>
78777
78778         * lib/socket_.h: New file.
78779
78780 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78781
78782         * modules/readutmp (Maintainer): Add myself.
78783
78784 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78785
78786         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
78787         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
78788         People who are still concerned with buggy memcmp implementations
78789         can invoke gl_FUNC_MEMCMP themselves.
78790
78791 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78792
78793         * lib/regex_internal.h (BITSET_WORD_BITS):
78794         Work around a bug in 64-bit PGC (before version 6.1-2), where the
78795         preprocessor mishandles large unsigned values as if they were signed.
78796         Problem reported by Claudio Fontana in
78797         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
78798
78799 2006-01-10  Jim Meyering  <jim@meyering.net>
78800
78801         Avoid the double-free (first in fts_read, second in fts_close) that
78802         would occur when an `active' directory is made inaccessible (e.g.,
78803         via chmod a-x) during a traversal.
78804         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78805         before returning.  Reproduce this failure by
78806         mkdir -p a/b; cd a; chmod a-x . b
78807         Reported by Stavros Passas.
78808
78809         Sync from coreutils.
78810         * lib/sha1.c: Tweak grammar in a comment.
78811
78812 2006-01-10  Jim Meyering  <jim@meyering.net>
78813
78814         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
78815         Patch by Joerg Sonnenberger.
78816
78817 2006-01-10  Bruno Haible  <bruno@clisp.org>
78818
78819         * modules/readutmp: Depend on module free.
78820         * modules/strtok_r: Depend on module restrict.
78821
78822 2006-01-10  Bruno Haible  <bruno@clisp.org>
78823
78824         * modules/gettext (configure.ac): Add an invocation of
78825         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
78826
78827 2006-01-10  Bruno Haible  <bruno@clisp.org>
78828
78829         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
78830         Reported by Werner Lemberg <wl@gnu.org>.
78831
78832 2006-01-10  Bruno Haible  <bruno@clisp.org>
78833
78834         * lib/localcharset.c: Update from GNU gettext.
78835
78836 2006-01-10  Bruno Haible  <bruno@clisp.org>
78837
78838         * lib/argp.h (__const): Remove macro. Use const instead.
78839         * lib/argp-fmtstream.h (__const): Likewise.
78840         * lib/glob_.h (__const): Remove macro.
78841         * lib/glob-libc.h: Use const instead of __const.
78842
78843 2006-01-10  Bruno Haible  <bruno@clisp.org>
78844
78845         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
78846         variable.
78847         Needed to avoid an automake error regarding the 'gettext' module.
78848
78849 2006-01-09  Simon Josefsson  <jas@extundo.com>
78850
78851         * modules/inet_ntop (Depends-on): Add restrict.
78852
78853 2006-01-09  Simon Josefsson  <jas@extundo.com>
78854
78855         * modules/gc-rijndael-tests (License): Put under LGPL.
78856
78857         * modules/gc-des-tests (License): Likewise.
78858
78859         * modules/gc-arcfour-tests (License): Likewise.
78860
78861         * modules/gc-arctwo-tests (License): Likewise.
78862
78863         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
78864
78865         * modules/gc-hmac-sha1-tests (Files): Likewise.
78866
78867         * modules/gc-hmac-md5-tests (License): Likewise.
78868
78869         * modules/gc-sha1-tests (License): Likewise.
78870
78871         * modules/gc-md5-tests (License): Likewise.
78872
78873         * modules/gc-md4-tests (License): Likewise.
78874
78875         * modules/gc-md2-tests (License): Likewise.
78876
78877         * modules/gc-tests (License): Likewise.
78878
78879         * modules/des-tests (License): Likewise.
78880
78881         * modules/md4-tests (License): Likewise.
78882
78883         * modules/md2-tests (License): Likewise.
78884
78885 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78886
78887         Sync from coreutils:
78888
78889         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
78890         * modules/lib-ignore: New file.
78891         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
78892         chdir-safer.m4, lchmod.m4.
78893         * modules/openat: Add mkdirat.c, openat-priv.h.
78894
78895 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78896
78897         Sync from coreutils.
78898         * m4/lib-ignore.m4: New file.
78899         * m4/lchmod.m4: New file.
78900
78901 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78902
78903         Sync from coreutils.
78904         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
78905         for write access: POSIX says that must fail.
78906         * lib/fts.c (diropen): Likewise.
78907         * lib/save-cwd.c (save_cwd): Likewise.
78908         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
78909         well, for minor improvements on hosts that lack O_DIRECTORY.
78910         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
78911         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
78912         Fall back on chown if open failed with EACCES.
78913
78914         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
78915         Report an error at compile-time if only a 1-second nominal clock
78916         resolution is found.
78917
78918         * lib/lchmod.h: New file.
78919         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
78920         (make_dir_parents): Use lchown rather than chown, and
78921         lchmod rather than chmod.
78922
78923         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
78924         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
78925         "proc" reported by n0dalus.
78926
78927         * lib/mountlist.c: Include <limits.h>.
78928         (dev_from_mount_options)
78929         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
78930         New function.  It no longer assumes "dev=" has the System V meaning
78931         on Linux (since it doesn't).  It also parses "dev=" more carefully.
78932         (read_file_system_list)
78933         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
78934         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
78935         dev= in that case.
78936
78937         * lib/posixtm.h (PDS_PRE_2000): New macro.
78938         * lib/posixtm.c (year): Arg is now syntax_bits rather than
78939         allow_century.  All usages changed.  Reject dates outside the range
78940         1969-1999 if PDS_PRE_2000 is used.
78941
78942 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78943
78944         Sync from coreutils.
78945         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
78946         (Time of day items): Mention the possibility of leap seconds.
78947         Problem reported by Dr. David Alan Gilbert.
78948
78949 2006-01-09  Jim Meyering  <jim@meyering.net>
78950
78951         Sync from coreutils.
78952
78953         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
78954
78955         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
78956
78957         * lib/modechange.c (mode_compile): Reject an invalid mode string
78958         that starts with an octal digit.  From Andreas Gruenbacher.
78959
78960         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
78961         and dup to open_safer and dup_safer, respectively.
78962         (openat_permissive): Fix typo in comment.
78963
78964         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
78965         "gettext.h"; either no longer needed or are guaranteed by openat.h.
78966         (_): Remove; no longer needed.
78967         (openat): Renamed from rpl_openat; no need for rpl_openat
78968         since openat.h renames openat for us.
78969         Replace most of the body with a call to openat_permissive,
78970         to avoid duplicate code.
78971         Port to (probably hypothetical) environments were mode_t is
78972         wider than int.
78973         (openat_permissive): Require mode arg, so that we can check
78974         types better.  Put it just after flags.  Change cwd failure
78975         indicator from pointer-to-bool to pointer-to-errno-value.
78976         All callers changed.
78977         Invoke openat_save_fail and/or openat_restore_fail if
78978         cwd_errno is null, so that openat can call us.
78979         (openat_permissive, fdopendir, fstatat, unlinkat):
78980         Simplify errno handling to avoid some duplicate code,
78981         as it's OK to set errno on success.
78982         * lib/openat.h: Revamp code so that function macros depend on
78983         __OPENAT_PREFIX only, not also on AT_FDCWD.
78984         (openat_ro): Remove.  Caller changed to use openat_permissive.
78985         (openat_permissive): Now a macro, if not a function.
78986         (openat_restore_fail, openat_save_fail): Now always functions,
78987         since mkdirat needs them even if __OPENAT_PREFIX is defined.
78988
78989         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
78990         and openat.c.
78991         * lib/mkdirat.c: Include openat-priv.h.
78992         Remove definitions of macros defined therein.
78993         * lib/openat.c: Likewise.
78994
78995         * lib/mkdirat.c (mkdirat): New file and function.
78996         * lib/openat.h (mkdirat): Declare.
78997
78998         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
78999
79000         * lib/openat.h (openat_permissive): Declare.
79001         (openat_ro): Define.
79002
79003         * lib/openat.c (EXPECTED_ERRNO): New macro.
79004         (openat_permissive): New function -- used in remove.c rewrite.
79005         (all functions): Set errno just before returning, only if there
79006         was an actual failure.
79007         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79008
79009         Emulate openat-family functions using Linux's procfs, if possible.
79010         Idea and some code based on Ulrich Drepper's glibc changes.
79011
79012         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79013         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79014         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79015         before falling back on save_cwd and restore_cwd.
79016         (fdopendir, fstatat, unlinkat): Likewise.
79017
79018         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79019         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79020
79021         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79022         as second argument to va_arg.  Otherwise, some versions of gcc
79023         warn that `if this code is reached, the program will abort'.
79024
79025 2006-01-09  Jim Meyering  <jim@meyering.net>
79026
79027         Sync from coreutils.
79028         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79029         Require openat-priv.h.
79030
79031 2006-01-09  Bruno Haible  <bruno@clisp.org>
79032
79033         * modules/strnlen (Include): Use strnlen.h.
79034
79035 2006-01-09  Bruno Haible  <bruno@clisp.org>
79036
79037         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79038
79039 2006-01-09  Bruno Haible  <bruno@clisp.org>
79040
79041         * lib/sysexit_.h (EX_OK): New macro.
79042         Suggested by Martin Lambers <marlam@marlam.de>.
79043
79044 2006-01-09  Bruno Haible  <bruno@clisp.org>
79045
79046         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79047         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79048
79049 2006-01-09  Bruno Haible  <bruno@clisp.org>
79050
79051         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79052         numbers.
79053
79054 2006-01-09  Bruno Haible  <bruno@clisp.org>
79055
79056         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79057         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79058         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79059         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79060
79061 2006-01-09  Bruno Haible  <bruno@clisp.org>
79062
79063         * build-aux/javacomp.sh.in: New file, moved from lib/.
79064         * modules/javacomp-script (Files): Update.
79065         (configure.ac): Add AC_CONFIG_FILES invocation.
79066         (EXTRA_DIST): Remove variable.
79067
79068         * build-aux/javaexec.sh.in: New file, moved from lib/.
79069         * modules/javaexec (Files): Update.
79070         (configure.ac): Add AC_CONFIG_FILES invocation.
79071         (EXTRA_DIST): Remove javaexec.sh.in.
79072
79073         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79074         * modules/csharpcomp-script (Files): Update.
79075         (configure.ac): Add AC_CONFIG_FILES invocation.
79076         (EXTRA_DIST): Remove variable.
79077
79078         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79079         * modules/csharpexec (Files): Update.
79080         (configure.ac): Add AC_CONFIG_FILES invocation.
79081         (EXTRA_DIST): Remove csharpexec.sh.in.
79082
79083 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79084
79085         Sync from coreutils.
79086
79087         Add POSIX ACL support
79088         * lib/acl.h (copy_acl, set_acl): Add declarations.
79089         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79090         systems other than Linux.
79091         (chmod_or_fchmod): New function: use fchmod when possible,
79092         and chmod otherwise.
79093         (file_has_acl): Add a POSIX ACL implementation, with a
79094         Linux-specific subcase.
79095         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
79096         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
79097         acls are unsupported.
79098         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
79099         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
79100         are unsupported.
79101
79102 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79103
79104         Sync from coreutils.
79105         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
79106
79107 2006-01-07  Bruno Haible  <bruno@clisp.org>
79108
79109         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
79110         gl_EARLY.
79111
79112 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79113
79114         * lib/strftime.c (tzname): Don't declare if it is already #defined.
79115         Problem reported for Mingw by Mark Junker.
79116
79117 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79118
79119         * README: Gnulib normally doesn't generate a tarball.
79120
79121 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
79122
79123         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
79124         long int, not int, for nanosecond counts, so that people who are
79125         used to POSIX struct timespec won't be surprised.  Reported by Jim
79126         Meyering.
79127
79128 2005-12-28  Bruno Haible  <bruno@clisp.org>
79129
79130         * build-aux/config.rpath: Update from GNU gettext.
79131
79132 2005-12-16  Jim Meyering  <jim@meyering.net>
79133
79134         * modules/fprintftime: New module.
79135         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
79136
79137 2005-12-16  Jim Meyering  <jim@meyering.net>
79138
79139         * m4/fprintftime.m4: New file.
79140
79141 2005-12-16  Jim Meyering  <jim@meyering.net>
79142
79143         * lib/fprintftime.c, lib/fprintftime.h: New files.
79144
79145 2005-12-15  Simon Josefsson  <jas@extundo.com>
79146
79147         * modules/socklen (configure.ac): Fix M4 macro name, to align with
79148         new m4/socklen.m4.
79149
79150 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79151
79152         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
79153         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
79154
79155 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79156
79157         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
79158         * lib/argp-help.c (fill_in_uparams): Check if the constructed
79159         struct uparams is valid. Fall back to the default values if it is
79160         not.
79161
79162 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79163
79164         * modules/argp (Files): Add argp-pin.c
79165         (Depends-on): dirname
79166         (lib_SOURCES): Add argp-pin.c
79167
79168 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79169
79170         * m4/argp.m4:  Check if program_invocation_name and
79171         program_invocation_short_name are declared and define appropriate
79172         macros if they are not.
79173
79174 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79175
79176         * lib/argp-help.c (__argp_base_name): New function
79177         (__argp_short_program_name): Rewrite using __argp_base_name
79178         * lib/argp-namefrob.h: Define program_invocation_name and
79179         program_invocation_short_name if requested
79180         (__argp_base_name): Add prototype
79181         * lib/argp-parse.c (argp_def): Use gettext wrappers
79182         (argp_default_parser): Use __argp_base_name
79183         * lib/argp-pin.c: New file. Defines program_invocation_name and
79184         program_invocation_short_name on systems that lack them.
79185
79186 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79187
79188         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
79189         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79190         porting problem reported by Georg Schwarz in
79191         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79192
79193 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79194
79195         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
79196         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79197         porting problem reported by Georg Schwarz in
79198         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79199
79200 2005-12-05  Bruno Haible  <bruno@clisp.org>
79201
79202         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
79203         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
79204         Reported by Mark Junker <mjscod@gmx.de>.
79205
79206 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
79207
79208         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
79209         Use implementation from Albert Chin, with some
79210         comments/corrections by Stepan Kasal and myself.
79211
79212 2005-12-02  Bruno Haible  <bruno@clisp.org>
79213
79214         * gnulib-tool (func_import): Accept GPLed build tool modules when
79215         --lgpl is given.
79216         * modules/csharpcomp-script: New file.
79217         * modules/csharpcomp: Depend on it.
79218         * modules/javacomp-script: New file.
79219         * modules/javacomp: Depend on it.
79220         Suggested by Simon Josefsson.
79221
79222 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
79223
79224         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
79225         statement, to work around an HP-UX 10.20 compiler bug reported by
79226         Peter O'Gorman.
79227
79228 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79229
79230         * modules/savedir (Depends-on): Add openat.
79231
79232 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79233
79234         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
79235         (uintmax_t) [defined uintmax_t]: Do not declare.
79236         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
79237         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
79238         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
79239         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
79240         sake of portability to weird hosts that C allows (though we don't
79241         know of any practical examples).
79242
79243         * lib/savedir.h (fdsavedir): New decl.
79244         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
79245         contains most of the former guts of savedir.
79246         (savedir): Use savedirstream.
79247         Include "openat.h".
79248
79249 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79250
79251         * modules/obstack (Files): Add m4/ulonglong.m4.
79252         Problem reported by Davide Angelocola.
79253
79254 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
79255
79256         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
79257         coreutils no longer futzes with rounding modes.
79258
79259 2005-11-14  Jim Meyering  <jim@meyering.net>
79260
79261         * lib/mkstemp-safer.c: Include <config.h>, required for possible
79262         replacement of mkstemp.
79263
79264 2005-11-10  Simon Josefsson  <jas@extundo.com>
79265
79266         * lib/readline.c: Remove EOL.
79267
79268 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79269
79270         * modules/gethrxtime (Depends-on): Add gettime.
79271
79272 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79273
79274         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
79275         or gettimeofday; no longer needed.
79276
79277 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79278
79279         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
79280         time business.
79281         (gethrxtime) [! (HAVE_NANOUPTIME
79282         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
79283         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
79284         our own approximation.
79285
79286 2005-11-08  Eric Blake  <ebb9@byu.net>
79287
79288         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79289
79290 2005-11-08  Eric Blake  <ebb9@byu.net>
79291
79292         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79293
79294 2005-11-04  Bruno Haible  <bruno@clisp.org>
79295
79296         * gnulib-tool: Implement --update mode.
79297
79298 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79299
79300         Fix porting problem reported by Theodoros V. Kalamatianos.
79301         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
79302         Don't assume that futimes failing means we must fail.
79303
79304 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79305
79306         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
79307         variables to suggest the intended function of the PATH_MAX check.
79308
79309 2005-10-30  Kean Johnston  <jkj@sco.com>
79310
79311         Trivial changes to support SCO systems.
79312         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
79313         as PATH_MAX.
79314         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
79315         where __ptr is null when no I/O is pending.
79316
79317 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79318
79319         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
79320         leave errno alone.  Problem reported by Dmitry V. Levin.
79321
79322 2005-10-28  Simon Josefsson  <jas@extundo.com>
79323
79324         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
79325         Test more.
79326
79327         * tests/test-gc-md2.c, tests/test-md2.c: New files.
79328
79329         * modules/md2, modules/md2-tests: New files.
79330
79331 2005-10-28  Simon Josefsson  <jas@extundo.com>
79332
79333         * m4/inet_ntop.m4: More tests.
79334
79335         * m4/gc-md2.m4, md2.m4: New file.
79336
79337 2005-10-28  Simon Josefsson  <jas@extundo.com>
79338
79339         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
79340         "restrict" keywords, as per POSIX.  Protect the function
79341         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
79342         Don't use K&R prototypes.  Check the sprintf return values.
79343         Re-define EAFNOSUPPORT if not present.  Indent.
79344
79345         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
79346         suggested by Bruno Haible <bruno@clisp.org>.
79347
79348         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
79349
79350         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
79351
79352         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
79353         libgcrypt).
79354
79355         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
79356
79357         * lib/md2.h, lib/md2.c: New files.
79358
79359 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
79360
79361         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
79362         errno alone.  Problem reported by Frederic Jolliton.
79363
79364 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
79365
79366         * modules/verify (License): Change from GPL to LGPL.  This is a
79367         tiny module and there are apparently near-equivalents that are
79368         under the BSD license.
79369
79370 2005-10-24  Simon Josefsson  <jas@extundo.com>
79371
79372         * modules/sha1: Relicense to LGPL.
79373
79374 2005-10-24  Simon Josefsson  <jas@extundo.com>
79375
79376         * lib/md4.h: Shrink buffer size, now that we changed the type.
79377
79378 2005-10-23  Simon Josefsson  <jas@extundo.com>
79379
79380         * gnulib-tool (func_import): Fix --tests-base.
79381
79382 2005-10-22  Simon Josefsson  <jas@extundo.com>
79383
79384         * modules/arcfour (Depends-on): Need stdint.
79385
79386 2005-10-22  Simon Josefsson  <jas@extundo.com>
79387
79388         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
79389         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
79390
79391 2005-10-22  Simon Josefsson  <jas@extundo.com>
79392
79393         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
79394         suggested by Bruno Haible <bruno@clisp.org>.
79395
79396 2005-10-22  Simon Josefsson  <jas@extundo.com>
79397
79398         * lib/crc.h: Include stddef.h, for size_t.
79399
79400 2005-10-22  Simon Josefsson  <jas@extundo.com>
79401
79402         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
79403         arcfour_context struct (simplify test vector testing in GNU
79404         Shishi).
79405
79406 2005-10-21  Simon Josefsson  <jas@extundo.com>
79407
79408         * modules/des, modules/des-tests: New files.
79409
79410         * modules/gc-des, modules/gc-des-tests: New files.
79411
79412         * tests/test-des.c, tests/test-gc-des.c: New file.
79413
79414 2005-10-21  Simon Josefsson  <jas@extundo.com>
79415
79416         * modules/arctwo, modules/arctwo-tests: New files.
79417
79418         * tests/test-arctwo.c: New file.
79419
79420         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
79421
79422         * tests/test-gc-arctwo.c: New file.
79423
79424 2005-10-21  Simon Josefsson  <jas@extundo.com>
79425
79426         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
79427         Bruno Haible <bruno@clisp.org>.
79428
79429         * m4/gc-des.m4: New file.
79430
79431 2005-10-21  Simon Josefsson  <jas@extundo.com>
79432
79433         * m4/arctwo.m4: New file.
79434
79435         * m4/gc-arctwo.m4: New file.
79436
79437 2005-10-21  Simon Josefsson  <jas@extundo.com>
79438
79439         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
79440         block.
79441
79442 2005-10-21  Simon Josefsson  <jas@extundo.com>
79443
79444         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
79445         <bruno@clisp.org>.
79446
79447         * lib/hmac-sha1.c (hmac_sha1): Likewise.
79448
79449         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
79450         Bruno Haible <bruno@clisp.org>.
79451
79452         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
79453         <bruno@clisp.org>.
79454
79455 2005-10-21  Simon Josefsson  <jas@extundo.com>
79456
79457         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
79458
79459 2005-10-21  Simon Josefsson  <jas@extundo.com>
79460
79461         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
79462
79463 2005-10-21  Simon Josefsson  <jas@extundo.com>
79464
79465         * lib/des.h, lib/des.c: New files.
79466
79467         * lib/gc-gnulib.c: Support DES.c
79468
79469 2005-10-21  Simon Josefsson  <jas@extundo.com>
79470
79471         * lib/arctwo.h, lib/arctwo.c: New files.
79472
79473         * lib/gc-gnulib.c: Support ARCTWO.
79474
79475 2005-10-21  Simon Josefsson  <jas@extundo.com>
79476
79477         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
79478         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79479
79480 2005-10-21  Simon Josefsson  <jas@extundo.com>
79481
79482         * gnulib-tool (func_import, func_create_testdir): Define automake
79483         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
79484         Makefile.am snippet),
79485         suggested by Bruno Haible <bruno@clisp.org>.
79486
79487         * modules/gc (Makefile.am): Use it.
79488
79489 2005-10-21  Bruno Haible  <bruno@clisp.org>
79490
79491         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
79492         patch.
79493
79494 2005-10-19  Simon Josefsson  <jas@extundo.com>
79495
79496         * tests/test-gc-rijndael.c: New file.
79497
79498         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
79499
79500 2005-10-19  Simon Josefsson  <jas@extundo.com>
79501
79502         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
79503         interface too.
79504
79505 2005-10-19  Simon Josefsson  <jas@extundo.com>
79506
79507         * tests/test-gc-arcfour.c: New file.
79508
79509         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
79510
79511 2005-10-19  Simon Josefsson  <jas@extundo.com>
79512
79513         * modules/gc-md4, modules/gc-md4-tests: New file.
79514
79515         * tests/test-gc-md4.c: New file.
79516
79517 2005-10-19  Simon Josefsson  <jas@extundo.com>
79518
79519         * m4/gc-md4.m4: New file.
79520
79521 2005-10-19  Simon Josefsson  <jas@extundo.com>
79522
79523         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
79524         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
79525         <kasal@ucw.cz>.
79526
79527 2005-10-19  Simon Josefsson  <jas@extundo.com>
79528
79529         * m4/gc-arcfour.m4: New file.
79530
79531         * m4/gc-rijndael.m4: New file.
79532
79533 2005-10-19  Simon Josefsson  <jas@extundo.com>
79534
79535         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
79536
79537 2005-10-19  Simon Josefsson  <jas@extundo.com>
79538
79539         * lib/gc-gnulib.c: Support ARCFOUR.
79540
79541 2005-10-19  Simon Josefsson  <jas@extundo.com>
79542
79543         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
79544         support.
79545
79546         * lib/gc.h: Add ECB enum type.
79547
79548         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
79549
79550 2005-10-18  Simon Josefsson  <jas@extundo.com>
79551
79552         * tests/test-md5.c: New file.
79553
79554         * modules/md5-tests: New file.
79555
79556 2005-10-18  Simon Josefsson  <jas@extundo.com>
79557
79558         * tests/test-md4.c: New file.
79559
79560         * modules/md4, modules/md4-tests: New files.
79561
79562 2005-10-18  Simon Josefsson  <jas@extundo.com>
79563
79564         * m4/md4.m4: New file.
79565
79566 2005-10-18  Simon Josefsson  <jas@extundo.com>
79567
79568         * lib/md4.h, lib/md4.c: New files, based on md5.?.
79569
79570 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
79571
79572         * gnulib-tool (func_create_testdir): Omit the second check whether
79573         BUILT_SOURCES in nonempty.
79574
79575 2005-10-17  Simon Josefsson  <jas@extundo.com>
79576
79577         * tests/test-rijndael.c: New file.
79578
79579 2005-10-17  Simon Josefsson  <jas@extundo.com>
79580
79581         * modules/sha1: Depend on stdint instead of md5.
79582
79583         * modules/md5: Depend on stdint, remove uint32_t.
79584
79585 2005-10-17  Simon Josefsson  <jas@extundo.com>
79586
79587         * modules/gc-sha1-tests: New file.
79588
79589         * tests/test-gc-sha1.c: New file.
79590
79591 2005-10-17  Simon Josefsson  <jas@extundo.com>
79592
79593         * m4/md5.m4: Remove call to uint32_t.m4.
79594
79595 2005-10-17  Simon Josefsson  <jas@extundo.com>
79596
79597         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
79598
79599         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
79600         md5.h.
79601
79602         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
79603
79604         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
79605
79606 2005-10-17  Simon Josefsson  <jas@extundo.com>
79607
79608         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
79609
79610 2005-10-17  Simon Josefsson  <jas@extundo.com>
79611
79612         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
79613
79614 2005-10-17  Simon Josefsson  <jas@extundo.com>
79615
79616         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
79617
79618         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
79619
79620 2005-10-17  Bruno Haible  <bruno@clisp.org>
79621
79622         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
79623         that it can also be used in a test.
79624
79625 2005-10-16  Bruno Haible  <bruno@clisp.org>
79626
79627         * gnulib-tool (func_emit_tests_Makefile_am): Also define
79628         TESTS_ENVIRONMENT, so that individual tests can augment it.
79629
79630         * gnulib-tool (func_create_testdir): Use an intermediate target for
79631         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
79632         macros, like $(ALLOCA_H), which cannot be passed through the command
79633         line.
79634
79635 2005-10-15  Simon Josefsson  <jas@extundo.com>
79636
79637         * modules/rijndael-tests: New file.
79638
79639         * modules/rijndael: New file.
79640
79641 2005-10-15  Simon Josefsson  <jas@extundo.com>
79642
79643         * m4/rijndael.m4: New file.
79644
79645 2005-10-15  Simon Josefsson  <jas@extundo.com>
79646
79647         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
79648
79649         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
79650
79651 2005-10-14  Simon Josefsson  <jas@extundo.com>
79652
79653         * tests/test-arcfour.c: New file.
79654
79655         * modules/arcfour, modules/arcfour-tests: New files.
79656
79657 2005-10-14  Simon Josefsson  <jas@extundo.com>
79658
79659         * m4/arcfour.m4: New file.
79660
79661 2005-10-14  Simon Josefsson  <jas@extundo.com>
79662
79663         * lib/arcfour.h, lib/arcfour.c: New files.
79664
79665 2005-10-14  Roland McGrath  <roland@redhat.com>
79666
79667         Import from libc.  [BZ #1331]
79668         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
79669         macro argument.
79670         Reported by Matej Vela <vela@debian.org>.
79671
79672 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79673
79674         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
79675         include <wchar.h>; no longer needed.
79676
79677 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79678
79679         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
79680
79681 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
79682         and  Ulrich Drepper  <drepper@redhat.com>
79683
79684         Import from libc.
79685         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
79686         instead of inline stream orientation test and two separate
79687         function calls.  Pay no attention to USE_IN_LIBIO.
79688
79689 2005-10-13  Simon Josefsson  <jas@extundo.com>
79690
79691         * modules/gc-hmac-md5-tests: New file.
79692
79693         * tests/test-gc-hmac-sha1.c: New file.
79694
79695         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
79696
79697         * modules/gc-hmac-md5-tests: New file.
79698
79699         * tests/test-gc-md5.c: New file.
79700
79701         * modules/gc-md5-tests: New file.
79702
79703 2005-10-13  Simon Josefsson  <jas@extundo.com>
79704
79705         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
79706         Move memory allocation outside of loop.
79707
79708 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
79709
79710         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
79711         intermediate directory is in a read-only file system.  Problem
79712         reported by Eric Blake.
79713
79714 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
79715
79716         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
79717
79718 2005-10-12  Simon Josefsson  <jas@extundo.com>
79719
79720         * tests/test-hmac-sha1.c: New file.
79721
79722         * modules/hmac-sha1-tests: New file.
79723
79724         * modules/hmac-sha1: New file.
79725
79726 2005-10-12  Simon Josefsson  <jas@extundo.com>
79727
79728         * modules/gc-sha1: New file.
79729
79730 2005-10-12  Simon Josefsson  <jas@extundo.com>
79731
79732         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
79733
79734         * tests/test-gc-pbkdf2-sha1.c: New file.
79735
79736 2005-10-12  Simon Josefsson  <jas@extundo.com>
79737
79738         * modules/gc-md5, modules/gc-hmac-md5: New files.
79739
79740         * modules/gc (Files): Remove md5, memxor and hmac files.
79741
79742 2005-10-12  Simon Josefsson  <jas@extundo.com>
79743
79744         * m4/gc-pbkdf2-sha1.m4: New file.
79745
79746         * m4/gc-hmac-sha1.m4: New file.
79747
79748         * m4/gc-sha1: New file.
79749
79750         * m4/hmac-sha1.m4: New file.
79751
79752 2005-10-12  Simon Josefsson  <jas@extundo.com>
79753
79754         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
79755
79756         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
79757
79758 2005-10-12  Simon Josefsson  <jas@extundo.com>
79759
79760         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
79761         suggested by Bruno Haible <bruno@clisp.org>.
79762
79763 2005-10-12  Simon Josefsson  <jas@extundo.com>
79764
79765         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
79766
79767 2005-10-12  Simon Josefsson  <jas@extundo.com>
79768
79769         * lib/gc-pbkdf2-sha1.c: New file.
79770
79771         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
79772
79773 2005-10-12  Simon Josefsson  <jas@extundo.com>
79774
79775         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
79776
79777         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
79778
79779 2005-10-12  Simon Josefsson  <jas@extundo.com>
79780
79781         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
79782         GC_USE_HMAC_MD5, respectively.
79783
79784         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
79785         (gc_md5): Fix typo.
79786
79787         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
79788
79789         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
79790
79791         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
79792
79793 2005-10-12  Bruno Haible  <bruno@clisp.org>
79794
79795         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
79796         Reported by Stepan Kasal <kasal@ucw.cz>.
79797
79798 2005-10-11  Simon Josefsson  <jas@extundo.com>
79799
79800         * tests/test-crc.c: New file.
79801
79802         * modules/crc, modules/crc-tests: New files.
79803
79804 2005-10-11  Simon Josefsson  <jas@extundo.com>
79805
79806         * m4/crc.m4: New file.
79807
79808 2005-10-11  Simon Josefsson  <jas@extundo.com>
79809
79810         * lib/gc.h: Add gc_hash and gc_hash_buffer.
79811
79812         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
79813
79814         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
79815
79816 2005-10-11  Simon Josefsson  <jas@extundo.com>
79817
79818         * lib/crc.h, lib/crc.c: New files.
79819
79820         * lib/gc.h (gc_hash_buffer): Add doc.
79821
79822 2005-10-11  Bruno Haible  <bruno@clisp.org>
79823
79824         * modules/c-strcasestr: New file.
79825         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
79826
79827 2005-10-11  Bruno Haible  <bruno@clisp.org>
79828
79829         * modules/c-strcase: New file.
79830         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
79831
79832 2005-10-11  Bruno Haible  <bruno@clisp.org>
79833
79834         * lib/strcasecmp.c: Include limits.h.
79835         (strcasecmp): Avoid integer overflow on exotic platforms.
79836         * lib/strncasecmp.c: Include limits.h.
79837         (strncasecmp): Avoid integer overflow on exotic platforms.
79838         Reported by Paul Eggert.
79839
79840 2005-10-11  Bruno Haible  <bruno@clisp.org>
79841
79842         * lib/c-strcasestr.h: New file, from GNU gettext.
79843         * lib/c-strcasestr.c: New file, from GNU gettext.
79844
79845 2005-10-11  Bruno Haible  <bruno@clisp.org>
79846
79847         * lib/c-strcase.h: New file, from GNU gettext.
79848         * lib/c-strcasecmp.c: New file, from GNU gettext.
79849         * lib/c-strncasecmp.c: New file, from GNU gettext.
79850
79851 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79852
79853         * modules/mempcpy (License): GPL -> LGPL.
79854         * modules/strchrnul (License): Likewise.
79855         * modules/sysexits (License): Likewise.
79856
79857 2005-10-08  Simon Josefsson  <jas@extundo.com>
79858
79859         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
79860
79861 2005-10-07  Simon Josefsson  <jas@extundo.com>
79862
79863         * m4/memxor.m4: Remove gl_C_RESTRICT call.
79864
79865 2005-10-06  Simon Josefsson  <jas@extundo.com>
79866
79867         * tests/test-hmac-md5.c: New file.
79868
79869         * modules/hmac-md5-tests: New file.
79870
79871         * modules/hmac-md5: New file.
79872
79873 2005-10-06  Simon Josefsson  <jas@extundo.com>
79874
79875         * m4/hmac-md5.m4: New file.
79876
79877         * m4/memxor.m4: Require gl_C_RESTRICT.
79878
79879 2005-10-06  Simon Josefsson  <jas@extundo.com>
79880
79881         * lib/memxor.c (memxor): Avoid casts and warnings.
79882
79883 2005-10-06  Simon Josefsson  <jas@extundo.com>
79884
79885         * lib/hmac-md5.c: New file.
79886
79887         * lib/hmac.h: New file.
79888
79889 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
79890
79891         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
79892         promotes to int, not unsigned int, to catch the AIX 5.3
79893         compiler bug.
79894
79895 2005-10-05  Simon Josefsson  <jas@extundo.com>
79896
79897         * modules/memxor: New file.
79898
79899         * modules/iconv (Files): Move config.rpath to havelib, it is used
79900         there.
79901
79902         * modules/havelib (Files): Add config.rpath.
79903
79904 2005-10-05  Simon Josefsson  <jas@extundo.com>
79905
79906         * m4/memxor.m4: New file.
79907
79908 2005-10-05  Simon Josefsson  <jas@extundo.com>
79909
79910         * lib/memxor.c (memxor): Fix compiler error.
79911
79912         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
79913         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
79914
79915         * lib/memxor.h, lib/memxor.c: New files.
79916
79917         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
79918         we assume all systems have it, suggested by Jim Meyering
79919         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
79920         any systems lack sys/socket.h; mingw32 is known to lack it, but we
79921         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
79922         same reasons.
79923
79924 2005-10-05  Simon Josefsson  <jas@extundo.com>
79925
79926         * config/srclist.txt: Add glibc bug 1423 for md5.h.
79927
79928 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
79929
79930         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
79931         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
79932         needed, since the source code now assumes these .h files.
79933
79934 2005-10-05  Derek Price  <derek@ximbiot.com>
79935
79936         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
79937
79938 2005-10-05  Bruno Haible  <bruno@clisp.org>
79939
79940         * modules/stdint (License): Change to LGPL.
79941
79942 2005-10-04  Simon Josefsson  <jas@extundo.com>
79943
79944         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
79945         D. Baushke" <mdb@gnu.org>.
79946
79947 2005-10-04  Bruno Haible  <bruno@clisp.org>
79948
79949         * lib/verify.h (verify_true): Provide alternative definition for C++.
79950
79951 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
79954         (SSIZE_MAX): New macro, if not already defined.
79955         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
79956         than 2 GiB.
79957
79958 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79959
79960         Sync from coreutils.
79961         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
79962         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
79963         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
79964         ULLONG_MAX doesn't work with 2.7.2.1.
79965
79966 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79967
79968         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
79969         From Ben Pfaff.
79970
79971         * modules/exclude (Depends-on): Depend on verify.
79972         * modules/strtoimax (Depends-on): Likewise.
79973         * modules/utimecmp (Depends-on): Likewise.
79974
79975 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79976
79977         * lib/exclude.c: Include verify.h.
79978         (verify): Remove.  All callers changed to use verify.h's version.
79979         * lib/strtoimax.c: Likewise.
79980         * lib/utimecmp.c: Likewis.e
79981
79982         Sync from coreutils.
79983         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
79984         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
79985         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
79986         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
79987         bother returning ENOSYS if settimeofday or stime fails; just let
79988         them return whatever errno they want to return.
79989         * lib/utimens.c: Include unistd.h, for dup2.
79990         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
79991         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
79992
79993 2005-10-02  Jim Meyering  <jim@meyering.net>
79994
79995         Sync from coreutils.
79996         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
79997         from glibc-2.2.5 that fails for read-only files.
79998
79999 2005-10-02  Jim Meyering  <jim@meyering.net>
80000
80001         Sync from coreutils.
80002         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80003         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80004         `#if HAVE_CONFIG_H'.
80005         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80006         Remove AT_FDCWD test.
80007         Do not consume the fd unless successful.
80008         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80009         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80010         block, so that we don't even try to compile it if settimeofday is
80011         available.  This works around a compilation failure on OSF1 V5.1,
80012         due to stime requiring a `long int*' while tv_sec is `int'.
80013
80014 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80015
80016         Sync from coreutils.
80017         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80018         against `yes', rather than just testing for nonempty.
80019
80020 2005-10-01  Simon Josefsson  <jas@extundo.com>
80021
80022         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80023         and Darwin.
80024
80025         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80026         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80027         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80028         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80029         Check if struct addrinfo is declared.
80030
80031 2005-10-01  Simon Josefsson  <jas@extundo.com>
80032
80033         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80034         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80035         AI_* and EAI_* definitions.  Protect function declarations.
80036
80037 2005-10-01  Jim Meyering  <jim@meyering.net>
80038
80039         Sync from coreutils.
80040
80041         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80042         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80043         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80044         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80045         in the inet and nsl libraries.  Required on Solaris 5.7.
80046
80047 2005-10-01  Jim Meyering  <jim@meyering.net>
80048
80049         Sync from coreutils.
80050         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80051         in the inet and nsl libraries.  Required on Solaris 5.7.
80052
80053 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
80054
80055         * lib/getdelim.c (getdelim): Remove unused variables.
80056
80057 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80058
80059         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80060         so that the code works even with ancient cpp.  Portability problem
80061         with GCC 2.7.2.1 reported by Thomas M.Ott.
80062
80063 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80064
80065         * modules/regex (Depends-on): Add strcase.
80066
80067         * modules/gethostname (Licence): Change from GPL to LGPL, since
80068         gethostname.c is a trivial implementation of a standard library
80069         function.
80070         * modules/poll (License): Change from GPL to LGPL, since it's
80071         derived from LGPL code.
80072
80073 2005-09-27  Jim Meyering  <jim@meyering.net>
80074
80075         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80076         HAVE_CONFIG_H.
80077
80078         * lib/intprops.h (signed_type_or_expr__): Define.
80079         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80080         for unsigned types.
80081
80082 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80083
80084         * lib/verify.h (verify_expr): Remove, replacing with:
80085         (verify_true): New macro that returns true instead of void.
80086         (verify_type__): Remove.
80087         (verify): Use verify_true rather than verify_type__.
80088
80089 2005-09-26  Bruno Haible  <bruno@clisp.org>
80090
80091         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80092         is necessary.
80093         (lib_SOURCES): Remove mbchar.c.
80094         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
80095         (Files): Add m4/mbrtowc.m4.
80096         * modules/mbiter: Likewise.
80097         * modules/mbuiter: Likewise.
80098
80099 2005-09-26  Bruno Haible  <bruno@clisp.org>
80100
80101         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
80102         compile mbchar.c if they are not both present.
80103         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
80104         * m4/mbiter.m4 (gl_MBITER): Likewise.
80105         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
80106         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
80107         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
80108
80109 2005-09-25  Jim Meyering  <jim@meyering.net>
80110
80111         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
80112         also uses socklen_t.
80113
80114 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
80115
80116         * lib/utimens.c (ENOSYS): Define if not already defined.
80117         (futimens): Support having a null PATH if the file descriptor
80118         is nonnegative.
80119
80120         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
80121         Remove.
80122         (__attribute): Define to empty unless GCC 3.1 or later.
80123         This works around a core dump on OpenBSD 3.4, which has GCC
80124         2.95.3, which dumps core when given __attribute__(()).  It also
80125         simplifies other tests, since we really don't want to bother with
80126         worrying about which ancient version of GCC supported what.
80127         Original problem reported by Yoann Vandoorselaere, with part of
80128         the fix suggested by Derek Price.
80129
80130 2005-09-24  Jim Meyering  <jim@meyering.net>
80131
80132         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
80133         so we can once again use a positive bitfield width of 1 -- now we
80134         don't have to explain why we were using a bitfield width of 2.
80135
80136 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80137
80138         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
80139         and similarly for the other external symbols.  Problem reported
80140         by James Gallager.
80141
80142         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
80143         bug reported by Jim Meyering.
80144
80145         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
80146         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
80147         not needed, since socklen is a prerequisite module.
80148
80149 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80150
80151         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
80152         Problem reported by Eric Blake.
80153         (getaddrinfo): Initialize se so that it's not garbage.
80154         Redo internal storage allocation so that it doesn't make unportable
80155         assumptions about alignment.
80156         Fix a memory leak.
80157
80158         * lib/utimens.c (futimens): Use futimesat if available.
80159         Prefer it to futimes since it doesn't have the futimes bug.
80160
80161         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
80162         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
80163         Instead, declare a function that returns a pointer to an array,
80164         and use verify_type__ to declare the size of the array.
80165         Problem and germ of a solution reported by Bruno Haible.
80166         (verify_type__): Use 2, not 1, for bitfield size, to avoid
80167         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
80168
80169 2005-09-23  Jim Meyering  <jim@meyering.net>
80170
80171         Sync from coreutils.
80172         Correct build failure (socklen_t not defined) on at least
80173         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
80174         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
80175
80176 2005-09-23  Jim Meyering  <jim@meyering.net>
80177
80178         * modules/getaddrinfo (Depends-on): Add socklen.
80179
80180 2005-09-23  Bruno Haible  <bruno@clisp.org>
80181
80182         * tests/test-verify.c: New file.
80183
80184 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80185
80186         Sync from coreutils.
80187
80188         * modules/argmatch (Depends-on): Add verify.
80189         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
80190         unistd-safer.
80191         * modules/save-cwd (Depends-on): Likewise.
80192
80193         * modules/openat (Files): Add lib/openat-die.c.
80194         (Depends-on): Remove error, exitfail.
80195         Add dirname.
80196
80197         * modules/verify: New file.
80198         * MODULES.html.sh (Diagnostics <assert.h>): New section,
80199         with "verify" module.
80200
80201 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80202
80203         Sync from coreutils.
80204
80205         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
80206         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
80207         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
80208         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
80209         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
80210         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
80211         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
80212         Don't bother checking for string.h, stdlib.h, unistd.h.
80213         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
80214         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
80215         module's job.
80216         * m4/jm-macros.m4 (gl_MACROS): Likewise.
80217         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
80218
80219         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
80220         (gl_GETDATE): Use it.
80221
80222         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
80223
80224 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80225
80226         Sync from coreutils.
80227
80228         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
80229         stat-time.h.
80230         * lib/argmatch.h: Include verify.h
80231         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
80232         (ARGMATCH_ASSERT): Remove; unused.
80233         * lib/canonicalize.c: Assume STDC_HEADERS.
80234         * lib/exclude.c: Include "strcase.h".
80235         * lib/regex_internal.h [!defined _LIBC]: Likewise.
80236         * lib/getusershell.c: Include stdio--.h rather than stdio.h
80237         and stdio-safer.h.
80238         (getusershell): Call fopen, not fopen_safer.
80239         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
80240         Do not include unistd-safer.h.
80241         (save_cwd): Don't call fd_safer; no longer needed
80242         now that we include fcntl--.h.
80243
80244         * lib/getdate.y (relative_time): New type.
80245         (RELATIVE_TIME_0): New constant.
80246         (parser_control): Use relative_time instead of doing it ourselves.
80247         (%union): Add new relative_time rel member.
80248         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
80249         Now typeless.
80250         (relunit, relunit_snumber): Now of type rel.
80251         (zone, rel, relunit, get_date): Adjust to above changes.
80252
80253         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
80254         Do not include unistd-safer.h.
80255         (getloadavg): Don't call fd_safer; no longer needed
80256         now that we include fcntl--.h.
80257
80258         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
80259         (make_dir_parents): Treat ENOSYS like EEXIST.
80260
80261         Improve quality of diagnostics on restore_cwd failure.
80262         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
80263         (make_dir_parents): Last arg is now int * (for errno), not bool *.
80264         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
80265         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
80266         each time through the loop.  Do not diagnose restore_cwd failure;
80267         that is the caller's job (and perhaps the caller does not care).
80268
80269         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
80270         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
80271         If the file already exists but is not a directory, don't bother
80272         to try to make its parents.
80273         Close potential file descriptor leak if we can't chdir("/") (!).
80274         Don't always return true if chdir($PWD) fails; return true only
80275         if the requested action was done successfully (except for the
80276         chdir($PWD)).
80277         Don't log final directory unless we actually made it.
80278         Refactor to avoid duplicate code to fix up permissions.
80279         Don't attempt to fix up parent permissions if chdir($PWD) fails.
80280
80281         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
80282         to make it a bit faster and (I hope) clearer.
80283         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
80284         Fix bug in formats like %2N.
80285
80286         * lib/verify.h: New file.
80287
80288 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80289
80290         Sync from coreutils.
80291         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
80292
80293 2005-09-22  Jim Meyering  <jim@meyering.net>
80294
80295         Sync from coreutils.
80296
80297         * m4/lstat.m4 (gl_FUNC_LSTAT):
80298         Use AC_LIBSOURCES to require lstat.c and lstat.h.
80299         Remove obsolete comment.
80300         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
80301         * m4/xstrtod.m4: Likewise.
80302
80303         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
80304
80305 2005-09-22  Jim Meyering  <jim@meyering.net>
80306
80307         Sync from coreutils.
80308
80309         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
80310
80311         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
80312         the .tm_year member, since otherwise gcc-4.0 would now warn about
80313         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
80314
80315         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
80316         order to avoid an unsuppressible warning from gcc on 64-bit systems.
80317
80318         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
80319         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
80320         when run in a time zone for which daylight savings time is in effect
80321         for the starting date.
80322
80323         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
80324         stop us from restricting permissions of just-created absolute-named
80325         directories.
80326         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
80327         to restore initial working directory.
80328         * lib/mkdir-p.c (make_dir_parents): New parameter:
80329         different_working_dir, to tell caller if/when we change the working
80330         directory and are unable to return to the initial one.
80331         * lib/mkdir-p.h (make_dir_parents): Update prototype.
80332         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
80333         `return false'.  This fixes a bug introduced on 2004-07-30.
80334
80335         * lib/openat.c (fdopendir): Be sure to close the supplied
80336         file descriptor before returning.  This makes our replacement
80337         implementation a little closer to Solaris's, where fdopendir
80338         ties the file descriptor to the returned DIR* pointer.
80339         * lib/openat.c (unlinkat): New function.
80340         * lib/openat.h (unlinkat): Add prototype.
80341         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
80342         (openat_restore_fail): Rename from openat_restore_die.
80343         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
80344
80345         Provide an alternative to exiting immediately upon save_cwd or
80346         restore_cwd failure.  Now, an application can arrange e.g.,
80347         to perform a longjump in that case.
80348         * lib/openat.c: Include dirname.h.
80349         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
80350         (rpl_openat, fdopendir, fstatat): Call openat_save_die
80351         and openat_restore_die rather than calling error directly.
80352         Don't include "error.h" or "exitfail.h"; they're no longer needed.
80353
80354         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
80355         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
80356         define.
80357
80358         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
80359         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
80360                             int utc, int nanoseconds);
80361         Background:
80362         date should not have to allocate a megabyte of virtual memory to
80363         handle a format argument like +%1048575T.  When implemented with
80364         strftime, it must allocate such a buffer, use strftime to fill it
80365         in, print it, then free it.
80366         With fprintftime, it simply prints everything and exits.
80367         With no need for memory allocation, that's one fewer way to fail.
80368         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
80369         optional field width, not before, so we accept %9:z, not %:9z.
80370         (my_strftime): Be sure to use L_('x') for literals.
80371
80372         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
80373         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
80374         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
80375         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
80376         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
80377         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
80378         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
80379         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
80380         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
80381         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
80382         * lib/xgethostname.c, lib/xreadlink.c:
80383         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
80384
80385         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
80386         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
80387         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
80388         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80389         and don't include <sys/file.h>).
80390
80391 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
80392
80393         Sync from coreutils.
80394
80395         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
80396         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
80397         [!LDAV_DONE]: Avoid unused variable warning.
80398
80399 2005-09-21  Bruno Haible  <bruno@clisp.org>
80400
80401         * lib/unicodeio.h (unicode_to_mb): New declaration.
80402
80403 2005-09-20  Derek Price  <derek@ximbiot.com>
80404
80405         * lib/getaddrinfo.c: Don't include <netdb.h> included from
80406         getaddrinfo.h.
80407
80408 2005-09-20  Bruno Haible  <bruno@clisp.org>
80409
80410         * gnulib-tool: Remove trailing slashes from the values specified for
80411         --source-base, --m4-base, --tests-base, --aux-dir.
80412         Suggested by Simon Josefsson <jas@extundo.com>.
80413
80414 2005-09-20  Bruno Haible  <bruno@clisp.org>
80415
80416         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
80417         func_modules_to_filelist, func_import, func_create_testdir): Make all
80418         sorting results locale-independent, so that gnulib-cache.m4 doesn't
80419         change when gnulib-tool is invoked in a different locale.
80420
80421 2005-09-19  Simon Josefsson  <jas@extundo.com>
80422
80423         * m4/socklen.m4: Fix typo.
80424
80425 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80426
80427         Use a consistent style for including <config.h>.
80428         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
80429         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
80430         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
80431         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
80432         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
80433         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
80434         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
80435         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
80436         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
80437         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
80438         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
80439         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
80440         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
80441         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
80442         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
80443         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
80444         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
80445         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
80446         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
80447         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
80448         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
80449         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
80450         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
80451         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
80452         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
80453         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
80454         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
80455         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
80456         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
80457         lib/xstrtoumax.c, lib/yesno.c:
80458         Standardize inclusion of config.h.
80459         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
80460         lib/inttostr.h:  Removed inclusion of config.h from header files.
80461         * lib/inttostr.c:  Adjusted in-tree users.
80462         * lib/timespec.h: Remove superfluous warning to include config.h.
80463         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
80464         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
80465         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
80466         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
80467         config.h with HAVE_CONFIG_H.
80468
80469 2005-09-19  Jim Meyering  <jim@meyering.net>
80470
80471         * modules/pathmax (License): Change to LGPL.
80472
80473 2005-09-19  Derek Price  <derek@ximbiot.com>
80474
80475         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
80476
80477 2005-09-19  Bruno Haible  <bruno@clisp.org>
80478
80479         * gnulib-tool (import): Provide default for --tests-base.
80480
80481 2005-09-19  Bruno Haible  <bruno@clisp.org>
80482
80483         * doc/quote.texi: New file, extracted from gnulib.texi.
80484         * doc/ctime.texi: New file, extracted from gnulib.texi.
80485         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
80486         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
80487         * doc/gnulib.texi: Include them.
80488
80489 2005-09-18  Bruno Haible  <bruno@clisp.org>
80490
80491         Portability fix.
80492         * gnulib-tool (func_readlink): New function.
80493         (func_ln_if_changed): Use it.
80494
80495 2005-09-18  Bruno Haible  <bruno@clisp.org>
80496
80497         * gnulib-tool: Support --with-tests also with --import.
80498         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
80499         (func_import): Use variables $testsbase and $inctests. Emit a
80500         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
80501         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
80502         SUBDIRS += $testsdir.
80503         (func_create_testdir): Update.
80504
80505 2005-09-18  Bruno Haible  <bruno@clisp.org>
80506
80507         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
80508         instead of $dry_run.
80509         (func_cp_if_changed, func_mv_if_changed): Remove functions.
80510         (func_ln_if_changed): Don't handle dry-run here.
80511         (func_import): In dry-run mode, detect more precisely which actions
80512         would be performed, and don't use "...ing" verbs.
80513
80514 2005-09-18  Bruno Haible  <bruno@clisp.org>
80515
80516         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
80517         (func_import): Use join on two temporary files instead of three nested
80518         loops, in order to determine which files are new or old.
80519
80520 2005-09-18  Bruno Haible  <bruno@clisp.org>
80521
80522         * gnulib-tool (func_import): Comment out code that spits out the
80523         new files with --dry-run.
80524
80525 2005-09-18  Bruno Haible  <bruno@clisp.org>
80526
80527         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
80528
80529 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80530
80531         * lib/stat-time.h: New file.
80532         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
80533         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
80534         in a different way.
80535         (timespec_cmp): New function.
80536         * lib/utimecmp.c: Include stat-time.h.
80537         (SYSCALL_RESOLUTION): Depend on whether various struct stat
80538         members exist, not on the obsolescent ST_MTIM_NSEC.
80539         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
80540
80541 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80542
80543         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
80544
80545 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80546
80547         * MODULES.html.sh (File system functions): Add stat-time.
80548         * modules/stat-time: New file.
80549         * modules/timespec (Files): Remove m4/st_mtim.m4; this
80550         is now done in a different way, by the stat-time module.
80551         * modules/utimecmp (Depends-on): Add stat-time.
80552
80553 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         * m4/st_mtim.m4: Remove.  Superseded by...
80556         * m4/stat-time.m4: New file.
80557         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
80558         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
80559
80560 2005-09-15  Derek Price  <derek@ximbiot.com>
80561
80562         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
80563
80564 2005-09-15  Derek Price  <derek@ximbiot.com>
80565
80566         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
80567         * lib/regex_internal.c: Ditto, using this...
80568         (__GNUC_PREREQ): ...new macro.
80569         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
80570         using...
80571         (__GNUC_PREREQ): ...this new macro.
80572
80573         * lib/strstr.h: Include string.h. Define strstr as a macro here.
80574
80575 2005-09-15  Derek Price  <derek@ximbiot.com>
80576             Paul Eggert  <eggert@cs.ucla.edu>
80577
80578         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
80579         changes, consolidating in...
80580         * lib/regex_internal.h: ...this file.
80581
80582 2005-09-13  Jim Meyering  <jim@meyering.net>
80583
80584         * lib/canon-host.c: Filter through gnu indent and reword comments
80585         slightly.
80586         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
80587
80588 2005-09-13  Derek Price  <derek@ximbiot.com>
80589
80590         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
80591         failure.
80592         Reported by Jim Meyering  <jim@meyering.net>.
80593
80594 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80595
80596         * lib/base64.c: Typo.
80597         (base64_encode): Put b64str in initialized data section.
80598
80599 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
80600
80601         Merge glibc and coreutils changes into gnulib, plus a few
80602         extra fixes.
80603         * lib/md5.c: Use #error rather than a string.
80604         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
80605         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
80606         (__attribute__): Define to empty for non recent-GCC.
80607         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
80608         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
80609         Renamed from their non-__ counterparts, with new macros replacing
80610         them if not _LIBC.  Add __THROW attribute.
80611         (rol): Remove.
80612         (struct md5_ctx): Align buffer if using GCC.
80613         * lib/sha1.h (struct sha1_ctx): Likewise.
80614         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
80615         The old name was backwards.
80616         (NOTSWAP): Remove; not used.
80617         (rol): New macro, moved here from md5.h.
80618         (sha1_process_block): Remove a FIXME that doesn't make sense.
80619
80620 2005-09-12  Derek Price  <derek@ximbiot.com>
80621
80622         Return usable errors from canon-host.
80623         * lib/canon-host.h: New file.
80624         * lib/canon-host.c (canon_host): Wrap...
80625         (canon_host_r): ...this new function, which now relies exclusively on
80626         getaddrinfo.
80627         (ch_strerror): New function.
80628         (last_cherror): New global.
80629         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
80630         interface.
80631         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
80632         void *.
80633         (freeaddrinfo): Free ai->ai_canonname when set.
80634
80635 2005-09-12  Derek Price  <derek@ximbiot.com>
80636
80637         Make canon-host require getaddrinfo.
80638         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
80639         AC_LIBSOURCE canon-host.h.  Call...
80640         (gl_PREREQ_CANON_HOST): ...this new function, which requires
80641         gl_GETADDRINFO.
80642         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
80643
80644 2005-09-12  Derek Price  <derek@ximbiot.com>
80645
80646         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
80647         LGPL.
80648         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
80649
80650 2005-09-12  Derek Price  <derek@ximbiot.com>
80651
80652         * lib/gai_strerror.c: Include config.h when available.  Include
80653         getaddrinfo.h before other headers to test interface.
80654         Reported by Larry Jones <lawrence.jones@ugs.com>.
80655
80656 2005-09-12  Derek Price  <derek@ximbiot.com>
80657             Paul Eggert  <eggert@cs.ucla.edu>
80658
80659         * modules/glob (Files): Add glob-libc.h.
80660
80661 2005-09-12  Derek Price  <derek@ximbiot.com>
80662             Paul Eggert  <eggert@cs.ucla.edu>
80663
80664         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
80665         glob_.h, glob-libc.h.
80666         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
80667
80668 2005-09-12  Derek Price  <derek@ximbiot.com>
80669             Paul Eggert  <eggert@cs.ucla.edu>
80670
80671         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
80672         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
80673         protecting things that should be done only in gnulib contexts.
80674         * lib/glob_.h: New file, containing only the glob things needed for
80675         gnulib.
80676         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
80677         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
80678         (glob, globfree, glob_pattern_p): Now defined simply in terms of
80679         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
80680         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
80681         and to respect the namespace rules better.
80682
80683 2005-09-08  Simon Josefsson  <jas@extundo.com>
80684
80685         * modules/socklen: New file.
80686
80687 2005-09-08  Simon Josefsson  <jas@extundo.com>
80688
80689         * m4/socklen.m4: New file.
80690
80691 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80692
80693         * modules/utimens (Files): Add m4/utimbuf.m4, since
80694         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
80695         Reported by Sergey Poznyakoff.
80696
80697 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80698
80699         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
80700         definitions, since that's the preferred style in glibc.
80701         Fix a minor spacing issue, and update copyright notice to match
80702         glibc's.
80703
80704 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80705
80706         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
80707
80708 2005-09-06  Simon Josefsson  <jas@extundo.com>
80709
80710         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
80711         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
80712
80713 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80714
80715         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
80716         warning.
80717
80718 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80719
80720         * config/srclist.txt: Add glibc bug 1302.
80721
80722 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
80723
80724         Change bitset word type from unsigned int to unsigned long int,
80725         as this has better performance on typical 64-bit hosts.
80726         Port bitset code to hosts with unusual word sizes.
80727         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
80728         (build_collating_symbol):
80729         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
80730         argument is a bitset.  This is merely a style issue, but it makes
80731         it clearer that an entire array is expected.
80732         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
80733         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
80734         Port to the case where bitset_word is not the same as unsigned int.
80735         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
80736         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
80737         Likewise.
80738         * lib/regexec.c (check_dst_limits_calc_pos_1,
80739         check_subexp_matching_top):
80740         (build_trtable, group_nodes_into_DFAstates):
80741         Likewise.
80742         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
80743         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
80744         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
80745         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
80746         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
80747         * lib/regcomp.c (optimize_subexps, lower_subexp):
80748         Work even if bitset_word has holes in its bitwise representation.
80749         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
80750         * lib/regexec.c (check_dst_limits_calc_pos_1,
80751         check_subexp_matching_top):
80752         Likewise.
80753         * lib/regex_internal.c (re_string_reconstruct):
80754         Don't assume UCHAR_MAX == 255.
80755         * lib/regex_internal.h (bitset_set_all): Likewise.
80756         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
80757         All uses changed.
80758         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
80759         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
80760         All uses changed.
80761         (BITSET_WORD_MAX): New macro.
80762         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
80763         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
80764         (bitset_empty, bitset_copy):
80765         Prefer sizeof (bitset) to multiplying it out ourselves.
80766         (bitset_not_merge): Remove; unused.
80767         (bitset_contain): Return bool, not unsigned int with one bit on.
80768         All callers changed.
80769         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
80770         alignment than re_node_set; do this by defining a new internal
80771         type struct dests_alloc and using it to allocate memory.
80772
80773 2005-09-05  Bruno Haible  <bruno@clisp.org>
80774
80775         * gnulib-tool (func_import): Fix comparison in handling of symbolic
80776         links.
80777
80778 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
80779
80780         * modules/size_max (Makefile.am): Add size_max.h
80781
80782 2005-09-04  Derek Price  <derek@ximbiot.com>
80783
80784         * gnulib-tool (func_import): Fix reversed $symbolic logic.
80785
80786 2005-09-03  Simon Josefsson  <jas@extundo.com>
80787
80788         * gnulib-tool: Fix typo.
80789
80790 2005-09-03  Simon Josefsson  <jas@extundo.com>
80791
80792         * config/srclist.txt: Add glibc bug 1293.
80793
80794 2005-09-03  Derek Price  <derek@ximbiot.com>
80795
80796         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
80797         From Larry Jones <lawrence.jones@ugs.com>.
80798
80799 2005-09-02  Simon Josefsson  <jas@extundo.com>
80800
80801         * modules/socklen: New file.
80802
80803 2005-09-02  Simon Josefsson  <jas@extundo.com>
80804
80805         * modules/havelib: New module.
80806
80807         * modules/gettext, modules/iconv, modules/lock, modules/readline:
80808         Use havelib.
80809
80810 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80811
80812         Check for arithmetic overflow when calculating sizes, to prevent
80813         some buffer-overflow issues.  These patches are conservative, in the
80814         sense that when I couldn't determine whether an overflow was possible,
80815         I inserted a run-time check.
80816         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
80817         macros.
80818         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
80819         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
80820         (re_xnrealloc, re_x2nrealloc): New inline functions.
80821         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
80822         parse_bracket_exp):
80823         (build_equiv_class, build_charclass): Check for arithmetic overflow
80824         in size expression calculations.
80825         * lib/regex_internal.c (re_string_realloc_buffers):
80826         (build_wcs_upper_buffer, re_node_set_add_intersect):
80827         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
80828         (re_dfa_add_node, register_state): Likewise.
80829         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
80830         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
80831         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
80832         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
80833
80834 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80835
80836         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80837         m4/ulonglong.m4.  Problem reported by Martin Lambers.
80838
80839 2005-09-02  Bruno Haible  <bruno@clisp.org>
80840
80841         Support for lib vs. lib64 distinction on biarch platforms.
80842         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
80843         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
80844         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
80845
80846 2005-09-02  Bruno Haible  <bruno@clisp.org>
80847
80848         * gnulib-tool (import): In the other first-use case, provide defaults
80849         as well.
80850
80851 2005-09-02  Bruno Haible  <bruno@clisp.org>
80852
80853         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
80854         patches not yet found in the latest gettext release.
80855
80856 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80857
80858         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
80859         to avoid a collision with bits/local_lim.h in glibc.
80860         All uses changed.  Problem reported by Dmitry V. Levin in
80861         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
80862
80863         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
80864         bugs in int versus size_t comparisons.
80865         (re_string_context_at): Fix bug where the code assumed that
80866         Idx is signed.
80867
80868         Use bool where appropriate.
80869         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
80870         All callers changed.
80871         (calc_eclosure_iter): Likewise, for ROOT arg.
80872         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
80873         (build_charclass_op): Likewise, for NON_MATCH arg.
80874         * lib/regex_internal.c (re_string_allocate, re_string_construct):
80875         (re_string_construct_common): Likewise, for ICASE arg.
80876         * lib/regexec.c (re_search_2_stub, re_search_stub):
80877         Likewise, for RET_LEN arg.
80878         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
80879         (set_regs): Likewise, for FL_BACKTRACK arg.
80880         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
80881         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
80882         (calc_eclosure_iter, parse_bracket_exp):
80883         Use bool for internal variables that are booleans.
80884         * lib/regexec.c (re_search_internal, check_matching,
80885         proceed_next_node):
80886         (set_regs, build_sifted_states, sift_states_bkref):
80887         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
80888         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80889         (find_collation_sequence_value):
80890         Likewise.
80891         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
80892         (re_node_set_compare):
80893         Return bool, not int. All callers changed.
80894         * lib/regexec.c (check_halt_node_context, check_dst_limits):
80895         (build_trtable, check_node_accept): Likewise.
80896         * lib/regex_internal.h: Include stdbool.h.
80897
80898         Fix bugs uncovered when converting to bool.
80899         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
80900         failure instead of charging ahead blindly.
80901         * lib/regex_internal.c (register_state): Likewise.
80902         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
80903         for freeing internal storage.
80904         (group_nodes_into_DFA_states): Use unsigned int, not int, for
80905         bitset pieces used as boolean, to avoid undefined behavior
80906         on hosts that do int overflow checking.
80907
80908 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80909
80910         * config/srclist.txt: Add glibc bugs 1285-1287.
80911
80912 2005-09-01  Jim Meyering  <jim@meyering.net>
80913
80914         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
80915         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
80916         Require gl_STAT_MACROS, too.
80917
80918 2005-09-01  Bruno Haible  <bruno@clisp.org>
80919
80920         * gnulib-tool (import): In the first-use case, provide defaults.
80921
80922 2005-09-01  Bruno Haible  <bruno@clisp.org>
80923
80924         * gnulib-tool (func_import): Remove the .tmp files.
80925
80926 2005-09-01  Bruno Haible  <bruno@clisp.org>
80927
80928         * gnulib-tool (func_import): Fix handling of symbolic links.
80929
80930 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80931
80932         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
80933         old glibc regex code mishandles strings longer than 2**31 bytes.
80934         This patch fixes this when the regex code is used in gnulib
80935         (i.e., outside glibc).
80936
80937         This patch should not affect the use of the regex code inside
80938         glibc.  No doubt this problem also needs to be handled for glibc
80939         as well, but the result will be an incompatible change to the
80940         glibc ABI, and the old ABI will have to be supported too.  That
80941         can be the the subject for another patch.
80942
80943         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
80944         governing whether the rest of this patch is active.  By default,
80945         the macro is disabled and the patch has no effect.
80946         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
80947         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
80948         (struct re_pattern_buffer, re_search, re_search_2, re_match):
80949         (re_match_2, re_set_registers): Use the new types.
80950         * lib/regex_internal.h (Idx, re_hashval_t): New types.
80951         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
80952         New macros.
80953         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
80954         (re_string_context_at, bin_tree_t, re_dfastate_t):
80955         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
80956         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
80957         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
80958         (re_string_char_size_at, re_string_wchar_at):
80959         (re_string_elem_size_at):
80960         Use the new types and macros to port to 64-bit hosts.
80961         Use unsigned types for internal values, so that the code
80962         mostly works even for arrays larger than SSIZE_MAX.
80963         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
80964         (search_duplicated_node, calc_eclosure_iter, fetch_number):
80965         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
80966         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
80967         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
80968         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
80969         (calc_inveclosure, parse_dup_op, build_range_exp):
80970         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
80971         (fetch_number, create_token_tree, mark_opt_subexp):
80972         Likewise.
80973         * lib/regex_internal.c (re_string_construct_common,
80974         create_ci_newstate):
80975         (create_cd_newstate, re_string_allocate, re_string_construct):
80976         (re_string_realloc_buffers, build_wcs_upper_buffer):
80977         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80978         (re_string_reconstruct, re_string_peek_byte_case):
80979         (re_string_fetch_byte_case, re_string_context_at):
80980         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80981         (re_node_set_init_copy, re_node_set_add_intersect):
80982         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80983         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80984         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80985         (re_acquire_state, re_acquire_state_context, register_state):
80986         Likewise.
80987         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
80988         search_cur_bkref_entry):
80989         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
80990         (re_search_internal, re_search_2_stub, re_search_stub)
80991         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
80992         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
80993         (update_cur_sifted_state, check_dst_limits):
80994         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
80995         (check_subexp_limits, sift_states_bkref, merge_state_array):
80996         (check_subexp_matching_top, get_subexp, get_subexp_sub):
80997         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
80998         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80999         (expand_bkref_cache, check_node_accept_bytes):
81000         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81001         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81002         (acquire_init_state_context, check_halt_node_context):
81003         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81004         (sift_states_backward, clean_state_log_if_needed):
81005         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81006         (find_recover_state, transit_state_sb, transit_state_mb):
81007         (transit_state_bkref, build_trtable, match_ctx_clean):
81008         Likewise.
81009         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81010         to work around an assumption that REG_MISSING is negative.
81011
81012         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81013         (seek_collating_symbol_entry) [defined _LIBC]:
81014         (lookup_collation_sequence_value) [defined _LIBC]:
81015         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81016         Use prototypes rather than old-style function definitions.
81017         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81018         (transit_state_sb) [0]:
81019         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81020
81021         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81022         rm_eo.
81023
81024         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81025         (optimize_subexps, lower_subexp):
81026         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81027         since the signed shift might overflow.  Use 1u<<31 instead.
81028         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81029         Likewise.
81030         * lib/regexec.c (check_dst_limits_calc_pos_1,
81031         check_subexp_matching_top): Likewise.
81032
81033         * lib/regcomp.c (optimize_subexps, lower_subexp):
81034         Use CHAR_BIT rather than 8, for clarity.
81035         * lib/regexec.c (check_dst_limits_calc_pos_1):
81036         (check_subexp_matching_top): Likewise.
81037         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81038         have to worry about portability issues when shifting it left.
81039         Remove no-longer-needed test for table_size > 0.
81040         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81041         in a word, as the resulting behavior is undefined.
81042         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81043         in one case, a <= should have been an <, and in another case the
81044         whole test was missing.
81045         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81046         the standard name CHAR_BIT.
81047         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81048         this is not true on one's complement and signed-magnitude hosts.
81049
81050         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81051         next_last_offset.
81052         (struct re_dfa_t): Remove unused member states_alloc.
81053         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81054
81055 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81056
81057         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81058         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81059         and large-file glibc and in 32-bit large-file Solaris.
81060
81061 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81062
81063         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81064         lengths fit in regoff_t; this isn't true if regoff_t is the same
81065         width as size_t.
81066         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81067         (= START + RANGE) instead of RANGE.  This avoids overflow
81068         problems when regoff_t is the same width as size_t.
81069         All callers changed.
81070         (re_search_2_stub): Check for overflow when adding the
81071         sizes of the two strings.
81072         (re_search_stub): Check for overflow when adding START
81073         to RANGE; if it occurs, substitute the extreme value.
81074
81075 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81076
81077         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81078
81079 2005-08-31  Jim Meyering  <jim@meyering.net>
81080
81081         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81082         a pointer-to-const.
81083         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81084         (register_state): Likewise.
81085         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81086         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81087         (group_nodes_into_DFAstates): Likewise.
81088
81089 2005-08-31  Jim Meyering  <jim@meyering.net>
81090
81091         * check-module: Add a FIXME comment.
81092
81093 2005-08-31  Eric Blake  <ebb9@byu.net>
81094
81095         * modules/unistd-safer (Files): Add unistd--.h.
81096         * modules/stdio-safer (Files): Add stdio--.h.
81097
81098 2005-08-31  Derek Price  <derek@ximbiot.com>
81099
81100         * lib/getdelim.c (getdelim): Return EOF on EOF.
81101         Reported by Larry Jones <lawrence.jones@ugs.com>.
81102
81103 2005-08-31  Bruno Haible  <bruno@clisp.org>
81104
81105         Avoid unnecessary diffs in the generated lib/Makefile.am.
81106         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
81107         the generated files.
81108         (func_import): Don't set cmd.
81109
81110 2005-08-31  Bruno Haible  <bruno@clisp.org>
81111
81112         * lib/strstr.c: Include <stddef.h>, for NULL.
81113         * lib/strcasestr.c: Likewise.
81114         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81115
81116 2005-08-31  Bruno Haible  <bruno@clisp.org>
81117
81118         * gnulib-tool: New option --macro-prefix.
81119         (func_import): Use macro_prefix.
81120         (import): Handle option --macro-prefix.
81121
81122 2005-08-31  Bruno Haible  <bruno@clisp.org>
81123
81124         * gnulib-tool (import): Rename most ac_* variables to cached_*.
81125         Also use new variables cached_lgpl, cached_libtool.
81126
81127 2005-08-31  Bruno Haible  <bruno@clisp.org>
81128
81129         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
81130         always instantiating them.
81131
81132 2005-08-31  Bruno Haible  <bruno@clisp.org>
81133
81134         * gnulib-tool (func_import): Read the previous cached settings
81135         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
81136         earlier added by gnulib but are now dropped. Warn when a gnulib file
81137         overwrites a non-gnulib file.
81138
81139 2005-08-31  Bruno Haible  <bruno@clisp.org>
81140
81141         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
81142         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
81143         projects that don't keep autogenerated files in CVS. Put into
81144         actioncmd only the specified modules, not the transitive closure.
81145
81146 2005-08-31  Bruno Haible  <bruno@clisp.org>
81147
81148         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
81149         Create directories that shall be filled.
81150         (import): Don't look for gl_* macros in configure.ac. Recurse across
81151         all directories containing a gnulib-cache.m4 files, if meaningful.
81152
81153 2005-08-31  Bruno Haible  <bruno@clisp.org>
81154
81155         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
81156         (import): Set seen_libtool when we see gl_LIBTOOL.
81157
81158 2005-08-31  Bruno Haible  <bruno@clisp.org>
81159
81160         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
81161         declaration macro definitions from generated gnulib.m4.
81162
81163 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
81164
81165         * lib/iconvme.h: Add prototype for iconv_alloc.
81166
81167 2005-08-29  Simon Josefsson  <jas@extundo.com>
81168
81169         * lib/iconvme.c: Fix errno.
81170
81171 2005-08-29  Bruno Haible  <bruno@clisp.org>
81172
81173         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
81174         that it works when the directory contains spaces.
81175
81176 2005-08-29  Bruno Haible  <bruno@clisp.org>
81177
81178         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
81179
81180 2005-08-29  Bruno Haible  <bruno@clisp.org>
81181
81182         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
81183         Emit more advice.
81184
81185 2005-08-29  Bruno Haible  <bruno@clisp.org>
81186         and Stepan Kasal  <kasal@ucw.cz>
81187
81188         * check-module: If more parameters are given, check each of them
81189         separately; add more exceptions, as noted by Jim Meyering.
81190         (check_module): New procedure.
81191         (%exempt_header): Now contains all exceptions.
81192
81193 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
81194
81195         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
81196
81197 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81198
81199         * lib/iconvme.c: Split iconv_string into iconv_alloc.
81200
81201 2005-08-28  Bruno Haible  <bruno@clisp.org>
81202
81203         * m4/gnulib-tool.m4: New file.
81204
81205 2005-08-27  Jim Meyering  <jim@meyering.net>
81206
81207         * modules/unistd-safer (Files): Add pipe-safer.c.
81208         * modules/fcntl-safer (Files): Add creat-safer.c.
81209
81210 2005-08-27  Jim Meyering  <jim@meyering.net>
81211
81212         * m4/stdlib-safer.m4: New file.  From coreutils.
81213         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
81214         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
81215         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
81216         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
81217         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
81218
81219 2005-08-27  Jim Meyering  <jim@meyering.net>
81220
81221         * lib/fopen-safer.c: Merge minor changes from coreutils.
81222         * lib/dup-safer.c: Likewise.
81223         * lib/fd-safer.c: Likewise.
81224
81225         Merge from coreutils.
81226         * lib/stdio--.h: New file.
81227         * lib/stdlib--.h: New file.
81228         * lib/mkstemp-safer.c: New file.
81229
81230         GNU tar needs these.
81231         * lib/pipe-safer.c: New file.
81232         * lib/creat-safer.c: New file.
81233         * lib/fcntl--.h (creat): Define to creat_safer.
81234         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
81235         * lib/unistd--.h (pipe): Define to pipe_safer.
81236         * lib/unistd-safer.h: Declare pipe_safer.
81237
81238 2005-08-26  Simon Josefsson  <jas@extundo.com>
81239
81240         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
81241         Haible <bruno@clisp.org>.
81242
81243 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
81244
81245         * lib/regex_internal.h: Remove all references to
81246         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
81247         or better.
81248         (bitset_not, bitset_merge, bitset_not_merge):
81249         (bitset_mask, re_string_allocate, re_string_construct):
81250         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
81251         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
81252         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
81253         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
81254         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81255         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81256         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
81257         (re_acquire_state_context):
81258         Remove unnecessary forward decls.
81259         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
81260         Put __attribute at function definition,
81261         now that the function decl has been removed.
81262         * lib/regex_internal.c (re_string_peek_byte_case):
81263         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
81264         Likewise.
81265
81266 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
81267
81268         * m4/regex.m4: Add AC_PREREQ(2.50).
81269         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
81270
81271 2005-08-25  Simon Josefsson  <jas@extundo.com>
81272
81273         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
81274         __fsetlocking.
81275
81276 2005-08-25  Simon Josefsson  <jas@extundo.com>
81277
81278         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
81279         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
81280         GLIBC specific code.
81281
81282 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81283
81284         Make regex safe for g++.  This fixes one real bug (an "err"
81285         that should have been "*err").  g++ problem reported by
81286         Sam Steingold.
81287         * lib/regex_internal.h (re_calloc): New macro, consistent with
81288         re_malloc etc.  All callers of calloc changed to use re_calloc.
81289         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
81290         not int.  All callers changed.
81291         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
81292         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
81293         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
81294         (find_recover_state): Change "err" to "*err"; this fixes what
81295         appears to be a real bug.
81296         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
81297         versus int.
81298
81299 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81300
81301         * modules/regex (Depends-on): Add malloc, since the code
81302         assumes that !malloc(0) means failure.
81303
81304 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81305
81306         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
81307
81308         alloca modernization/simplification for regex.
81309         * lib/regex.c: Remove portability cruft for alloca.  This no longer
81310         needs to be at the start of the file, and can be moved into
81311         regex_internal.h and simplified.
81312         * lib/regex_internal.h: Include <alloca.h>.
81313         (__libc_use_alloca) [!defined _LIBC]: New macro.
81314         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
81315         now works outside glibc.
81316
81317 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81318
81319         * config/srclist.txt: Add glibc bugs 1241, 1245.
81320
81321 2005-08-25  Jim Meyering  <jim@meyering.net>
81322
81323         * lib/open-safer.c: Include <config.h>.
81324         Otherwise, we'd lose LARGEFILE support in any file using
81325         e.g. "fcntl--.h"
81326
81327 2005-08-25  Bruno Haible  <bruno@clisp.org>
81328
81329         * m4/minmax.m4: Require autoconf 2.52.
81330         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
81331         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
81332         alternatives of translit over the alphabet.
81333         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
81334
81335 2005-08-24  Simon Josefsson  <jas@extundo.com>
81336
81337         * tests/test-getpass.c: New file.
81338
81339 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81340
81341         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
81342         for GNU regex features.
81343
81344 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81345
81346         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
81347         * lib/regex.h (regerror): Likewise.
81348
81349         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
81350         requires this.  (The code never needed it.)
81351
81352         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
81353         All uses of recently-renamed identifiers changed to use the new,
81354         POSIX-compliant names.  The code will build and run just fine
81355         without these changes, but it's better to eat our own dog food
81356         and use the standard-conforming names.
81357
81358         * lib/regex.h: Fix a multitude of POSIX name space violations.
81359         These changes have an effect only for programs that define
81360         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
81361         do not change anything for programs compiled in the normal way.
81362         Also, there is no effect on the ABI.
81363
81364         (_REGEX_SOURCE): New macro.
81365         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
81366         defined and _GNU_SOURCE is not; this fixes a name space violation.
81367
81368         Rename the following macros to obey POSIX requirements.
81369         The old names are still visible as macros if _REGEX_SOURCE is defined.
81370         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
81371         RE_BACKSLASH_ESCAPE_IN_LISTS.
81372         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
81373         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
81374         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
81375         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
81376         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
81377         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
81378         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
81379         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
81380         (REG_INTERVALS): renamed from RE_INTERVALS.
81381         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
81382         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
81383         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
81384         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
81385         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
81386         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
81387         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
81388         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
81389         RE_UNMATCHED_RIGHT_PAREN_ORD.
81390         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
81391         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
81392         (REG_DEBUG): renamed from RE_DEBUG.
81393         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
81394         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
81395         unusual, since we can't clash with the POSIX REG_ICASE.
81396         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
81397         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
81398         (REG_NO_SUB): renamed from RE_NO_SUB.
81399         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
81400         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
81401         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
81402         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
81403         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
81404         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
81405         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
81406         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
81407         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
81408         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
81409         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
81410         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
81411         RE_SYNTAX_POSIX_MINIMAL_BASIC.
81412         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
81413         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
81414         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
81415         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
81416         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
81417         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
81418         (REG_FIXED): Renamed from REGS_FIXED.
81419         (REG_NREGS): Renamed from RE_NREGS.
81420
81421         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
81422         of other REG_* macros, since POSIX says the user is allowed to
81423         #undef these macros selectively.
81424
81425         (reg_errcode_t): Update comment stating what other tables need
81426         to be consistent.
81427
81428         Rename the following enum values to obey POSIX requirements.
81429         The old names are still visible as macros.
81430         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
81431         is not defined, since GNU is supposed to be a superset of POSIX as
81432         much as possible, and since we want reg_errcode_t to be a signed
81433         type for implementation consistency.
81434         (_REG_NOERROR): Renamed from REG_NOERROR.
81435         (_REG_NOMATCH): Renamed from REG_NOMATCH.
81436         (_REG_BADPAT): Renamed from REG_BADPAT.
81437         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
81438         (_REG_ECTYPE): Renamed from REG_ECTYPE.
81439         (_REG_EESCAPE): Renamed from REG_EESCAPE.
81440         (_REG_ESUBREG): Renamed from REG_ESUBREG.
81441         (_REG_EBRACK): Renamed from REG_EBRACK.
81442         (_REG_EPAREN): Renamed from REG_EPAREN.
81443         (_REG_EBRACE): Renamed from REG_EBRACE.
81444         (_REG_BADBR): Renamed from REG_BADBR.
81445         (_REG_ERANGE): Renamed from REG_ERANGE.
81446         (_REG_ESPACE): Renamed from REG_ESPACE.
81447         (_REG_BADRPT): Renamed from REG_BADRPT.
81448         (_REG_EEND): Renamed from REG_EEND.
81449         (_REG_ESIZE): Renamed from REG_ESIZE.
81450         (_REG_ERPAREN): Renamed from REG_ERPAREN.
81451         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
81452         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
81453         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
81454         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
81455
81456         (_REG_RE_NAME, _REG_RM_NAME): New macros.
81457         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
81458         changed.  But support the old name if the new one is not defined
81459         and if _REGEX_SOURCE.
81460
81461         Change the following member names in struct re_pattern_buffer.
81462         The old names are still supported if !_REGEX_SOURCE.
81463         The new names are always supported, regardless of _REGEX_SOURCE.
81464         (re_buffer): Renamed from buffer.
81465         (re_allocated): Renamed from allocated.
81466         (re_used): Renamed from used.
81467         (re_syntax): Renamed from syntax.
81468         (re_fastmap): Renamed from fastmap.
81469         (re_translate): Renamed from translate.
81470         (re_can_be_null): Renamed from can_be_null.
81471         (re_regs_allocated): Renamed from regs_allocated.
81472         (re_fastmap_accurate): Renamed from fastmap_accurate.
81473         (re_no_sub): Renamed from no_sub.
81474         (re_not_bol): Renamed from not_bol.
81475         (re_not_eol): Renamed from not_eol.
81476         (re_newline_anchor): Renamed from newline_anchor.
81477
81478         Change the following member names in struct re_registers.
81479         The old names are still supported if !_REGEX_SOURCE.
81480         The new names are always supported, regardless of _REGEX_SOURCE.
81481         (rm_num_regs): Renamed from num_regs.
81482         (rm_start): Renamed from start.
81483         (rm_end): Renamed from end.
81484
81485         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
81486         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
81487         Prepend __ to parameter names.
81488
81489         Undo yesterday's changes.
81490
81491 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81492
81493         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
81494         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
81495         lib/regex.c.
81496
81497 2005-08-24  Jim Meyering  <jim@meyering.net>
81498
81499         Sync from coreutils.
81500         * m4/fcntl-safer.m4: New file.
81501
81502         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
81503         and object files for this module.
81504
81505 2005-08-24  Jim Meyering  <jim@meyering.net>
81506
81507         Sync from coreutils.
81508         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
81509
81510 2005-08-24  Jim Meyering  <jim@meyering.net>
81511
81512         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
81513         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
81514
81515 2005-08-24  Jim Meyering  <jim@meyering.net>
81516
81517         * modules/fcntl-safer: New module.
81518         * modules/fts (Depends-on): Add fcntl-safer.
81519         * MODULES.html.sh (File descriptor based Input/Output):
81520         Add fcntl-safer.
81521
81522 2005-08-24  Bruno Haible  <bruno@clisp.org>
81523
81524         Support for unit test modules.
81525         * modules/README: Mention tests modules.
81526         * modules/TEMPLATE-TESTS: New file.
81527         * gnulib-tool: New options --extract-tests-module, --with-tests and
81528         --tests-base (unused for the moment).
81529         (testsbase, inctests): New variables.
81530         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
81531         (func_verify_module): Exclude TEMPLATE-TESTS.
81532         (func_verify_nontests_module, func_verify_tests_module): New functions.
81533         (func_get_dependencies): Add implicit dependency for tests modules.
81534         (func_get_tests_module): New function.
81535         (func_modules_transitive_closure): When --with-tests was specified,
81536         include the unit tests as well, unless explicitly avoided.
81537         (func_emit_lib_Makefile_am): Ignore the tests modules here.
81538         (func_emit_tests_Makefile_am): New function.
81539         (func_create_testdir): When --with-tests was specified, emit a
81540         tests/ directory.
81541         * MODULES.html.sh (Future developments): Update.
81542
81543 2005-08-24  Bruno Haible  <bruno@clisp.org>
81544
81545         * modules/tls-tests: New file.
81546         * tests/test-tls.c: New file, from GNU gettext.
81547
81548 2005-08-24  Bruno Haible  <bruno@clisp.org>
81549
81550         * modules/lock-tests: New file.
81551         * tests/test-lock.c: New file, from GNU gettext.
81552
81553 2005-08-24  Bruno Haible  <bruno@clisp.org>
81554
81555         * lib/lock.h: Add multiple inclusion guard.
81556         * lib/tls.h: Add multiple inclusion guard.
81557
81558 2005-08-24  Bruno Haible  <bruno@clisp.org>
81559
81560         * gnulib-tool: Add support for the --aux-dir option to
81561         --create-testdir, --create-megatestdir, --test, --megatest.
81562         (func_create_testdir, func_create_megatestdir): Optionally emit a
81563         AC_CONFIG_AUX_DIR directive.
81564         (create-testdir, create-megatestdir, test, megatest): Provide a
81565         default value for $auxdir.
81566
81567 2005-08-24  Bruno Haible  <bruno@clisp.org>
81568
81569         * gnulib-tool (import): Use compound statement instead of subshell
81570         where possible.
81571
81572 2005-08-24  Bruno Haible  <bruno@clisp.org>
81573
81574         * gnulib-tool (import): Change --aux-dir default to "build-aux".
81575
81576 2005-08-24  Bruno Haible  <bruno@clisp.org>
81577
81578         * gnulib-tool (func_version): Update.
81579
81580 2005-08-24  Bruno Haible  <bruno@clisp.org>
81581
81582         * gnulib-tool (func_import, func_create_testdir,
81583         func_create_megatestdir): Quote all autoconf macro arguments.
81584
81585 2005-08-24  Bruno Haible  <bruno@clisp.org>
81586
81587         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
81588         option --force, because --force causes the aclocal.m4 of each
81589         subdirectory to be newer than the corresponding config.h.in.
81590
81591 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81592
81593         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
81594         All contents moved to gl_REGEX.
81595         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
81596         assume that it does.
81597
81598 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81599
81600         * lib/regex.h (REG_NOSYS)
81601         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
81602         Define, since POSIX requires it as of 2001.
81603         (_REG_ENOSYS)
81604         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
81605         New private symbol, used to keep the enum signed in all cases.
81606         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
81607         Youngman in
81608         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
81609
81610         * lib/regex_internal.c (re_string_skip_chars, register_state):
81611         (calc_state_hash):
81612         Remove forward decls; no longer needed now that we use prototypes.
81613         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
81614         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
81615         (clean_state_log_if_needed): Likewise.
81616
81617 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81618
81619         * config/srclist.txt: Add glibc bugs 1231-1233.
81620
81621 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81622
81623         Fix problems reported by Sam Steingold in
81624         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
81625         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
81626         assumed that reg_errcode_t is a signed type, which is not
81627         necessarily true if _XOPEN_SOURCE is not defined.
81628         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
81629         since some compilers warn about it otherwise.
81630
81631 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81632
81633         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
81634         (init_word_char, create_initial_state, duplicate_node_closure):
81635         (fetch_token, peek_token_bracket, build_range_exp):
81636         (build_collating_symbol): Remove forward decls; no longer needed
81637         now that we use prototypes.
81638
81639         * lib/regcomp.c:
81640         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
81641         (re_compile_fastmap_iter, regcomp, regerror, regfree):
81642         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
81643         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
81644         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
81645         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
81646         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
81647         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
81648         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
81649         (build_range_exp, build_collating_symbol, parse_bracket_exp):
81650         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
81651         (build_charclass, build_charclass_op, fetch_number, create_tree):
81652         (create_token_tree, mark_opt_subexp, duplicate_tree):
81653         Use prototypes rather than old-style definitions.
81654
81655         * lib/regex_internal.c:
81656         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
81657         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
81658         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81659         (re_string_reconstruct, re_string_peek_byte_case):
81660         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
81661         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81662         (re_node_set_init_copy, re_node_set_add_intersect):
81663         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81664         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81665         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81666         (re_acquire_state, re_acquire_state_context, register_state):
81667         (create_ci_newstate, create_cd_newstate, free_state):
81668         Likewise.
81669         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
81670         re_search_2):
81671         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
81672         (re_search_internal, prune_impossible_nodes):
81673         (acquire_init_state_context, check_matching, static):
81674         (check_halt_node_context, check_halt_state_context, proceed_next_node):
81675         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
81676         (update_regs, sift_states_backward, build_sifted_states):
81677         (clean_state_log_if_needed, merge_state_array):
81678         (update_cur_sifted_state, add_epsilon_src_nodes):
81679         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
81680         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
81681         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
81682         (find_recover_state, check_subexp_matching_top, transit_state_mb):
81683         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
81684         (check_arrival, check_arrival_add_next_nodes):
81685         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81686         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81687         (check_node_accept_bytes, check_node_accept, extend_buffers):
81688         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
81689         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
81690         (sift_ctx_init):
81691         Likewise.
81692
81693         * lib/regex_internal.h:
81694         (re_string_allocate, re_string_construct, re_string_reconstruct):
81695         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
81696         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
81697         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
81698         (re_string_context_at, re_string_peek_byte_case):
81699         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
81700         is defined, since we now use prototypes always.
81701
81702         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
81703         C89 or better.  All uses removed.
81704
81705 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81706
81707         * config/srclist.txt: Add glibc bugs 1220-1227.
81708
81709 2005-08-20  Jim Meyering  <jim@meyering.net>
81710
81711         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
81712         of unused local, dfa.
81713
81714 2005-08-20  Bruno Haible  <bruno@clisp.org>
81715
81716         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
81717
81718 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81719
81720         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
81721         (re_node_set_insert_last, re_dfa_add_node):
81722         Rename local variables to avoid GCC shadowing warnings.
81723
81724 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81725
81726         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
81727         [defined lint]: Suppress bogus uninitialized-variable warnings.
81728
81729         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
81730         and let the caller return REG_ESPACE if out of space.  This
81731         removes an uninitialied-variable warning with GCC 4.0.1, and also
81732         avoids taking the address of a local variable.  All callers
81733         changed.
81734
81735 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81736
81737         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
81738         $LIBCSRC/posix/regexec.c.
81739         Add glibc bug 1217 for regcomp.c.
81740
81741 2005-08-19  Jim Meyering  <jim@meyering.net>
81742
81743         * lib/regexec.c (proceed_next_node): Redo local variables to
81744         avoid GCC shadowing warnings.
81745
81746 2005-08-18  Bruno Haible  <bruno@clisp.org>
81747
81748         * lib/strstr.c (strstr): Fix return value in multibyte case.
81749         * lib/strcasestr.c (strcasestr): Likewise.
81750
81751 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81752
81753         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
81754
81755 2005-08-17  Jim Meyering  <jim@meyering.net>
81756
81757         Make the %s format (seconds since the epoch) work for a negative
81758         number and when used with a zero-padded field width, e.g. %015s.
81759
81760         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
81761         label so that it precedes the code to set `digits'.  Otherwise,
81762         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
81763         print `00-22'.  Now, it prints `-0022', as it should.
81764
81765 2005-08-17  Bruno Haible  <bruno@clisp.org>
81766
81767         * modules/strstr (Files): Add m4/mbrtowc.m4.
81768         (Depends-on): Add mbuiter.
81769
81770 2005-08-17  Bruno Haible  <bruno@clisp.org>
81771
81772         * modules/strcasestr: New file.
81773         * MODULES.html.sh (String handling, based on ANSI C 89): Add
81774         strcasestr.
81775
81776 2005-08-17  Bruno Haible  <bruno@clisp.org>
81777
81778         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
81779
81780 2005-08-17  Bruno Haible  <bruno@clisp.org>
81781
81782         * modules/mbuiter: New file.
81783         * MODULES.html.sh (Extended multibyte and wide character utilities):
81784         Add mbuiter.
81785
81786 2005-08-17  Bruno Haible  <bruno@clisp.org>
81787
81788         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
81789         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
81790
81791 2005-08-17  Bruno Haible  <bruno@clisp.org>
81792
81793         * m4/strcasestr.m4: New file.
81794
81795 2005-08-17  Bruno Haible  <bruno@clisp.org>
81796
81797         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
81798         * lib/strstr.c: Completely rewritten, with multibyte locale support.
81799
81800 2005-08-17  Bruno Haible  <bruno@clisp.org>
81801
81802         * lib/strcasestr.h: New file.
81803         * lib/strcasestr.c: New file.
81804
81805 2005-08-17  Bruno Haible  <bruno@clisp.org>
81806
81807         * lib/strcasecmp.c: Use mbuiter.h.
81808
81809 2005-08-17  Bruno Haible  <bruno@clisp.org>
81810
81811         * lib/mbuiter.h: New file.
81812
81813 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
81814
81815         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
81816         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
81817         and gl_GETOPT are both invoked via different paths (as happens
81818         with GNU tar CVS because it uses both argp and getopt), the former
81819         wins.
81820
81821 2005-08-16  Bruno Haible  <bruno@clisp.org>
81822
81823         * modules/tls: New file.
81824         * MODULES.html.sh (Multithreading): Add tls.
81825
81826 2005-08-16  Bruno Haible  <bruno@clisp.org>
81827
81828         * modules/strnlen1: New file.
81829         * MODULES.html.sh (String handling): Add strnlen1.
81830
81831 2005-08-16  Bruno Haible  <bruno@clisp.org>
81832
81833         * modules/strcase (Files): Add m4/mbrtowc.m4.
81834         (Depends-on): Add strnlen1, mbchar.
81835
81836 2005-08-16  Bruno Haible  <bruno@clisp.org>
81837
81838         * modules/mbiter: New file.
81839         * MODULES.html.sh (Extended multibyte and wide character utilities):
81840         Add mbiter.
81841
81842 2005-08-16  Bruno Haible  <bruno@clisp.org>
81843
81844         * modules/mbfile: New file.
81845         * MODULES.html.sh (Extended multibyte and wide character utilities):
81846         Add mbfile.
81847
81848 2005-08-16  Bruno Haible  <bruno@clisp.org>
81849
81850         * modules/mbchar: New file.
81851         * MODULES.html.sh (Extended multibyte and wide character utilities):
81852         New section.
81853
81854 2005-08-16  Bruno Haible  <bruno@clisp.org>
81855
81856         * m4/tls.m4: New file, from GNU gettext.
81857
81858 2005-08-16  Bruno Haible  <bruno@clisp.org>
81859
81860         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
81861         always.
81862         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
81863
81864 2005-08-16  Bruno Haible  <bruno@clisp.org>
81865
81866         * m4/mbiter.m4: New file.
81867
81868 2005-08-16  Bruno Haible  <bruno@clisp.org>
81869
81870         * m4/mbfile.m4: New file.
81871
81872 2005-08-16  Bruno Haible  <bruno@clisp.org>
81873
81874         * m4/mbchar.m4: New file.
81875
81876 2005-08-16  Bruno Haible  <bruno@clisp.org>
81877
81878         * lib/tls.h: New file, from GNU gettext.
81879         * lib/tls.c: New file, from GNU gettext.
81880
81881 2005-08-16  Bruno Haible  <bruno@clisp.org>
81882
81883         * lib/strnlen1.h: New file.
81884         * lib/strnlen1.c: New file.
81885
81886 2005-08-16  Bruno Haible  <bruno@clisp.org>
81887
81888         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
81889         (mbi_init): Update.
81890         (mbi_avail, mbi_advance): Let the iteration end before the terminating
81891         NUL byte, not after it.
81892
81893 2005-08-16  Bruno Haible  <bruno@clisp.org>
81894
81895         * lib/strcase.h (strcasecmp): Add note in comments.
81896         * lib/strncasecmp.c: Use code from strcasecmp.c.
81897         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
81898         (strcasecmp): Work correctly in multibyte locales.
81899
81900 2005-08-16  Bruno Haible  <bruno@clisp.org>
81901
81902         * lib/mbiter.h: New file.
81903
81904 2005-08-16  Bruno Haible  <bruno@clisp.org>
81905
81906         * lib/mbfile.h: New file.
81907
81908 2005-08-16  Bruno Haible  <bruno@clisp.org>
81909
81910         * lib/mbchar.h: New file.
81911         * lib/mbchar.c: New file.
81912
81913 2005-08-16  Bruno Haible  <bruno@clisp.org>
81914
81915         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
81916         the valid ones. Makes the comparison operations transitive:
81917         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
81918         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
81919
81920 2005-08-15  Simon Josefsson  <jas@extundo.com>
81921
81922         * modules/ssize_t (License): Change to 'unlimited'.
81923
81924         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
81925
81926 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
81927
81928         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
81929         Add comments for each pending glibc patch.
81930
81931 2005-08-15  Bruno Haible  <bruno@clisp.org>
81932
81933         * lib/regex.h (__restrict_arr): Don't define to __restrict if
81934         __cplusplus is defined.
81935
81936 2005-08-14  Jim Meyering  <jim@meyering.net>
81937
81938         Sync from coreutils.
81939
81940         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
81941         Use the hash-table-based cycle-detection code not just when
81942         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
81943         Reported by James Youngman in
81944         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
81945         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
81946         FTS_TIGHT_CYCLE_CHECK.
81947         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
81948         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
81949         once again.
81950         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
81951         * lib/fts.c (fd_safer): Remove decl.
81952         Include fcntl--.h rather than unistd-safer.h
81953         (fts_safe_changedir): Don't call fd_safer; no longer needed
81954         now that we include fcntl--.h.
81955
81956 2005-08-12  Simon Josefsson  <jas@extundo.com>
81957
81958         * modules/getndelim2: Use ssize_t module.
81959         * modules/getnline: Likewise.
81960         * modules/safe-read: Likewise.
81961         * modules/xreadlink: Likewise.
81962
81963         * modules/ssize_t: New file.
81964
81965 2005-08-12  Simon Josefsson  <jas@extundo.com>
81966
81967         * m4/readline.m4: Look for termcap, curses or ncurses if required.
81968
81969 2005-08-12  Simon Josefsson  <jas@extundo.com>
81970
81971         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81972         ssize_t.
81973
81974 2005-08-12  Simon Josefsson  <jas@extundo.com>
81975
81976         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
81977         readline, getdelim and check_version.
81978         (Support for systems lacking ISO C 99: Sizes of integer types):
81979         Add size_max.
81980
81981 2005-08-12  Bruno Haible  <bruno@clisp.org>
81982
81983         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
81984
81985 2005-08-11  Simon Josefsson  <jas@extundo.com>
81986
81987         * modules/readline: New file.
81988
81989         * modules/strnlen (Files): Add strnlen.h.
81990
81991 2005-08-11  Simon Josefsson  <jas@extundo.com>
81992
81993         * m4/readline.m4: New file.
81994
81995 2005-08-11  Simon Josefsson  <jas@extundo.com>
81996
81997         * lib/readline.h, readline.c: New file.
81998
81999 2005-08-11  Simon Josefsson  <jas@extundo.com>
82000
82001         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82002         gl_AVOID.
82003
82004 2005-08-11  Bruno Haible  <bruno@clisp.org>
82005
82006         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82007
82008 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82009
82010         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82011
82012 2005-08-10  Simon Josefsson  <jas@extundo.com>
82013
82014         * tests/test-iconvme.c: New file.
82015
82016 2005-08-10  Simon Josefsson  <jas@extundo.com>
82017
82018         * m4/strnlen.m4: New file.
82019
82020         * m4/strndup.m4: Don't check for strnlen declaration, done in
82021         strnlen.m4.
82022
82023 2005-08-10  Simon Josefsson  <jas@extundo.com>
82024
82025         * lib/strndup.c: Use strnlen.h.
82026
82027         * lib/strnlen.h: New file.
82028
82029 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82030
82031         * README: Typos.
82032
82033 2005-08-02  Simon Josefsson  <jas@extundo.com>
82034
82035         * modules/readline: New file.
82036
82037 2005-08-02  Simon Josefsson  <jas@extundo.com>
82038
82039         * modules/getdelim: New file.
82040
82041         * modules/getline: Rewrite, don't use getndelim2.
82042
82043 2005-08-02  Simon Josefsson  <jas@extundo.com>
82044
82045         * m4/getline.m4: Separate out getdelim stuff into separate module.
82046
82047         * m4/getdelim.m4: New file.
82048
82049 2005-08-02  Simon Josefsson  <jas@extundo.com>
82050
82051         * lib/getline.h, getline.c: Rewrite.
82052
82053         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82054
82055 2005-07-31  Bruno Haible  <bruno@clisp.org>
82056
82057         * lib/lock.h (gl_lock_initializer): New macro.
82058         (gl_lock_define_initialized): Use it.
82059         (gl_rwlock_initializer): New macro.
82060         (gl_rwlock_define_initialized): Use it.
82061         (gl_recursive_lock_initializer): New macro.
82062         (gl_recursive_lock_define_initialized): Use it.
82063
82064 2005-07-30  Karl Berry  <karl@gnu.org>
82065
82066         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82067         Report from Ben Pfaff, regarding getopt.
82068
82069 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82070
82071         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82072         normal way.
82073         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82074         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82075         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82076         (gl_GETOPT): Use the new macros.  Most of the implementation
82077         is moved to the new macros.  This is for programs like Emacs
82078         that don't want all the functionality of gl_GETOPT.
82079
82080 2005-07-26  Bruno Haible  <bruno@clisp.org>
82081
82082         * m4/lock.m4: Update from GNU gettext.
82083
82084 2005-07-26  Bruno Haible  <bruno@clisp.org>
82085
82086         * lib/lock.h: Update from GNU gettext.
82087         * lib/lock.c: Update from GNU gettext.
82088
82089 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82090
82091         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82092         obsolescent AC_TRY_RUN.  Include the default includes files, for
82093         'exit'.
82094
82095 2005-07-24  Bruno Haible  <bruno@clisp.org>
82096
82097         * modules/visibility: New file.
82098         * MODULES.html.sh (Misc): Add visibility.
82099
82100 2005-07-24  Bruno Haible  <bruno@clisp.org>
82101
82102         * m4/visibility.m4: New file.
82103
82104 2005-07-24  Bruno Haible  <bruno@clisp.org>
82105
82106         * doc/visibility.texi: New file.
82107
82108 2005-07-22  Bruno Haible  <bruno@clisp.org>
82109
82110         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
82111         $(ALLOCA_H), redundant through BUILT_SOURCES.
82112         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
82113         redundant through BUILT_SOURCES.
82114         * modules/byteswap (Makefile.am): Remove explicit dependency on
82115         $(BYTESWAP_H), redundant through BUILT_SOURCES.
82116         * modules/fnmatch (Makefile.am): Remove explicit dependency on
82117         $(FNMATCH_H), redundant through BUILT_SOURCES.
82118         * modules/getopt (Makefile.am): Remove explicit dependency on
82119         $(GETOPT_H), redundant through BUILT_SOURCES.
82120         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
82121         redundant through BUILT_SOURCES.
82122         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
82123         redundant through BUILT_SOURCES.
82124         * modules/stdbool (Makefile.am): Remove explicit dependency on
82125         $(STDBOOL_H), redundant through BUILT_SOURCES.
82126         * modules/stdint (Makefile.am): Remove explicit dependency on
82127         $(STDINT_H), redundant through BUILT_SOURCES.
82128         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
82129         Remove explicit dependency on $(SYSEXITS_H).
82130         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
82131
82132 2005-07-18  Simon Josefsson  <jas@extundo.com>
82133
82134         * lib/check-version.c (check_version): Accept identical versions too.
82135
82136 2005-07-18  Bruno Haible  <bruno@clisp.org>
82137
82138         * modules/lock: New file.
82139         * MODULES.html.sh (Multithreading): New section.
82140
82141 2005-07-18  Bruno Haible  <bruno@clisp.org>
82142
82143         * m4/lock.m4: New file, from GNU gettext.
82144
82145 2005-07-18  Bruno Haible  <bruno@clisp.org>
82146
82147         * lib/lock.h: New file, from GNU gettext.
82148         * lib/lock.c: New file, from GNU gettext.
82149
82150 2005-07-18  Bruno Haible  <bruno@clisp.org>
82151
82152         * lib/lock.h (gl_once_t): New type.
82153         (gl_once_define, gl_once): New macros.
82154         * lib/lock.c (fresh_once): New variable.
82155         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
82156         functions.
82157
82158 2005-07-16  Simon Josefsson  <jas@extundo.com>
82159
82160         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
82161         workaround, suggested by Bruno.
82162
82163 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82164
82165         * modules/xalloc (Depends-on): Add xalloc-die.
82166         * modules/xvasprintf (Depends-on): Add xalloc-die.
82167
82168 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82169
82170         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
82171         with a minor change.
82172
82173 2005-07-15  Bruno Haible  <bruno@clisp.org>
82174
82175         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
82176         When using lib/poll.c, define poll as rpl_poll.
82177
82178 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
82179
82180         * modules/argp (Depends-on): Remove unlocked-io.
82181
82182 2005-07-14  Derek Price  <derek@ximbiot.com>
82183
82184         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
82185         for glob symlink bug.
82186
82187 2005-07-14  Bruno Haible  <bruno@clisp.org>
82188
82189         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
82190         Instead, test for *_unlocked function declarations directly.
82191
82192 2005-07-11  Simon Josefsson  <jas@extundo.com>
82193
82194         * modules/size_max: New file.
82195
82196         * modules/xsize: Depend on size_max module for size_max.m4.
82197
82198 2005-07-11  Simon Josefsson  <jas@extundo.com>
82199
82200         * lib/size_max.h: New file.
82201
82202 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
82203
82204         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
82205         copyright symbol and the year.
82206         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
82207         (version_etc_va): Use parameterized copyright notice.
82208         Reword to conform to the current GNU coding standards.
82209
82210 2005-07-11  Karl Berry  <karl@gnu.org>
82211
82212         * doc/gnulib.texi (Quoting): new node.
82213         (Initial import): more info, from Patrice.
82214
82215 2005-07-11  Bruno Haible  <bruno@clisp.org>
82216
82217         * gnulib-tool (func_usage): Document option --avoid.
82218         (Command line options): Handle --avoid.
82219         (func_acceptable): New function.
82220         (func_modules_transitive_closure): Use it.
82221
82222 2005-07-11  Bruno Haible  <bruno@clisp.org>
82223
82224         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
82225         Reported by Jim Meyering.
82226
82227 2005-07-10  Bruno Haible  <bruno@clisp.org>
82228
82229         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
82230         Needed when size_t is smaller than 'unsigned int'.
82231         Reported by Paul Eggert.
82232
82233 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82234
82235         * modules/argp (Depends-on): Add unlocked-io
82236
82237 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82238
82239         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
82240         block of defines.
82241
82242 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
82243
82244         * config/srclist.txt: Comment out regcomp.c, since we have a porting
82245         fix now.
82246
82247 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
82248         and Paul Eggert  <eggert@cs.ucla.edu>
82249
82250         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
82251         in wint_t, not wchar_t.  Remove now-unnecessary cast.
82252
82253 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82254
82255         * modules/regex (Files): Add lib/regex_internal.c,
82256         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
82257         (Depends-on): Add extensions.
82258         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
82259
82260 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82261
82262         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
82263         pathconf.
82264         * m4/same.m4 (gl_SAME): Likewise.
82265         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
82266
82267         * m4/regex.m4: Adjust to new libc regex implementation.
82268         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
82269         all the .c and .h parts of (the new) regex.
82270         Quote the m4 stuff better.
82271         Check for RE_ICASE bug of old gnulib.
82272         Check for REG_STARTEND of recent libc.
82273         Rename local variables from jm_* to gl_*.
82274         Quote operand of "test -f".
82275         Say "recent enough" version of libc, not "version 2".
82276         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
82277         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
82278         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
82279         Remove check for btowc, isascii.
82280         Require AM_LANGINFO_CODESET.
82281
82282 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82283
82284         * lib/regex.c, regex.h: Sync from libc.
82285         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
82286         * lib/regexec.c:
82287         New files, synced from libc, except that regex_internal.h
82288         currently has a small porting fix.
82289
82290 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82291
82292         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
82293         regex_internal.c, regexec.c.
82294         Add regex_internal.h too, but as a comment, since the libc version
82295         is currently broken in gnulib mode.
82296
82297 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
82298
82299         Support programs like Emacs that use gnulib but not gettext.
82300         * MODULES.html.sh (Internationalization functions): Add gettext-h.
82301         * modules/gettext-h: New file.
82302         * modules/gettext (Files): Remove lib/gettext.h.
82303         (Depends-on): Add gettext-h.
82304         (Makefile.am): Remove lib_SOURCES.
82305         * modules/argmatch, modules/c-stack, modules/closeout:
82306         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
82307         * modules/execute, modules/file-type, modules/getaddrinfo:
82308         * modules/getopt, modules/human, modules/javacomp:
82309         * modules/javaexec, modules/mkdir-p, modules/obstack:
82310         * modules/openat, modules/pagealign_alloc, modules/pipe:
82311         * modules/quotearg, modules/regex, modules/rpmatch:
82312         * modules/unicodeio, modules/userspec, modules/version-etc:
82313         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
82314         * modules/xsetenv:
82315         Depend on gettext-h, not gettext.
82316
82317 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
82318
82319         * gnulib-tool (func_import): Add support for 'public domain' license.
82320         * modules/alloca, modules/atexit, modules/memmove:
82321         Now public domain, not GPL.
82322         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
82323         * modules/realloc, modules/strerror, modules/strtod:
82324         Now LGPL, not GPL.
82325
82326 2005-07-05  Bruno Haible  <bruno@clisp.org>
82327
82328         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
82329         autoconf CVS. Needed for mingw.
82330
82331 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82332
82333         Remove the dependency of the strftime module on the tzset module.
82334         * modules/strftime (Depends-on): Remove dependency on tzset.
82335
82336 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82337
82338         Remove the dependency of the strftime module on the tzset module.
82339         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
82340         gl_FUNC_TZSET_CLOBBER.
82341
82342 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82343
82344         Remove the dependency of the strftime module on the tzset module.
82345         * lib/strftime.c (my_strftime)
82346         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
82347         Copy the input structure, to work around some of the bug with
82348         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
82349         Solaris releases, you should also use the tzset module, but we won't
82350         require it as a dependency any more since we don't want LGPLed code
82351         to depend on GPLed code.
82352
82353 2005-07-02  Jim Meyering  <jim@meyering.net>
82354
82355         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
82356         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
82357         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
82358         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
82359
82360 2005-07-02  Jim Meyering  <jim@meyering.net>
82361
82362         * lib/backupfile.c (backup_args): Change a `0' to NULL.
82363
82364 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
82365
82366         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
82367         declares only 'struct timespec;' (!).
82368
82369 2005-07-01  Jim Meyering  <jim@meyering.net>
82370
82371         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
82372         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
82373         * lib/save-cwd.c, tempname.c:
82374         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82375         and don't include <sys/file.h>).
82376
82377 2005-06-29  Jim Meyering  <jim@meyering.net>
82378
82379         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
82380         type name.  Use the variable name instead.
82381         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
82382         Likewise.
82383
82384 2005-06-28  Simon Josefsson  <jas@extundo.com>
82385
82386         * modules/check-version (Files): Add check-version.m4.
82387
82388 2005-06-28  Simon Josefsson  <jas@extundo.com>
82389
82390         * m4/check-version.m4: New file, suggested by Jim Meyering
82391         <jim@meyering.net>.
82392
82393 2005-06-28  Simon Josefsson  <jas@extundo.com>
82394
82395         * lib/check-version.h, lib/check-version.c: New files.
82396
82397 2005-06-28  Simon Josefsson  <jas@extundo.com>
82398
82399         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
82400         collision with global variable.  Better indentation.  Don't
82401         increment buffer pointer beyond buffer end.  Based on comments
82402         from Paul Eggert <eggert@cs.ucla.edu>.
82403
82404         * lib/base64.h: Indent.
82405
82406 2005-06-28  Simon Josefsson  <jas@extundo.com>
82407
82408         * doc/gnulib.texi (Library version handling): New section.
82409
82410 2005-06-28  Jim Meyering  <jim@meyering.net>
82411
82412         * check-module (find_included_lib_files): Hard-code another
82413         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
82414         but modules/fts-lgpl (correctly) does not list those files.
82415
82416         * modules/canonicalize (Files): Add lib/pathmax.h.
82417
82418 2005-06-25  Simon Josefsson  <jas@extundo.com>
82419
82420         * modules/check-version: New file.
82421
82422 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
82423
82424         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
82425         initializer of struct addrinfo, as an indication that we don't
82426         care how many members the structure has.
82427
82428 2005-06-24  Derek Price  <derek@ximbiot.com>
82429         and Bruno Haible  <bruno@clisp.org>
82430
82431         Remove stat module & update lstat.
82432         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
82433         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82434         * m4/stat.m4: Remove this file.
82435
82436 2005-06-24  Derek Price  <derek@ximbiot.com>
82437         and Bruno Haible  <bruno@clisp.org>
82438
82439         Remove stat module & update lstat.
82440         * lib/stat.c: Remove this file...
82441         (slash_aware_lstat): ...moving this content and its support...
82442         * lib/lstat.c (rpl_lstat): ...into here.
82443         * lib/lstat.h: New file.
82444
82445 2005-06-24  Derek Price  <derek@ximbiot.com>
82446         and Bruno Haible  <bruno@clisp.org>
82447
82448         Remove stat module & update lstat.
82449         * config/srclist.txt (libc sources): Remove stat.
82450
82451 2005-06-24  Derek Price  <derek@ximbiot.com>
82452         and Bruno Haible  <bruno@clisp.org>
82453
82454         Remove stat module & update lstat.
82455         * MODULES.html.sh (stat): Remove.
82456         * MODULES.html: Regenerated.
82457         * modules/lstat (Description): Correct function name.
82458         (Files): Add "lstat.h".
82459         (Depends-on): Remove stat, add xalloc, stat-macros.
82460         * modules/stat: Remove this file.
82461         (Include): Add "lstat.h", remove <sys/stat.h>.
82462
82463 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
82464
82465         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
82466         (ranged_convert): Don't save conversion in a temporary struct.
82467         This causes a warning with GCC 4.0.0, and anyway in the typical
82468         case it's not worth the extra 100 bytes or so of code.
82469         (ranged_convert, __mktime_internal): When calling a function via a
82470         pointer P, use P () rather than (*P) (), as we now assume C89 or
82471         better.
82472
82473 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82474
82475         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
82476         "who -r" failed to give output.  Problem reported by Tim Waugh.
82477
82478         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
82479         (xcalloc): Use it to avoid needless tests.
82480         Problem reported by Jim Meyering.
82481
82482 2005-06-20  Derek Price  <derek@ximbiot.com>
82483
82484         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
82485         unnecessary for Autoconfs > 2.59c.
82486
82487 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82488
82489         * lib/argp.h (__option_is_short): Check upper limit of
82490         __key. Isprint() requires its argument to have the value
82491         of an unsigned char or EOF.
82492
82493 2005-06-16  Jim Meyering  <jim@meyering.net>
82494
82495         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
82496         when either N or S is zero.
82497
82498 2005-06-16  Derek Price  <derek@ximbiot.com>
82499
82500         * m4/bison.m4: Declare YACC & YFLAGS precious.
82501
82502 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
82503
82504         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
82505         multibyte string or pattern, fall back on unibyte matching.
82506         Problem reported by James Youngman.
82507
82508 2005-06-08  Bruno Haible  <bruno@clisp.org>
82509
82510         * modules/csharpcomp: New file.
82511         * MODULES.html.sh (C#): Add csharpcomp.
82512
82513 2005-06-08  Bruno Haible  <bruno@clisp.org>
82514
82515         * m4/csharpcomp.m4: New file, from GNU gettext.
82516
82517 2005-06-08  Bruno Haible  <bruno@clisp.org>
82518
82519         * lib/csharpcomp.h: New file, from GNU gettext.
82520         * lib/csharpcomp.c: New file, from GNU gettext.
82521         * lib/csharpcomp.sh.in: New file, from GNU gettext.
82522
82523 2005-06-08  Bruno Haible  <bruno@clisp.org>
82524
82525         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
82526         warning on mingw.
82527
82528 2005-06-07  Derek Price  <derek@ximbiot.com>
82529
82530         Sync from CVS.
82531         * lib/glob_.h: Indent nested #ifdef.
82532
82533 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82534
82535         Sync from coreutils.
82536         Use "file name" when talking about file names, instead of "filename"
82537         or "path", as per the GNU coding standards.
82538         * lib/mkdir-p.c: Renamed from makepath.c.
82539         (make_dir_parents): Renamed from make_path.  All callers changed.
82540         * lib/mkdir-p.h: Likewise.  All includers changed.
82541         * lib/filenamecat.c: Renamed from path-concat.c.
82542         (file_name_concat): Renamed from path_concat.  All callers changed.
82543         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
82544         * lib/filenamecat.h: Likewise.  All includers changed.
82545         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
82546         in comments or local variable names.
82547         * lib/basename.c: Likewise.
82548         * lib/canonicalize.c, canonicalize.h: Likewise.
82549         * lib/dirname.c, dirname.h: Likewise.
82550         * lib/euidaccess.c: Likewise.
82551         * lib/exclude.c: Likewise
82552         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
82553         * lib/fsusage.c, fsuage.h: Likewise.
82554         * lib/fts.c, fts_.h: Likewise.
82555         * lib/getcwd.c: Likewise.
82556         * lib/getloadavg.c: Likewise.
82557         * lib/mkstemp.c: Likewise.
82558         * lib/mountlist.c, mountlist.h: Likewise.
82559         * lib/openat.c, openat.h: Likewise.
82560         * lib/readlink-stub.c: Likewise.
82561         * lib/readutmp.c, readutmp.h: Likewise.
82562         * lib/rename.c: Likewise.
82563         * lib/rmdir.c: Likewise.
82564         * lib/same.c: Likewise.
82565         * lib/savedir.c: Likewise.
82566         * lib/stripslash.c: Likewise.
82567         * lib/tempname.c: Likewise.
82568         * lib/xreadlink.c: Likewise.
82569         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
82570         All uses changed.
82571         * lib/exclude.h: Likewise.
82572
82573         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
82574         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82575         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
82576         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82577         * lib/pathmax.h: Include <limits.h> unconditionally, since other
82578         files have been getting away with it for years (MORE/BSD 4.3
82579         is extinct now).
82580         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
82581         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82582
82583         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
82584         Define to 256, not 255, as per modern POSIX.
82585
82586 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82587
82588         Sync from coreutils.
82589         Use "file name" when talking about file names, instead of "filename"
82590         or "path", as per the GNU coding standards.
82591         * MODULES.html.sh: mkdir-p renamed from makepath.
82592         filenamecat renamed from path-concat.
82593         * modules/filenamecat: Renamed from modules/path-concat.
82594         (Files): filenamecat.h and filenamecat.c renamed from
82595         path-concat.h and path-concat.c.
82596         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
82597         (Include): filenamecat.h, not path-concat.h.
82598         * modules/mkdir-p: Renamed from modules/makepath.
82599         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
82600         makepath.c.
82601         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
82602         (Include): mkdir-p.h, not makepath.h.
82603
82604 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82605
82606         Sync from coreutils.
82607         * m4/mkdir-p.m4: Renamed from makepath.m4.
82608         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
82609         Rename files from makepath.c to mkdir-p.c, and from
82610         makepath.h to mkdir-p.h.
82611         * m4/filenamecat.m4: Renamed from path-concat.m4.
82612         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
82613         Rename files from path-concat.c to filenamecat.c,
82614         and from path-concat.h to filenamecat.h.
82615         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
82616         "file name" in local variables or comments.
82617         * m4/rename.m4: Likewise.
82618
82619 2005-06-01  Bruno Haible  <bruno@clisp.org>
82620
82621         * modules/csharpexec: New file.
82622         * MODULES.html.sh (C#): New section.
82623
82624 2005-06-01  Bruno Haible  <bruno@clisp.org>
82625
82626         * m4/csharp.m4: New file, from GNU gettext.
82627         * m4/csharpexec.m4: New file, from GNU gettext.
82628
82629 2005-06-01  Bruno Haible  <bruno@clisp.org>
82630
82631         * lib/csharpexec.h: New file, from GNU gettext.
82632         * lib/csharpexec.c: New file, from GNU gettext.
82633         * lib/csharpexec.sh.in: New file, from GNU gettext.
82634
82635 2005-05-31  Derek Price  <derek@ximbiot.com>
82636             Paul Eggert  <eggert@cs.ucla.edu>
82637
82638         Sync from cvs.
82639         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82640
82641 2005-05-31  Derek Price  <derek@ximbiot.com>
82642             Paul Eggert  <eggert@cs.ucla.edu>
82643
82644         Sync from cvs.
82645         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82646
82647 2005-05-29  Derek Price  <derek@ximbiot.com>
82648
82649         * config/srclist.txt (glob_.h, glob.c): Add these files.
82650
82651 2005-05-29  Derek Price  <derek@ximbiot.com>
82652
82653         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
82654         * modules/glob: New file.
82655         * modules/getlogin_r: Add link to POSIX spec in description.
82656
82657 2005-05-29  Derek Price  <derek@ximbiot.com>
82658             Paul Eggert  <eggert@cs.ucla.edu>
82659
82660         * m4/glob.m4: New file.
82661
82662 2005-05-29  Derek Price  <derek@ximbiot.com>
82663             Paul Eggert  <eggert@cs.ucla.edu>
82664
82665         * lib/glob_.h, lib/glob.c: New files.
82666
82667 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82668
82669         * modules/fts (Files): Remove m4/inttypes-pri.m4.
82670         * modules/fts-lgpl (Depends-on): Remove gettext.
82671
82672 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82673
82674         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
82675         and don't require gt_INTTYPES_PRI.
82676
82677 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82678
82679         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
82680
82681         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
82682         the configuration hassle isn't worth it.
82683         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
82684         (LONGEST_MODIFIER, PRIuMAX): Remove.
82685
82686 2005-05-27  Bruno Haible  <bruno@clisp.org>
82687
82688         * lib/getlogin_r.h: Remove second include of <stddef.h>.
82689
82690 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
82691
82692         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
82693         _POSIX_PTHREAD_SEMANTICS for Solaris.
82694
82695 2005-05-25  Derek Price  <derek@ximbiot.com>
82696
82697         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
82698
82699 2005-05-25  Derek Price  <derek@ximbiot.com>
82700             Paul Eggert  <eggert@cs.ucla.edu>
82701
82702         * modules/getlogin_r, m4/getlogin_r.m4: New files.
82703         * lib/getlogin_r.c, getlogin_r.h: New files.
82704
82705 2005-05-25  Bruno Haible  <bruno@clisp.org>
82706             Derek Price  <derek@ximbiot.com>
82707
82708         * lib/getlogin_r.h: Simplify API documentation.
82709
82710 2005-05-23  Derek Price  <derek@ximbiot.com>
82711
82712         * modules/minmax (Files): Add m4/minmax.m4.
82713         (configure.ac): Add gl_MINMAX.
82714
82715 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
82716
82717         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
82718         so that unistd-safer.h (GPL'ed code) need not be included.
82719
82720 2005-05-22  Bruno Haible  <bruno@clisp.org>
82721
82722         * m4/minmax.m4: New file.
82723         Based on a patch by Derek Price <derek@ximbiot.com>.
82724
82725 2005-05-22  Bruno Haible  <bruno@clisp.org>
82726
82727         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
82728         (INT64_MIN): Fix definition.
82729         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
82730
82731         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
82732         NEED_SIGNED_INT_TYPES.
82733
82734         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
82735         HAVE_SYSTEM_INTTYPES.
82736
82737 2005-05-22  Bruno Haible  <bruno@clisp.org>
82738
82739         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
82740         Also include <sys/param.h> if it defines MIN, MAX.
82741         Based on a patch by Derek Price <derek@ximbiot.com>.
82742
82743 2005-05-21  Jim Meyering  <jim@meyering.net>
82744
82745         * modules/fts (Files): Add m4/inttypes-pri.m4.
82746         (Depends-on): Add lstat and remove gettext.  Alphabetize.
82747
82748 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82749
82750         New fts module.
82751         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
82752         (setup_dir, free_dir): New functions.
82753         (enter_dir, leave_dir): Define trivial
82754         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
82755         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
82756         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
82757         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
82758         Move to fts-cycle.c.
82759         (fts_open): Use setup_dir.
82760         (fts_close): Use free_dir.
82761         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
82762         This adds a label and some gotos, but the alternatives were messier.
82763         Check for memory allocation failure when entering a dir.
82764         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
82765         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
82766         (FTS): New member fts_cycle, that is a union that contains the
82767         old active_dir_ht and cycle_state.  All uses changed to mention
82768         fts_cycle.ht and fts_cycle.state.
82769         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
82770         fts.c, with the following changes:
82771         (setup_dir, free_dir): New functions.
82772         (enter_dir): Now returns bool.  Return true if successful, false
82773         if memory exhausted.  All callers changed.
82774         Do not bother partly cleaning up on
82775         memory allocation failure; that is free_dir's job.
82776         However, free ad if hash_insert fails, to avoid memory leak.
82777         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
82778         fts->fts_options to see which union member to use.
82779
82780 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82781
82782         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
82783         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
82784
82785 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82786
82787         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
82788
82789 2005-05-20  Jim Meyering  <jim@meyering.net>
82790
82791         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
82792         Now a macro, to pacify GCC.
82793
82794 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82795
82796         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
82797         of -1.
82798
82799 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82800
82801         * lib/chown.c (rpl_chown): Return -1 on failure.
82802
82803 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82804
82805         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
82806         Don't check for stddef.h.
82807         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
82808         don't use its results.
82809         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
82810         since we include them unconditionally.  Don't require
82811         AM_STDBOOL_H, since stdbool is a prerequisite.
82812         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
82813         since we assume C89 or better.
82814         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
82815         as we don't use their results.
82816         Don't check for fchdir, memmove, memset, strrchr, as we use
82817         them unconditionally.
82818         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
82819         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
82820
82821 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82822
82823         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
82824         Include <stddef.h> unconditionally, since we assume C89 now.
82825         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
82826         * lib/fts.c: Include fts_.h first, to check interface.
82827         Do not include intprops.h; no longer needed.
82828         Include cycle-check.h and hash.h, since fts_.h no longer does.
82829         Remove unnecessary casts of closedir to void.
82830         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
82831         decide whether to decrement nlinks.
82832         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
82833         (FTS): Use struct hash_table * instead of Hash_table, so that
82834         we no longer need to include hash.h here.
82835
82836 2005-05-18  Jim Meyering  <jim@meyering.net>
82837
82838         * modules/dirfd (License): Change to LGPL.  Most of the code
82839         is already in the public domain.
82840
82841 2005-05-18  Jim Meyering  <jim@meyering.net>
82842
82843         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
82844         Reported by Yoann Vandoorselaere.
82845
82846 2005-05-17  Jim Meyering  <jim@meyering.net>
82847
82848         * m4/fts.m4: New file, from coreutils.
82849
82850 2005-05-17  Jim Meyering  <jim@meyering.net>
82851
82852         * lib/fts.c, lib/fts_.h: New files, from coreutils.
82853
82854 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82855
82856         Sync from coreutils.
82857         * m4/unlinkdir.m4: New file.
82858
82859 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82860
82861         Sync from coreutils.
82862         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
82863         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
82864         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
82865         White space changes only.
82866         * lib/makepath.c (make_path): Port to hosts where leading "//" is
82867         special.
82868         * lib/yesno.c: Include getline.h, not ctype.h.
82869         (yesno): Don't remove leading white space; POSIX doesn't allow it.
82870         Use getline to remove arbitrary restriction on response length.
82871
82872 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82873
82874         * config/srclist-update: Spell out "Street" in FSF postal
82875         mail address; this is the style the FSF seems to prefer.
82876
82877         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
82878         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
82879         this updates FSF postal mail address.
82880
82881         Sync from coreutils.
82882         * modules/unlinkdir: New file.
82883         * modules/yesno (Depends-on): Add getline.
82884         * MODULES.html.sh (File system functions): Add unlinkdir.
82885
82886 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82887
82888         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
82889         lib/strsep.h:
82890         Change the initial comment to refer to GPL, not LGPL.
82891         gnulib-tool will change it to LGPL as needed.
82892
82893         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
82894         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
82895         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
82896         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
82897         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
82898         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
82899         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
82900         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
82901         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
82902         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
82903         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
82904         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
82905         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
82906         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
82907         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
82908         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
82909         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
82910         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
82911         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
82912         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
82913         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
82914         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
82915         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
82916         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
82917         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
82918         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
82919         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
82920         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
82921         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
82922         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
82923         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
82924         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
82925         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
82926         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
82927         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
82928         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
82929         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
82930         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
82931         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
82932         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
82933         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
82934         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
82935         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
82936         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
82937         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
82938         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
82939         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
82940         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
82941         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
82942         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
82943         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82944         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
82945         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
82946         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
82947         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
82948         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
82949         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
82950         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
82951         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
82952         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
82953         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
82954         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
82955         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
82956         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
82957         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
82958         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
82959         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
82960         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
82961         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
82962         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
82963         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
82964         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
82965         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
82966         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
82967         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
82968         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
82969         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
82970         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
82971         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
82972         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
82973         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
82974         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
82975         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
82976         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
82977         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
82978         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
82979         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
82980         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
82981         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
82982         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
82983         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
82984         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
82985         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
82986         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
82987         lib/yesno.c, lib/yesno.h:
82988         Update FSF postal mail address.
82989
82990 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82991
82992         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
82993         tests/test-memmem.c, tests/test-stpncpy.c:
82994         Update FSF postal mail address.
82995
82996 2005-05-13  Bruno Haible  <bruno@clisp.org>
82997
82998         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
82999         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83000         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83001         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83002         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83003         Add support for 64-bit integers in the MSVC compiler.
83004
83005 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83006
83007         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83008
83009 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83010
83011         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83012
83013 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83014
83015         * doc/getdate.texi (General date syntax): Don't say that date
83016         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83017         Problem reported by Nic Ferrier.
83018
83019 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83020
83021         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83022         specified in ai_socktype. Fix invalid ai_protocol
83023         check. ai_protocol is usually set to 0 or depending on
83024         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83025         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83026         ai_socktype / ai_protocol in the returned addrinfo structure.
83027
83028 2005-05-10  Simon Josefsson  <jas@extundo.com>
83029
83030         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83031         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83032
83033 2005-05-10  Karl Berry  <karl@gnu.org>
83034
83035         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83036         (from http://www.gnu.org/licenses).
83037         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83038         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83039         fdl.texi suffices.
83040
83041 2005-05-10  Karl Berry  <karl@gnu.org>
83042
83043         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83044         (COPYING.DOC): remove.
83045
83046         * config/srclist-update: new FSF address.
83047
83048 2005-05-10  Derek Price  <derek@ximbiot.com>
83049
83050         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83051         possible.
83052
83053 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83054             Bruno Haible  <bruno@clisp.org>
83055
83056         * modules/inet_ntop: New file.
83057         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83058         inet_ntop.
83059
83060 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83061             Bruno Haible  <bruno@clisp.org>
83062
83063         * m4/inet_ntop.m4: New file.
83064
83065 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83066             Bruno Haible  <bruno@clisp.org>
83067
83068         * lib/inet_ntop.h: New file.
83069         * lib/inet_ntop.c: New file, from glibc with modifications.
83070
83071 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83072
83073         * modules/time_r (License): Change to LGPL.
83074         * modules/extensions (License): Change to LGPL.  Actually,
83075         the license is more permissive than that, but currently gnulib-tool
83076         doesn't know how to handle more-permissive licenses.
83077
83078         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83079         Problem reported by Dave Love.
83080
83081 2005-05-08  Jim Meyering  <jim@meyering.net>
83082
83083         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83084         blank.
83085
83086 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83087
83088         * modules/argmatch (Depends-on): Add stdbool.
83089         * modules/backupfile (Depends-on): Likewise.
83090         * modules/chdir-long (Depends-on): Likewise.
83091         * modules/closeout (Depends-on): Likewise.
83092         * modules/cycle-check (Depends-on): Likewise.
83093         * modules/dirname (Depends-on): Likewise.
83094         * modules/fnmatch (Depends-on): Likewise.
83095         * modules/fsusage (Depends-on): Likewise.
83096         * modules/fwriteerror (Depends-on): Likewise.
83097         * modules/getcwd (Depends-on): Likewise.
83098         * modules/getloadavg (Depends-on): Likewise.
83099         * modules/hard-locale (Depends-on): Likewise.
83100         * modules/makepath (Depends-on): Likewise.
83101         * modules/mountlist (Depends-on): Likewise.
83102         * modules/nanosleep (Depends-on): Likewise.
83103         * modules/posixtm (Depends-on): Likewise.
83104         * modules/quotearg (Depends-on): Likewise.
83105         * modules/readtokens (Depends-on): Likewise.
83106         * modules/readtokens0 (Depends-on): Likewise.
83107         * modules/readutmp (Depends-on): Likewise.
83108         * modules/save-cwd (Depends-on): Likewise.
83109         * modules/strftime (Depends-on): Likewise.
83110         * modules/userspec (Depends-on): Likewise.
83111         * modules/utimecmp (Depends-on): Likewise.
83112         * modules/xgetcwd (Depends-on): Likewise.
83113         * modules/xnanosleep (Depends-on): Likewise.
83114         * modules/xstrtod (Depends-on): Likewise.
83115         * modules/yesno (Depends-on): Likewise.
83116
83117 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
83118
83119         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
83120         needless checks.
83121
83122 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83123
83124         Merge from coreutils.  Among other things,
83125         add bulletproofing for cases where stdin, stdout, or stderr are closed.
83126         * lib/fd-safer.c: New file.
83127         * lib/fcntl-safer.h, open-safer.c: Remove.
83128         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
83129         * lib/dup-safer.c: Include unistd-safer.h first.
83130         Don't include errno.h.
83131         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
83132         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
83133         * lib/file-type.c: Rely on file-type.h change.
83134         * lib/getloadavg.c: Include unistd-safer.h.
83135         (getloadavg): Use safer open.
83136         * lib/getusershell.c: Include "stdio-safer.h".
83137         (getusershell): Use safer fopen.
83138         * lib/long-options.c (long_options): Use NULL rather than 0.
83139         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
83140         'free'.
83141         * lib/modechange.c: Likewise.
83142         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
83143         (MODE_DONE): New constant.
83144         (struct mode_change): Remove 'next' member.
83145         (make_node_op_equals): New function; like the old one of the
83146         same name, except it allocates an array.
83147         (mode_compile, mode_create_from_ref): Use it.
83148         (mode_compile): Allocate result as an array, not a linked list.
83149         Parse octal string ourself, so that we catch mistakes like "+0".
83150         (mode_adjust): Arg is an array, not a linked list.
83151         * lib/modechange.c: Include stat-macros.h, xalloc.h.
83152         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
83153         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
83154         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
83155         Remove.  This is now stat-macros.h's job.
83156         (talloc): Remove.  All callers replaced by xalloc, so that
83157         our invokers don't have to worry about reporting memory failures.
83158         (make_node_op_equals): Remove.
83159         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83160         New constants.
83161         (struct mode_change): Moved here from modechange.h.
83162         (mode_append_entry): Remove.
83163         (mode_compile): Remove MASKED_OPS arg, since it encouraged
83164         apps to have incorrect behavior.  Use simpler algorithm for head
83165         and tail.  Don't futz with umask; that's now the job of mode_adjust.
83166         Detect more invalid usages rather than having somewhat-random behavior.
83167         Don't insert an "a=" action, as that leads to incorrect behavior.
83168         (mode_compile, mode_create_from_ref): Return NULL on error instead
83169         of an enum, since now there's only one way to have an error.  All
83170         callers changed.
83171         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
83172         at the correct time.  Simplify calculation of "+u" and its ilk.
83173         Don't mishandle "+X".
83174         (mode_free): Remove "register" and localize decls.
83175         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83176         (struct mode_change): Move to modechange.c; callers don't
83177         need to see this stuff.
83178         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
83179         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
83180         (mode_change, mode_adjust): Reflect the new signatures noted above.
83181         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
83182         that might redefine system include files.
83183         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
83184         (my_usleep): Use NULL rather than (void *) 0.
83185         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
83186         Use siginterrupt to specify that system calls should be interrupted.
83187         (rpl_nanosleep): Move initialization of suspended closer to call of
83188         my_usleep.
83189         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
83190         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
83191         (desirable_utmp_entry): New function.
83192         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
83193         using x2nrealloc, to simplify logic.
83194         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
83195         size calculation.  Do not assume utmp file is a regular file.
83196         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
83197         (READ_UTMP_CHECK_PIDS): New constant.
83198         * lib/save-cwd.c: Include unistd-safer.h.
83199         (save_cwd): Use fd_safer.
83200         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
83201         [!_LIBC] Include "stat-macros.h" instead.
83202         * lib/unistd-safer.h (fd_safer): New decl.
83203
83204 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83205
83206         * modules/getloadavg (Depends-on): Add unistd-safer.
83207         * modules/getusershell (Depends-on): Add stdio-safer.
83208         * modules/lstat (Depends-on): Remove xalloc.
83209         * modules/mkstemp (Depends-on): Add stat-macros.
83210         * modules/modechange (Depends-on): Remove xstrtol.
83211         Add stat-macros, xalloc.
83212         * modules/save-cwd (Depends-on): Add unistd-safer.
83213         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
83214         * modules/unistd-safer (Files): Add lib/fd-safer.c
83215         (Makefile.am): Remove lib_SOURCES.
83216
83217         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
83218         Remove fcntl-safer; unistd-safer supersedes it.
83219
83220 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83221
83222         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
83223         AC_HEADER_STAT.
83224         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
83225         (gl_PREREQ_CHOWN): Remove.
83226         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
83227         it.  Don't require AC_HEADER_STAT.
83228         (gl_PREREQ_LSTAT): Remove.
83229         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
83230         Don't require AC_HEADER_STAT.
83231         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
83232         (gl_PREREQ_RMDIR): Remove.
83233         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
83234         mention stat-macros.h or AC_HEADER_STAT, since we'll make
83235         the stat-macros module a prerequisite.
83236         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
83237         * m4/filemode.m4 (gl_FILEMODE): Likewise.
83238         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
83239         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
83240         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
83241         variable names.
83242         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
83243         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
83244         variable prefixes.
83245         * m4/fcntl-safer.m4: Remove.
83246         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
83247         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
83248         Invoke gl_PREREQ_FD_SAFER.
83249         (gl_PREREQ_FD_SAFER): New macro.
83250         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
83251         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
83252         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
83253         Remove duplicate call to AC_LIBOBJ(readutmp).
83254         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
83255
83256         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
83257         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
83258
83259 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83260
83261         * MODULES.html.sh (Misc): Add byteswap.
83262
83263 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83264
83265         * modules/getcwd (Depends-on): Add extensions.
83266         * modules/openat (Depends-on): Likewise.
83267
83268 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83269
83270         * modules/byteswap: New file.
83271
83272 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83273
83274         * m4/byteswap.m4: New file.
83275
83276 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83277
83278         * lib/byteswap_.h: New file.
83279
83280 2005-04-25  Karl Berry  <karl@gnu.org>
83281
83282         * m4/gettext.m4: Update from GNU gettext 0.14.4.
83283
83284 2005-04-25  Albert Chin  <china@thewrittenword.com>
83285
83286         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
83287         Toolkit C bug.
83288
83289 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
83290
83291         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
83292         (func_ln_if_changed): Remove forcibly for no error message
83293         in case file does not exist.
83294
83295 2005-04-19  Simon Josefsson  <jas@extundo.com>
83296
83297         * gnulib-tool (Options): Make --symlink mean --symbolic.
83298
83299 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
83300
83301         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
83302
83303 2005-04-16  Simon Josefsson  <jas@extundo.com>
83304
83305         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
83306
83307 2005-04-15  Simon Josefsson  <jas@extundo.com>
83308
83309         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
83310
83311 2005-04-15  Simon Josefsson  <jas@extundo.com>
83312
83313         * gnulib-tool: Rename --symlink to --symbolic.
83314
83315 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
83316
83317         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
83318         symbolic links to files instead of copying/moving.  Add --aux-dir,
83319         specifying directory relative --dir where auxiliary build tools
83320         are placed.
83321
83322 2005-04-14  Bruno Haible  <bruno@clisp.org>
83323
83324         * modules/allocsa (License): Change to LGPL.
83325         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
83326
83327 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
83328
83329         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
83330         that "UTC +1 second" continues to work.  Problem reported
83331         by Dmitry V. Levin.
83332         (relunit_snumber): New rule.
83333         (relunit): Use it.
83334
83335 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
83336
83337         * lib/getdate.y (universal_time_zone_table): New constant.
83338         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
83339         universal_time_zone_table.
83340         (lookup_zone): Prefer universal_time_zone_table to
83341         local_time_zone_table, so that "GMT" time stamps are allowed in
83342         London during the summer.  Problem reported by Ian Abbott.
83343
83344 2005-04-12  Jim Meyering  <jim@meyering.net>
83345
83346         * lib/human.c (humblock): Set *options even when returning due to
83347         xstrtoumax conversion failure.  Thanks to a used-uninitialized
83348         warning from gcc-4.
83349
83350 2005-04-09  Jim Meyering  <jim@meyering.net>
83351
83352         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
83353         -Wuninitialized: initialize tm0.tm_year.
83354
83355 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
83356
83357         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
83358         count, since there's no maximum.  All uses changed.
83359         Add member dsts_seen.
83360         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
83361         not being INT_MAX.
83362         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
83363         Use pc_rels_seen to decide whther a date is absolute.
83364
83365         * lib/getdate.y (number): Don't overwrite year.
83366         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
83367         check.
83368
83369 2005-04-02  Simon Josefsson  <jas@extundo.com>
83370
83371         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
83372         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
83373
83374 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
83375
83376         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
83377         where no absolute path name can be longer than PATH_MAX.
83378
83379 2005-03-27  Jim Meyering  <jim@meyering.net>
83380
83381         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
83382
83383 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
83384
83385         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
83386         "one's complement" -> "ones' complement" in comment, as per Knuth.
83387         "value of type" -> "type or expression" in comment.
83388         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
83389
83390 2005-03-26  Jim Meyering  <jim@meyering.net>
83391
83392         Comment nits.
83393         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
83394         Correct typos: s/or/of/.
83395
83396 2005-03-26  Jim Meyering  <jim@meyering.net>
83397
83398         * modules/check-include-files: Move to ../ and rename to...
83399         * check-module: ...this.
83400
83401 2005-03-25  Jim Meyering  <jim@meyering.net>
83402
83403         * modules/xvasprintf (Files): Add xalloc.h.
83404
83405 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
83406
83407         * modules/gettext (Files): config/config.rpath ->
83408         build-aux/config.rpath
83409         * modules/iconv (Files): Likewise.
83410         Problem reported by Oskar Liljeblad.
83411
83412 2005-03-23  Jim Meyering  <jim@meyering.net>
83413
83414         * modules/check-include-files: New script to check for
83415         missing dependencies, multiple includes, etc.
83416
83417         * modules/c-strtold (Depends-on): Add xalloc.
83418         * modules/c-strtod (Depends-on): Add xalloc.
83419         * modules/hash (Depends-on): Add xalloc.
83420         (Files): Remove lib/xalloc.h.
83421
83422         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
83423         * modules/userspec (Files): Add lib/inttostr.h.
83424
83425 2005-03-23  Jim Meyering  <jim@meyering.net>
83426
83427         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
83428
83429 2005-03-22  Jim Meyering  <jim@meyering.net>
83430
83431         * modules/stat-macros: New module.
83432         * modules/canonicalize, modules/euidaccess, modules/file-type,
83433         * modules/filemode, modules/lchown, modules/makepath,
83434         * modules/rmdir, modules/stat: Depend on new stat-macros module
83435         rather than listing lib/stat-macros.h manually.
83436         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
83437
83438 2005-03-22  Jim Meyering  <jim@meyering.net>
83439
83440         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
83441
83442 2005-03-22  Bruno Haible  <bruno@clisp.org>
83443
83444         * config/srclist.txt: Replace target directory 'config' with
83445         'build-aux'.
83446         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
83447         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
83448         ../build-aux/.
83449
83450 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
83451
83452         * modules/chdir-long (Depends-on): Add mempcpy.
83453
83454         * modules/acl, modules/backupfile, modules/c-strtod,
83455         modules/c-strtold, modules/canon-host, modules/canonicalize,
83456         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
83457         modules/exclude, modules/exitfail, modules/file-type,
83458         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
83459         modules/getdate, modules/getline, modules/getpagesize,
83460         modules/getpass, modules/getugroups, modules/group-member,
83461         modules/hard-locale, modules/hash, modules/human, modules/idcache,
83462         modules/inttostr, modules/long-options, modules/makepath,
83463         modules/md5, modules/memcasecmp, modules/memcoll,
83464         modules/modechange, modules/mountlist, modules/path-concat,
83465         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
83466         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
83467         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
83468         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
83469         modules/strftime, modules/strndup, modules/strverscmp,
83470         modules/timespec, modules/unlocked-io, modules/userspec,
83471         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
83472         modules/yesno:
83473         Remove lib_SOURCES line from Makefile.am section, as this is now
83474         done automatically by the corresponding Autoconf macro.
83475
83476 2005-03-21  Jim Meyering  <jim@meyering.net>
83477
83478         Changes imported from coreutils.
83479
83480         * lib/cycle-check.c: Don't include xalloc.h.
83481
83482         * lib/path-concat.c: Don't include assert.h.
83483         (path_concat): Remove assertion that would have triggered
83484         for ABASE starting with more than one slash.
83485         Reported by Andreas Schwab.
83486
83487         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
83488         properly when ABASE is an absolute file name.
83489         Correct the description of this function.
83490         Include <assert.h>.
83491         Add an assertion and a test driver.
83492         This fixes a bug introduced on 2004-07-02.
83493         Andreas Schwab reported the resulting failure of cp --parents:
83494         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
83495
83496 2005-03-21  Jim Meyering  <jim@meyering.net>
83497
83498         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
83499         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
83500
83501 2005-03-21  Jim Meyering  <jim@meyering.net>
83502         and  Paul Eggert  <eggert@cs.ucla.edu>
83503
83504         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
83505         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
83506         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
83507         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
83508         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
83509         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
83510         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
83511         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
83512         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
83513         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
83514         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
83515         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
83516         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
83517         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
83518         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
83519         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
83520         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
83521         for these modules.
83522
83523 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
83524
83525         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
83526         (which shouldn't happen), generate nothing instead of returning 0
83527         immediately, so that nstrftime (NULL, ...) doesn't return 0.
83528
83529 2005-03-16  Bruno Haible  <bruno@clisp.org>
83530
83531         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
83532         HAVE_LONGLONG_64BIT.
83533
83534 2005-03-16  Bruno Haible  <bruno@clisp.org>
83535
83536         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
83537         HAVE_LONGLONG_64BIT.
83538
83539 2005-03-16  Bruno Haible  <bruno@clisp.org>
83540
83541         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
83542         HAVE_LONGLONG_64BIT.
83543
83544 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83545
83546         * lib/strftime.c (my_strftime): Prepend space to format so that we can
83547         reliably distinguish strftime failure from empty output on POSIX
83548         hosts.
83549
83550 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83551
83552         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
83553         (iconv_string): Don't guess a size-zero buffer, as that might cause
83554         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
83555         result would be 'too large', where 'too large' is (heuristically)
83556         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
83557         overflow concerns.  This will prevent some unwanted malloc failures
83558         when the inputs are very large.
83559
83560 2005-03-15  Karl Berry  <karl@gnu.org>
83561
83562         * config/srclist.txt (config.rpath): from gettext.
83563         * config/config.rpath: update.
83564
83565 2005-03-15  Bruno Haible  <bruno@clisp.org>
83566
83567         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
83568         to 'negate'.
83569
83570         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
83571         variable.
83572
83573         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
83574         results.
83575
83576 2005-03-14  Simon Josefsson  <jas@extundo.com>
83577
83578         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
83579         <fx@gnu.org>.
83580
83581 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
83582
83583         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
83584         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
83585         intprops.h.
83586         * lib/strtol.c: Likewise.
83587
83588 2005-03-14  Jim Meyering  <jim@meyering.net>
83589
83590         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
83591         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
83592         to be nonzero so that we (and caller) can detect the difference
83593         between a valid zero-length expansion and an error return, even
83594         when the underlying strftime fails before writing anything into
83595         that location.
83596
83597 2005-03-14  Bruno Haible  <bruno@clisp.org>
83598
83599         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
83600         Update from GNU gettext 0.14.3.
83601
83602 2005-03-10  Jim Meyering  <jim@meyering.net>
83603
83604         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
83605
83606 2005-03-10  Jim Meyering  <jim@meyering.net>
83607
83608         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
83609         so that this module works on systems without fchdir.
83610
83611 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
83612
83613         Factor int-properties macros into a single file, except for
83614         glibc-related files.
83615         * lib/intprops.h: New file.
83616         * lib/getloadavg.c: Include it instead of limits.h.
83617         (INT_STRLEN_BOUND): Remove.
83618         * lib/human.c: Include intprops.h.
83619         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
83620         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
83621         302/1000.
83622         * lib/inttostr.h: Include intprops.h instead of limits.h.
83623         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
83624         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
83625         for consistency with intprops.h.
83626         (time_t_is_integer, twos_complement_arithmetic): Use them.
83627         * lib/sig2str.h: Include <signal.h>, intprops.h.
83628         (INT_STRLEN_BOUND): Remove.
83629         * lib/strftime.c (TYPE_SIGNED): Remove.
83630         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
83631         * lib/strtol.c: Adjust comments to match intprops.h.
83632         * lib/userspec.c: Include intprops.h.
83633         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
83634         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
83635         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
83636         instead of rolling our own expressions.
83637         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
83638
83639         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
83640         instead of int.
83641         (my_strftime): Do not mishandle years close to INT_MAX, by doing
83642         the right thing even if adding 1900 would overflow.  Similarly
83643         for tm_mon + 1 and tm_yday + 1.
83644         Make %Y always equivalent to %C%y, and similarly for %G and %g.
83645         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
83646         (DO_SIGNED_NUMBER): New macro.
83647         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
83648
83649 2005-03-07  Bruno Haible  <bruno@clisp.org>
83650
83651         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
83652
83653 2005-03-07  Bruno Haible  <bruno@clisp.org>
83654
83655         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
83656
83657 2005-03-04  Derek R. Price  <derek@ximbiot.com>
83658
83659         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
83660         (func_import): Only replace files via --import when they have actually
83661         changed.
83662
83663 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83664
83665         * m4/mmap-anon.m4: New file.
83666         * m4/pagealign_alloc.m4: New file.
83667
83668 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83669             Bruno Haible  <bruno@clisp.org>
83670
83671         * modules/pagealign_alloc: New file.
83672         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
83673
83674 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83675             Bruno Haible  <bruno@clisp.org>
83676
83677         * lib/pagealign_alloc.h: New file.
83678         * lib/pagealign_alloc.c: New file.
83679
83680 2005-03-03  Bruno Haible  <bruno@clisp.org>
83681
83682         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
83683         Use an all-permissive copyright notice, recommended by RMS.
83684
83685 2005-03-02  Bruno Haible  <bruno@clisp.org>
83686
83687         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
83688         of AIX, the replacement has to be done only after <string.h> is
83689         included, therefore not in config.h. stpncpy.h does the replacement,
83690         and stpncpy.c uses it.
83691
83692 2005-03-02  Bruno Haible  <bruno@clisp.org>
83693
83694         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
83695         stpncpy.c uses it.
83696
83697 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83698
83699         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
83700         The workaround isn't strictly needed for POSIX conformance, and
83701         it's too much of a pain to configure and maintain.  We'll ask
83702         people to fix their kernels instead.
83703         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
83704         (NANOSLEEP_BUG_WORKAROUND): Remove.
83705         (xnanosleep): Remove the workaround.
83706
83707 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83708
83709         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
83710         Reported by Derek Price.
83711         (Include): Add "timespec.h".
83712
83713         * modules/xnanosleep (Depends-on): Remove gethrxtime.
83714
83715 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83716
83717         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
83718         to detect nanosleep bug.
83719
83720 2005-03-01  Bruno Haible  <bruno@clisp.org>
83721
83722         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
83723
83724 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
83725
83726         * modules/gethrxtime: New file.
83727         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
83728         (Depends-on): Add gethrxtime.
83729         (configure.ac): Add gl_XNANOSLEEP.
83730         (Makefile.am): Remove lib_SOURCES line.
83731
83732 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83733
83734         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
83735         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
83736
83737 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83738
83739         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
83740         * lib/timespec.h (gettime): Return void, since it always
83741         succeeds now.  All uses changed.
83742         * lib/gettime.c (gettime): Likewise.
83743         [HAVE_NANOTIME]: Prefer nanotime.
83744         Assume gettimeofday succeeds, as POSIX requires.
83745         Assime time () succeeds, since other code already does.
83746         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
83747         (timespec_subtract): Remove.
83748         (NANOSLEEP_BUG_WORKAROUND): New constant.
83749         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
83750         things considerably.  Use it only on GNU/Linux hosts, since the
83751         workaround shouldn't be needed elsewhere.
83752
83753 2005-02-24  Bruno Haible  <bruno@clisp.org>
83754
83755         * modules/gettext (Files): Add m4/glibc2.m4.
83756
83757 2005-02-24  Bruno Haible  <bruno@clisp.org>
83758
83759         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
83760         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
83761         * m4/progtest.m4:
83762         Update from GNU gettext 0.14.2.
83763         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
83764
83765 2005-02-24  Bruno Haible  <bruno@clisp.org>
83766
83767         * lib/localcharset.c: Update from GNU gettext 0.14.2.
83768         * lib/config.charset: Update from GNU gettext 0.14.2.
83769
83770 2005-02-24  Bruno Haible  <bruno@clisp.org>
83771
83772         * lib/gettext.h: Update from GNU gettext 0.14.2.
83773
83774 2005-02-23  Simon Josefsson  <jas@extundo.com>
83775
83776         * m4/iconvme.m4: New file.
83777
83778 2005-02-23  Jim Meyering  <jim@meyering.net>
83779
83780         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
83781         change.
83782         Thanks to Bruno Haible for catching it.
83783
83784 2005-02-22  Simon Josefsson  <jas@extundo.com>
83785
83786         * modules/iconvme: New file.
83787
83788         * MODULES.html.sh: Add iconvme.
83789
83790 2005-02-22  Simon Josefsson  <jas@extundo.com>
83791
83792         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
83793
83794 2005-02-22  Simon Josefsson  <jas@extundo.com>
83795
83796         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
83797
83798 2005-02-22  Jim Meyering  <jim@meyering.net>
83799
83800         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
83801         s/ifndef/ifdef/.
83802
83803 2005-02-20  Neil Conway  <neilc@samurai.com>
83804
83805         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
83806         returned by OSX/Darwin if the specified buffer is not large
83807         enough for the hostname.
83808
83809 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83810
83811         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
83812         pass it to _help, otherwise the latter coredumps trying to
83813         dereference state.root_argp.
83814
83815 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83816
83817         * modules/chdir-long (Depends-on): Add memrchr.
83818         * modules/memrchr (Files): Add lib/memrchr.h.
83819         (Include): "memrchr.h".
83820
83821 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83822
83823         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
83824
83825 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83826
83827         * lib/memrchr.h: New file.
83828         * lib/chdir-long.c: Include it.
83829         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
83830         Don't bother including stddef.h.
83831
83832 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
83833
83834         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
83835         inclusion.
83836         Include <sys/types.h>, for dev_t.
83837         (ME_DUMMY, ME_REMOTE): Move from here....
83838         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
83839         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
83840         Dmitry V. Levin.
83841         Include mountlist.h first, to test the interface.
83842
83843 2005-01-29  Bruno Haible  <bruno@clisp.org>
83844
83845         * lib/progname.c (program_name): Initialize.
83846         Needed when linking statically on MacOS X.
83847
83848 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83849
83850         Sync from coreutils.
83851         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
83852         (Depends-on): Add c-strtod.
83853         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
83854
83855 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83856
83857         Sync from coreutils.
83858         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
83859
83860         Remove files that are specific to coreutils.
83861         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
83862
83863 2005-01-28  Bruno Haible  <bruno@clisp.org>
83864
83865         * modules/javacomp: New file.
83866         * MODULES.html.sh (Java): Add javacomp.
83867
83868 2005-01-28  Bruno Haible  <bruno@clisp.org>
83869
83870         * m4/javacomp.m4: New file, from GNU gettext.
83871
83872 2005-01-28  Bruno Haible  <bruno@clisp.org>
83873
83874         * lib/javacomp.sh.in: New file, from GNU gettext.
83875         * lib/javacomp.h: New file, from GNU gettext.
83876         * lib/javacomp.c: New file, from GNU gettext.
83877
83878 2005-01-26  Simon Josefsson  <jas@extundo.com>
83879
83880         * lib/gai_strerror.c: Use GPL in header.
83881
83882 2005-01-26  Bruno Haible  <bruno@clisp.org>
83883
83884         * modules/javaexec: New file.
83885         * MODULES.html.sh (Java): Add javaexec.
83886
83887 2005-01-26  Bruno Haible  <bruno@clisp.org>
83888
83889         * m4/javaexec.m4: New file, from GNU gettext.
83890
83891 2005-01-26  Bruno Haible  <bruno@clisp.org>
83892
83893         * lib/javaexec.sh.in: New file, from GNU gettext.
83894         * lib/javaexec.h: New file, from GNU gettext.
83895         * lib/javaexec.c: New file, from GNU gettext.
83896
83897 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83898
83899         * modules/lchown (Depends-on): Remove lchown.h
83900
83901 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83902
83903         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
83904         must be defined if the header file was not found, in order
83905         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
83906
83907 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83908
83909         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
83910         initializers for struct pentry_state.
83911         (__argp_error): Check return value of __asprintf
83912         (__argp_failure): Translate error message
83913
83914         * lib/argp-parse.c: Removed braces around the expansion of N_()
83915
83916 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83917
83918         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
83919         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
83920         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
83921         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
83922         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
83923         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
83924         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
83925         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
83926         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
83927         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
83928         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
83929         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
83930         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
83931         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
83932         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
83933         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
83934         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
83935         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
83936         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
83937         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
83938         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
83939         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
83940         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
83941         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
83942         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
83943         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
83944         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
83945         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
83946         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
83947         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
83948         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
83949         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
83950         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
83951         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
83952         xstrtol.m4, xstrtoumax.m4, yesno.m4:
83953         Use an all-permissive copyright notice, recommended by RMS.
83954
83955 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
83956
83957         * modules/chdir-long (Depends-on): Remove mempcpy.
83958
83959 2005-01-21  Jim Meyering  <jim@meyering.net>
83960
83961         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
83962         same value as for Solaris 9.
83963
83964         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
83965         component length.  This included changing the parameter to be
83966         of type `char *' rather than `char const *'.
83967         * lib/chdir-long.h (chdir_long): Update prototype.
83968
83969         * lib/openat.c (fdopendir, fstatat): New functions.
83970         * lib/openat.h: Include headers required for use of DIR and struct
83971         stat.
83972         [AT_SYMLINK_NOFOLLOW]: Define.
83973         (fdopendir, fstatat): Add prototypes.
83974
83975 2005-01-21  Bruno Haible  <bruno@clisp.org>
83976
83977         * modules/classpath: New file.
83978         * MODULES.html.sh (Java): Add classpath.
83979
83980 2005-01-21  Bruno Haible  <bruno@clisp.org>
83981
83982         * lib/classpath.h: New file, from GNU gettext.
83983         * lib/classpath.c: New file, from GNU gettext.
83984
83985 2005-01-20  Simon Josefsson  <jas@extundo.com>
83986
83987         * modules/version-etc-fsf: New file.
83988
83989 2005-01-20  Simon Josefsson  <jas@extundo.com>
83990
83991         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
83992         * lib/version-etc.c: Remove version_etc_copyright.
83993         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
83994         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
83995
83996 2005-01-20  Simon Josefsson  <jas@extundo.com>
83997
83998         * lib/base64.h (isbase64): Add.
83999
84000         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84001         using a unsigned prototype, don't inline.
84002         (base64_decode): Use it.
84003
84004 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84005
84006         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84007         it.
84008
84009 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84010
84011         * lib/save-cwd.c (save_cwd): Remove code to support the case
84012         where fchdir is missing or flaky.
84013
84014 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84015
84016         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84017
84018 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84019
84020         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84021         AC_LIBSOURCES now does this.
84022         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84023         with new ullong_max module.
84024
84025 2005-01-19  Bruno Haible  <bruno@clisp.org>
84026
84027         * modules/sh-quote: New file.
84028         * MODULES.html.sh (Executing programs): Add sh-quote.
84029
84030 2005-01-19  Bruno Haible  <bruno@clisp.org>
84031
84032         * lib/sh-quote.h: New file, from GNU gettext.
84033         * lib/sh-quote.c: New file, from GNU gettext.
84034
84035 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84036
84037         Merge from coreutils.
84038         * m4/ullong_max.m4: New file.
84039         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84040         (gl_MACROS): Assume localeconv exists.
84041
84042 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84043
84044         Merge changes from coreutils, as described below in several
84045         changelogs dated today.
84046
84047         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84048         (O_DIRECTORY): Remove; not needed here, since "." must be
84049         a directory.  All uses removed.
84050         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84051         universal on Suns, and we also need to test for IRIX.
84052         Revamp code to use 'if' rather than '#if'.
84053         Avoid unnecessary comparison of cwd->desc to 0.
84054
84055         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84056         for known valid error numbers rather than observed invalid ones.
84057
84058 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84059
84060         * modules/ullong_max: New file.
84061
84062         * modules/chdir-long, modules/openat: New files.
84063         * modules/save-cwd (Depends-on): Depend on chdir-long.
84064         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84065
84066 2005-01-18  Jim Meyering  <jim@meyering.net>
84067
84068         Merge from coreutils.
84069         * m4/chdir-long.m4, m4/openat.m4: New files.
84070         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84071         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84072         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84073         is sane and DOES follow symlinks.  Besides, testing 20 different
84074         systems found no broken chown implementations.
84075         Prompted by a change in rsync's copy of this macro.
84076         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84077
84078         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84079
84080         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84081         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84082         NULL-means-set-to-current-time semantics.
84083         Remove temporary file immediately, rather than waiting
84084         for configure's at-exit trap code to do it.
84085
84086 2005-01-18  Jim Meyering  <jim@meyering.net>
84087
84088         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84089
84090         * lib/utimens.c (futimens): Account for the fact that futimes
84091         can also fail with errno == ENOSYS or errno == ENOENT.
84092         Patch from Dmitry V. Levin.
84093
84094         Change the name of the robust chdir function from chdir to chdir_long.
84095         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
84096         (restore_cwd): Use chdir_long, not chdir.
84097         * lib/chdir-long.c: Renamed from chdir.c.
84098         * lib/chdir-long.h: Renamed from chdir.h.
84099         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
84100         Hurd.
84101
84102 2005-01-18  Bruno Haible  <bruno@clisp.org>
84103
84104         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
84105         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
84106         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
84107         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
84108         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
84109         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
84110         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
84111         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
84112         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
84113         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
84114         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
84115         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
84116         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
84117         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
84118         Use an all-permissive copyright notice, recommended by RMS.
84119
84120 2005-01-18  Bob Proulx  <bob@proulx.com>
84121
84122         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
84123         simplify offsetof() macro construct to avoid compile failure with
84124         native HP-UX 11.0 ANSI C compiler.
84125
84126 2005-01-17  Bruno Haible  <bruno@clisp.org>
84127
84128         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
84129         redundant because stpncpy.m4 takes care of it.
84130
84131 2005-01-17  Bruno Haible  <bruno@clisp.org>
84132
84133         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
84134
84135 2005-01-17  Bruno Haible  <bruno@clisp.org>
84136
84137         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
84138         used.
84139
84140 2005-01-17  Bruno Haible  <bruno@clisp.org>
84141
84142         * lib/fwriteerror.h (fwriteerror): Change specification to include
84143         fclose.
84144         * lib/fwriteerror.c: Include <stdbool.h>.
84145         (fwriteerror): At the end, close the file stream. Record whether
84146         stdout was already closed.
84147
84148 2005-01-17  Bruno Haible  <bruno@clisp.org>
84149
84150         * lib/execute.c (environ): Declare if needed.
84151         * lib/pipe.c (environ): Likewise.
84152         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
84153
84154 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84155
84156         * modules/argp: Depend on vsnprintf
84157
84158 2005-01-10  Jim Meyering  <jim@meyering.net>
84159
84160         * modules/closeout (Depends-on): Add atexit.
84161
84162 2005-01-06  Bruno Haible  <bruno@clisp.org>
84163
84164         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
84165
84166 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84167
84168         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
84169         definitions to be after all include files, to avoid collisions.
84170         Problem reported by Bob Proulx.
84171
84172 2005-01-04  Jim Meyering  <jim@meyering.net>
84173
84174         Changes imported from coreutils.
84175         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
84176         as the mkstemp template, use a temporary directory and an
84177         8.3-friendly template to avoid trouble on systems like DJGPP.
84178         Reported by Juan M. Guerrero via Stepan Kasal.
84179         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
84180         close. Remove the temporary directory right away, rather than waiting
84181         for configure's at-exit trap code to do it.
84182         Suggestion from Stepan Kasal.
84183
84184 2005-01-01  Simon Josefsson  <jas@extundo.com>
84185
84186         * gnulib-tool: Print #include directives when --import'ing.
84187
84188 2004-12-28  Simon Josefsson  <jas@extundo.com>
84189
84190         * tests/test-base64.c: Include required header files.  Remove
84191         unused variables.
84192
84193 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84194
84195         * modules/error (Depends-on): Remove gettext.
84196
84197 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84198
84199         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
84200         not needed.  This removes a dependency on the gettext module.
84201         [defined _LIBC]: Do not include <libintl.h>; not needed.
84202
84203 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84204
84205         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
84206         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
84207
84208 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84209
84210         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
84211         HAVE_DECL_STRTOLD.
84212
84213 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84214
84215         * modules/getdate (Depends-on): Remove alloca-opt.
84216
84217 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84218
84219         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
84220
84221 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84222
84223         * lib/argp-parse.c: Include <stddef.h>.
84224         (alignof, alignto): New macros.
84225         (parser_init): Don't assume that void * is aligned sufficiently
84226         for struct option.
84227
84228         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
84229         need to extend the stack.
84230         (YYINITDEPTH): New macro, so that the initial stack isn't overly
84231         large.
84232
84233 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84234
84235         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
84236
84237 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84238
84239         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
84240         (2004-10-24) change.  Apparently this was a false alarm.
84241
84242         * modules/getdate: Depend on alloca-opt, not alloca.
84243
84244 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84245
84246         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
84247         Remove now-obsolete comment about AIX.
84248         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
84249         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
84250         (YYMAXDEPTH): New macro.
84251
84252 2004-12-18  Simon Josefsson  <jas@extundo.com>
84253
84254         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
84255
84256 2004-12-18  Bruno Haible  <bruno@clisp.org>
84257
84258         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
84259
84260 2004-12-18  Bruno Haible  <bruno@clisp.org>
84261
84262         * lib/fatal-signal.c (fatal_signals): Make non-const.
84263         (init_fatal_signals): New function.
84264         (uninstall_handlers, install_handlers): Ignore signals that were set to
84265         SIG_IGN.
84266         (at_fatal_signal): Call init_fatal_signals.
84267         (init_fatal_signal_set): Likewise. Ignore signals that were set to
84268         SIG_IGN.
84269         Reported by Paul Eggert.
84270
84271 2004-12-18  Bruno Haible  <bruno@clisp.org>
84272
84273         * doc/alloca.texi: New file.
84274         * doc/alloca-opt.texi: New file.
84275
84276 2004-12-17  Jim Meyering  <jim@meyering.net>
84277
84278         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
84279         Otherwise, install-sh could exit with improper exit status when
84280         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
84281
84282 2004-12-16  Simon Josefsson  <jas@extundo.com>
84283
84284         * tests/test-base64.c: Add license.
84285
84286 2004-12-15  Stepan Kasal  <address@hidden>
84287
84288         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
84289
84290 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
84291
84292         * modules/getcwd (Files): Add m4/d-ino.m4.
84293         Suggested by Mark D. Baushke.
84294
84295 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84296
84297         * lib/getdate.y (textint): New member "negative".
84298         (time_zone_hhmm): New function.
84299         Expect 14 shift-reduce conflicts, not 13.
84300         (o_colon_minutes): New rule.
84301         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
84302         (yylex): Set the "negative" member of signed numbers.
84303
84304 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84305
84306         * doc/getdate.texi (Time of day items, Time zone items):
84307         Describe new formats +00:00, UTC+00:00.
84308
84309 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84310
84311         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
84312         spurious "-l"s.  Problem reported by Stepan Kasal.
84313
84314 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
84315
84316         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
84317         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
84318
84319 2004-12-04  Simon Josefsson  <jas@extundo.com>
84320
84321         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
84322         Vandoorselaere <yoann@prelude-ids.org>.
84323
84324 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84325
84326         Changes imported from coreutils.
84327         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
84328         exist.
84329         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
84330
84331 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84332
84333         Changes imported from coreutils.
84334         * lib/hard-locale.c: Assume <locale.h> exists.
84335         Include "strdup.h".
84336         (GLIBC_VERSION): New macro.
84337         (hard_locale): Assume setlocale exists.
84338         Rewrite to avoid #ifdef.
84339         Use strdup rather than malloc + strcpy.
84340         * lib/human.c: Assume <locale.h> exists.
84341         (human_readable): Assume localeconv exists.
84342
84343 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84344
84345         * modules/hard-locale (Depends-on): Add strdup.
84346
84347 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
84348
84349         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
84350         convert T2, not T.  (Imported from libc.)
84351
84352 2004-11-30  Simon Josefsson  <jas@extundo.com>
84353
84354         * modules/restrict (License): Change to LGPL.
84355
84356 2004-11-30  Simon Josefsson  <jas@extundo.com>
84357
84358         * m4/restrict.m4: Add copyright and copying conditions.
84359
84360 2004-11-30  Simon Josefsson  <jas@extundo.com>
84361
84362         * m4/base64.m4: New file.
84363
84364 2004-11-30  Simon Josefsson  <jas@extundo.com>
84365
84366         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
84367         base64.
84368
84369         * tests/test-base64.c: New file.
84370
84371         * modules/base64: New file.
84372
84373 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84374
84375         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
84376         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
84377
84378         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
84379
84380 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84381
84382         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
84383         (__getcwd.c): Don't restore errno; glibc doesn't.
84384         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
84385         first, falling back to our code only if its results look suspicious.
84386         Ensure that the resulting buffer is only as large as necessary.
84387
84388         * lib/readutmp.c: Include readutmp.h first.
84389         Include <errno.h>, since readutmp.h no longer does that.
84390         * lib/readutmp.h: Don't include <errno.h>,
84391         <sys/param.h>, <time.h>; not needed to establish interface.
84392         (errno): Remove decl.
84393         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
84394         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
84395         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
84396
84397 2004-11-28  Simon Josefsson  <jas@extundo.com>
84398
84399         * lib/base64.h, base64.c: New file.
84400
84401 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
84402
84403         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
84404
84405 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
84406
84407         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
84408         (Depends-on): Remove pathmax, same.  Add mempcpy.
84409         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
84410         (Makefile.am): Append getcwd.h to lib_SOURCES.
84411         (Include): Add getcwd.h.
84412         (Maintainer): Change from Jim Meyering to "all, glibc",
84413         since getdate now uses intended-for-glibc code.
84414         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
84415         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
84416
84417 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84418
84419         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
84420         HP's ANSI C compiler.
84421         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
84422         Declaring int functions causes warnings on some modern systems and
84423         shouldn't be needed to compile on ancient ones.
84424         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
84425         defined.
84426
84427         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
84428         with the following changes.
84429         (__set_errno): Parenthesize properly.
84430         Include <stdbool.h>.
84431         (MIN, MAX, MATCHING_INO): New macros.
84432         (__getcwd): Define with prototype, not K&R form.
84433         Use heuristics to allocate default buffer on stack if possible.
84434         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
84435         behavior, and to avoid the PATH_MAX limit when computing
84436         ../../../../...
84437         Use MATCHING_INO to compare inode number to file.
84438         Check for arithmetic overflow in size calculations.
84439         Fix bug in reallocation of dot array that caused getcwd to fail
84440         on directories nested deeper than 75.
84441         Be more careful about saving errno on error.
84442         Do not use realloc; use only free+malloc, as this is a bit
84443         more flexible and avoids a needless copy operation.
84444         Do not inspect st_dev and st_ino for symbolic links; POSIX
84445         doesn't specify the latter.
84446         Check for closedir errors.
84447         Avoid needless casts.
84448         Use "#ifdef weak_alias" around weak_alias, to be like other
84449         glibc code.
84450         The following changes to getcwd.c have effect only when used in
84451         gnulib; they have no effect inside glibc proper.
84452         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
84453         as alloca isn't used.
84454         (alloca, __alloca): Likewise.
84455         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
84456         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84457         unconditionally, as gnulib assumes C89 or better.
84458         Do not include <sys/param.h>.
84459         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
84460         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
84461         better.
84462         (NULL) [!defined NULL]: Remove; we assume C89 or better.
84463         Include <dirent.h> in a way that is compatible with modern Autoconf.
84464         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
84465         New macros, if not already defined.
84466         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
84467         Use "_LIBC", not "defined _LIBC", for consistency.
84468         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
84469         a mempcpy module.
84470         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
84471         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
84472         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
84473         credit only to Jim Meyering and adjust the copyright dates.
84474         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
84475         <stdlib.h>, <unistd.h>, "pathmax.h".
84476         Instead, include "xgetcwd.h" (first) and "getcwd.h".
84477         (INITIAL_BUFFER_SIZE): Remove.
84478         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
84479
84480 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84481
84482         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
84483         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
84484         Use the _ONCE methods, for efficiency.
84485         Check for fcntl.h.  In test program, include <errno.h>
84486         and <fcntl.h> if available.  Remove old K&R cruft from
84487         test program.  Check for common errors in GNU/Linux,
84488         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
84489         don't do AC_LIBOBJ, as that's getcwd.m4's job.
84490         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
84491         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
84492         name accordingly.
84493         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
84494         accommodate new getcwd.c.
84495         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
84496         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
84497         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
84498         that's all we need now.
84499
84500 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84501
84502         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
84503         argp-parse.c depends on getopt internals, that means we should
84504         always use our getopt, to be on the safe side.
84505         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
84506         order not to spoil the result of an eventual previous invocation
84507         of gl_GETOPT_SUBSTITUTE.
84508
84509 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84510
84511         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
84512         redefinition warnings. To avoid them, include the defines
84513         in `#if !defined __need_getopt ... #endif'. The only place
84514         where __getopt_argv_const is used is in definitions
84515         of getopt_long and getopt_long_only below, which are as well
84516         protected by `#ifndef __need_getopt'.
84517         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
84518         __need_getopt after including <stdio.h> and <unistd.h> These
84519         headers might have defined it.
84520
84521 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84522
84523         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
84524
84525 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84526
84527         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
84528         (futimens): New function, which uses futimes if available.
84529         (futimens, utimens): Support timespec==NULL, with same semantics
84530         as utime and utimens.
84531         * lib/utimens.h (futimens): New decl.
84532
84533 2004-11-23  Jim Meyering  <jim@meyering.net>
84534
84535         * lib/getopt_.h: Remove trailing blanks.
84536
84537 2004-11-23  Jim Meyering  <jim@meyering.net>
84538
84539         * lib/__fpending.c: Add comment.
84540
84541 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
84542
84543         * modules/canonicalize (Depends-on): Add xreadlink.
84544         Problem reported by James Youngman.
84545
84546 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
84547
84548         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
84549         New macros.
84550         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
84551         optopt): Use them instead of invoking ## directly; otherwise, the
84552         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
84553
84554 2004-11-19  Bruno Haible  <bruno@clisp.org>
84555
84556         * lib/strtok_r.c: Move comments from here...
84557         * lib/strtok_r.h: ... to here.
84558
84559 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84560
84561         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
84562         implementations that mishandle size_t overflow.
84563
84564 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84565
84566         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
84567         might fail.  Problem reported by Yoann Vandoorselaere.
84568         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
84569         implementations that mishandle size_t overflow.
84570
84571 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84572
84573         * modules/canon-host (Depends-on): Add strdup.
84574
84575 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84576
84577         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
84578
84579 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84580
84581         * lib/canon-host.c: Include "strdup.h".
84582         (canon_host): Use getaddrinfo if available, so that IPv6 works.
84583         Use strdup instead of malloc/strcpy to duplicate strings.
84584
84585         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
84586         (human_space_before_unit): New constant.
84587         * lib/human.c (human_readable): Support it.
84588
84589         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
84590         (xgetcwd): Set errno correctly when failing.
84591         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
84592         the failure is actually due to a PATH_MAX problem.
84593
84594         Further getopt changes to make it more likely that glibc will
84595         buy the changes back.
84596         * lib/getopt.c (POSIXLY_CORRECT): New constant.
84597         (getopt): Use it, so to preserve glibc semantic
84598         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
84599         when compiling for libc.
84600         * lib/getopt_.h (__getopt_argv_const): Bring it back.
84601         (getopt_long, getopt_long_only): Use it.
84602
84603         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84604         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
84605         (getopt): Argv is now char * const *, as per standard.
84606         (_getopt_internal_r, _getopt_internal): Argv is now char **,
84607         not char *__getopt_argv_const *.
84608         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84609         _getopt_long_only_r): Likewise.
84610         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
84611         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84612         _getopt_long_r, _getopt_long_only_r): Likewise.
84613         * lib/getopt_.h (__getopt_argv_const): Remove.
84614         (getopt): Argv is now char * const *, as per standard.
84615
84616         * lib/getdate.y (tORDINAL): New token.
84617         (day, relunit): Allow it for relative times.
84618         (relative_time_table): Use tORDINAL for ordinals.
84619
84620 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84621
84622         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
84623         Document that "second" isn't allowed as an ordinal number.
84624
84625 2004-11-16  Jim Meyering  <jim@meyering.net>
84626
84627         * modules/closeout (Depends-on): Add fpending.
84628
84629 2004-11-15  Jim Meyering  <jim@meyering.net>
84630
84631         * lib/closeout.c: Include "__fpending.h" once again.
84632         Include <stdbool.h>.
84633         (close_stdout): Don't fail just because stdout was closed initially,
84634         since some programs don't write to stdout in the normal course of
84635         operation (other than --version and --help), and we don't want this
84636         function to make e.g. `touch file >&-' fail.
84637         But do fail if it was closed and someone has tried to write to it.
84638         E.g., `printf foo >&-' must fail.
84639
84640 2004-11-13  Jim Meyering  <jim@meyering.net>
84641
84642         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
84643
84644 2004-11-12  Simon Josefsson  <jas@extundo.com>
84645
84646         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
84647         small doc fix is still pending.
84648
84649 2004-11-11  Simon Josefsson  <jas@extundo.com>
84650
84651         * modules/strtok_r: New file.
84652
84653         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84654         strtok_r.
84655
84656 2004-11-11  Simon Josefsson  <jas@extundo.com>
84657
84658         * m4/strtok_r.m4: New file.
84659
84660         * m4/getopt.m4: Replace opterr.
84661
84662 2004-11-11  Simon Josefsson  <jas@extundo.com>
84663
84664         * lib/strtok_r.h, strtok_r.c: New file.
84665
84666 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84667
84668         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
84669         of replacing opterr, getopt, etc.  This should handle the
84670         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
84671
84672 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84673
84674         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
84675         we can stop lying to compilers about the constness of argv when we
84676         are compiled outside glibc.
84677         (getopt, getopt_long, getopt_long_only): Use it.
84678         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84679         _getopt_internal, getopt): Likewise.
84680         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84681         _getopt_long_only_r): Likewise.
84682         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84683         _getopt_long_r, _getopt_long_only_r): Likewise.
84684
84685         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
84686         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
84687         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
84688         the other external symbols.
84689         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
84690         declaration, since the above renaming now works around collisions.
84691
84692 2004-11-11  Jim Meyering  <jim@meyering.net>
84693
84694         * lib/linebreak.c: Remove trailing blanks.
84695         * lib/alloca_.h: Likewise.
84696         * lib/acosl.c: Likewise.
84697         * lib/euidaccess.c: Likewise.
84698         * lib/allocsa.h: Likewise.
84699
84700 2004-11-10  Simon Josefsson  <jas@extundo.com>
84701
84702         * m4/getaddrinfo.m4: New file.
84703
84704 2004-11-10  Simon Josefsson  <jas@extundo.com>
84705
84706         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
84707
84708 2004-11-10  Simon Josefsson  <jas@extundo.com>
84709
84710         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84711         getaddrinfo.
84712
84713         * modules/getaddrinfo: New file.
84714
84715 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84716
84717         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
84718
84719 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84720
84721         * lib/mktime.c (SHR): New macro, which is a portable
84722         substitute for >> that should work even on Crays.
84723         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
84724         Problem reported by Mark D. Baushke in
84725         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
84726         * lib/getdate.y (SHR): Likewise.
84727         (tm_diff): Use it.
84728         * lib/strftime.c (SHR): Likewise.
84729         (tm_diff): Use it.
84730         * lib/quotearg.c (struct quoting_options): Use unsigned int for
84731         quote_these_too, so that right shifts are well defined.  All uses
84732         changed.
84733
84734 2004-11-10  Jim Meyering  <jim@meyering.net>
84735
84736         Ensure that no close failure goes unreported.
84737         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
84738         return early when it seems there's nothing to flush.
84739         Don't include __fpending.h.
84740
84741 2004-11-10  Jim Meyering  <jim@meyering.net>
84742
84743         * modules/closeout (Depends-on): Remove fpending.
84744
84745 2004-11-10  Jim Meyering  <jim@meyering.net>
84746
84747         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
84748
84749 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84750
84751         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
84752         gl_FUNC_STRFTIME.
84753         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
84754         and AC_REQUIRE when possible, to avoid duplicate checks.
84755         Check for <wchar.h>.
84756
84757 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84758
84759         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
84760
84761 2004-11-09  Bruno Haible  <bruno@clisp.org>
84762
84763         * m4/sockpfaf.m4: New file.
84764
84765 2004-11-05  Bruno Haible  <bruno@clisp.org>
84766
84767         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
84768         Reported by Mark D. Baushke <mdb@cvshome.org>.
84769
84770 2004-11-04  Bruno Haible  <bruno@clisp.org>
84771
84772         2004-09-11  Bruno Haible  <bruno@clisp.org>
84773                 * allocsa.valgrind: New file.
84774         2004-02-06  Bruno Haible  <bruno@clisp.org>
84775                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
84776                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
84777                 Reported by Christopher Seip <chris.seip@hp.com>.
84778
84779 2004-11-04  Bruno Haible  <bruno@clisp.org>
84780
84781         * modules/allocsa (Files): Add lib/allocsa.valgrind.
84782         (Makefile.am): Distribute it.
84783
84784 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
84785
84786         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
84787         with errno == ERANGE if the buffer is too small.
84788         Problem reported by Mark D. Baushke.
84789
84790 2004-11-03  Albert Chin  <china@thewrittenword.com>
84791             Paul Eggert  <eggert@cs.ucla.edu>
84792
84793         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
84794         equivalent, substitute $ac_type for equivalent type rather than
84795         blindly using uint32_t *always* which won't work if uint32_t is not
84796         available.  Define _UINT32_T to work around typedef of uint32_t if
84797         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
84798         2.5.1.
84799
84800 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84801
84802         * m4/jm-macros.m4: Sync from coreutils.
84803         (gl_MACROS): Check for mbrlen, for pathchk.
84804         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
84805
84806 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84807
84808         * lib/xreadlink.c (MAXSIZE): New macro.
84809         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
84810         size does not exceed MAXSIZE.  Avoid cast.
84811         As suggested by Mark D. Baushke in
84812         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
84813         if readlink fails with buffer size just under MAXSIZE, try again
84814         with MAXSIZE.
84815
84816 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84817
84818         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
84819
84820 2004-11-02  Derek R. Price  <derek@ximbiot.com>
84821         and  Paul Eggert  <eggert@cs.ucla.edu>
84822
84823         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
84824         (get_date): Overparenthesize to avoid GCC warning.
84825
84826 2004-11-02  Bruno Haible  <bruno@clisp.org>
84827
84828         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
84829         returns void.
84830
84831 2004-11-02  Bruno Haible  <bruno@clisp.org>
84832
84833         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
84834         function returns void.
84835
84836 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84837
84838         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
84839         fflush_unlocked, flockfile, funlockfile, funlockfile,
84840         fputs_unlocked, putc_unlocked.
84841
84842 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84843
84844         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84845         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
84846         already declared.
84847
84848 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84849
84850         * modules/getdate (Files): Add doc/getdate.texi.
84851         (Depends-on): Add setenv, xalloc.
84852
84853 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84854
84855         * lib/getdate.y: Add support for TZ="foo" within a date string.
84856         Fix some bugs near time_t boundaries.  Reject dates with
84857         out-of-range components, e.g., "Sept 31".
84858         Include <stdlib.h>, "setenv.h", "xalloc.h".
84859         (ISDIGIT_LOCALE): Remove; unused.
84860         Note that the TZ and time functions used here are not reentrant.
84861         (mktime_ok, get_tz): New functions.
84862         (TZBUFSIZE): New constant.
84863         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
84864         This requires that we sometimes generate our own TZ="XXX..." setting.
84865
84866 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84867
84868         * doc/getdate.texi: New file, from coreutils with modifications for
84869         the new TZ parsing.
84870
84871 2004-10-27  Derek R. Price  <derek@ximbiot.com>
84872
84873         * lib/mktime.c (not_equal_tm): Remove redundant check.
84874
84875 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84876
84877         * modules/regex (lib_SOURCES): Add regex.c.
84878         Reported by James Youngman in
84879         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
84880
84881 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84882
84883         * lib/getdate.y: Use Bison 1.875 features, and some minor
84884         code cleanups.  This change does not affect semantics.
84885         Don't include <stdlib.h>; no longer needed.
84886         Don't include unlocked-io.h; only the "#if TEST" code uses
84887         stdio, and performance isn't crucial there.
84888         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
84889         Bison 1.875 features as described below.
84890         All uses of "PC." replaced by "pc->".
84891         (YYSTYPE): Add a forward declaration.
84892         (yylex, yyerror): Use full prototypes in forward decls.
84893         Use "%pure-parser" rather than obsolescent "%pure_parser".
84894         Use %parse-param and %lex-param instead of obsolescent
84895         YYPARSE_PARAM and YYLEX_PARAM.
84896         (meridian_table, month_and_day_table, time_units_table,
84897         relative_time_table, time_zone_table, military_table,
84898         lookup_zone, lookup_word, get_date):
84899         Use NULL instead of 0 where appropriate.
84900         (to_hour): Avoid abort (), to avoid a dependency on
84901         stdlib.h.
84902         (yyerror, yylex): Now accepts parser_control * arg.
84903         (main) [TEST]: Use '\0' rather than 0 for char.
84904
84905 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
84906
84907         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
84908
84909 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
84910
84911         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
84912         It's now the caller's responsibility to handle the case where
84913         !HAVE_GETPAGESIZE && !defined getpagesize.
84914
84915         * lib/mktime.c (leapyear): Arg is long int, not int.
84916
84917 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
84918
84919         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
84920
84921 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
84922
84923         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
84924         missing.  Problem reported by James Youngman.
84925
84926 2004-10-16  Simon Josefsson  <jas@extundo.com>
84927
84928         * gnulib-tool: Fix comments.  Fix parse problem.
84929         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
84930
84931 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
84932
84933         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
84934         implementation of getopt_long.  Problem reported by Alexander Taler in:
84935         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
84936
84937 2004-10-15  Bruno Haible  <bruno@clisp.org>
84938
84939         * gnulib-tool: Untabify. Initialize supplied_libname.
84940         (func_usage): More homogenous output.
84941         (func_modules_transitive_closure, func_modules_to_filelist,
84942         func_emit_lib_Makefile_am): New functions.
84943         (func_import): New function, extracted from big case statement. Use
84944         func_get_license, func_modules_transitive_closure,
84945         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
84946         opt_lgpl. Don't use test -a, as it's not portable.
84947         (func_create_testdir): Use func_modules_transitive_closure,
84948         func_modules_to_filelist, func_emit_lib_Makefile_am.
84949
84950 2004-10-15  Bruno Haible  <bruno@clisp.org>
84951
84952         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
84953
84954 2004-10-15  Bruno Haible  <bruno@clisp.org>
84955
84956         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
84957         the portions belonging to each module.
84958         Suggested by Derek Robert Price <derek@ximbiot.com>.
84959
84960 2004-10-12  Simon Josefsson  <jas@extundo.com>
84961
84962         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84963         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
84964         to real functions.
84965
84966 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84967
84968         * modules/vsnprintf: New file.
84969
84970 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84971
84972         * m4/vsnprintf.m4: New file.
84973
84974 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84975
84976         * lib/vsnprintf.h: New file.
84977         * lib/vsnprintf.c: New file.
84978
84979 2004-10-11  Bruno Haible  <bruno@clisp.org>
84980
84981         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
84982         vsnprintf.
84983
84984 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84985
84986         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
84987
84988 2004-10-07  Bruno Haible  <bruno@clisp.org>
84989
84990         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
84991         fits into the provided buffer.
84992
84993 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84994
84995         * lib/diacrit.c, diacrit.h: Add GPL notice.
84996
84997         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
84998         notice.
84999         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85000         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85001         This avoids a potential constant-folding bug.
85002
85003 2004-10-05  Bruno Haible  <bruno@clisp.org>
85004
85005         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85006         for the declaration of strsep.
85007
85008 2004-10-05  Bruno Haible  <bruno@clisp.org>
85009
85010         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85011
85012 2004-10-04  Simon Josefsson  <jas@extundo.com>
85013
85014         * modules/memmem: New file.
85015         * tests/test-memmem.c: New file.
85016         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85017
85018 2004-10-04  Simon Josefsson  <jas@extundo.com>
85019
85020         * m4/memmem.m4: New file.
85021
85022 2004-10-04  Simon Josefsson  <jas@extundo.com>
85023
85024         * lib/memmem.h: New file.
85025         * lib/memmem.c: New file, taken from glibc.
85026
85027 2004-10-04  Simon Josefsson  <jas@extundo.com>
85028
85029         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85030         '#ifdef USE_UNLOCKED_IO'.
85031
85032 2004-10-04  Simon Josefsson  <jas@extundo.com>
85033
85034         * config/srclist.txt: Add memmem from glibc.
85035
85036 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85037
85038         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85039
85040         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85041         modules/exclude, modules/getdate, modules/getline,
85042         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85043         modules/getusershell, modules/linebuffer, modules/md5,
85044         modules/mountlist, modules/posixtm, modules/readtokens,
85045         modules/readutmp, modules/regex, modules/sha1,
85046         modules/version-etc, modules/yesno:
85047         Remove dependency on unlocked-io.
85048
85049 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85050
85051         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85052
85053         * m4/unlocked-io.m4: Add copyright notice.
85054         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85055
85056 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85057
85058         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85059         * lib/xmalloc.c (xmemdup): Likewise.
85060         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85061         XFREE): Remove these long-obsolescent macros.
85062         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85063         * lib/xstrdup.c: Remove.
85064
85065         * lib/regex.c (re_comp): Cast gettext return value to char *,
85066         Problem reported by Martin Neitzel via Mark D. Baushke.
85067
85068 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85069
85070         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85071         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85072         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85073         regex.c, sha1.c, version-etc.c, yesno.c:
85074         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85075         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85076         the includer's responsibility.
85077
85078         Sync from coreutils.
85079
85080         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85081         points to the start of a string, as the C Standard says the
85082         resulting behavior is undefined.
85083
85084         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85085         simple -> simple_backups, numbered_existing ->
85086         numbered_existing_backups, numbered -> numbered_backups
85087         to avoid shadowing problems.  All uses changed.
85088         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85089         * lib/backupfile.c (check_extension, numbered_backup):
85090         Rename locals to avoid shadowing 'basename'.
85091         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85092         once.
85093
85094         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
85095         * lib/.cvsignore: Add getopt.h.
85096
85097 2004-10-04  Bruno Haible  <bruno@clisp.org>
85098
85099         * modules/README: New file.
85100         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
85101         not a module.
85102
85103 2004-10-02  Jim Meyering  <jim@meyering.net>
85104
85105         * lib/dirfd.h, getpagesize.h: Add copyright notice.
85106
85107 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85108
85109         * modules/strsep: New file.
85110
85111 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85112
85113         * m4/strsep.m4: New file.
85114
85115 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85116
85117         * lib/strsep.h: New file.
85118         * lib/strsep.c: New file.
85119
85120 2004-10-01  Simon Josefsson  <jas@extundo.com>
85121
85122         * lib/snprintf.c (snprintf): Handle size==0.
85123
85124 2004-10-01  Simon Josefsson  <jas@extundo.com>
85125             Bruno Haible  <bruno@clisp.org>
85126
85127         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
85128         (snprintf): Declare 'args'.
85129
85130 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
85131
85132         * lib/snprintf.c: Remove comments as to why each header is needed.
85133
85134 2004-10-01  Bruno Haible  <bruno@clisp.org>
85135
85136         * MODULES.html.sh: Add strsep.
85137
85138 2004-09-30  Simon Josefsson  <jas@extundo.com>
85139
85140         * modules/snprintf: New file.
85141
85142 2004-09-30  Simon Josefsson  <jas@extundo.com>
85143
85144         * m4/snprintf.m4: New file.
85145
85146 2004-09-30  Simon Josefsson  <jas@extundo.com>
85147
85148         * lib/snprintf.h, lib/snprintf.c: New files.
85149
85150 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85151
85152         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
85153         (hol_entry_help): Never translate an empty string.
85154         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
85155         * lib/argp.h (OPTION_NO_TRANS): New option.
85156
85157 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85158
85159         * modules/argp (Maintainer): Replace Simon Josefsson
85160         by Sergey Poznyakoff.
85161
85162 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85163
85164         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
85165         changes merged back into glibc.
85166
85167 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85168
85169         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
85170
85171 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85172
85173         * lib/xvasprintf.c: Include xalloc.h.
85174         (xvasprintf): Use xalloc_die, not xmalloc_die.
85175
85176 2004-09-29  Bruno Haible  <bruno@clisp.org>
85177
85178         * modules/alloca-opt: New file, derived from modules/alloca.
85179         * modules/allocsa: Depend on alloca-opt instead of alloca.
85180         * modules/setenv: Likewise.
85181         * modules/vasnprintf: Likewise.
85182         * MODULES.html.sh: Add alloca-opt.
85183
85184 2004-09-28  Simon Josefsson  <jas@extundo.com>
85185
85186         * gnulib-tool: New parameter --lgpl, to asseert that modules are
85187         LGPL, and to replace license template from GPL to LGPL.
85188
85189 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85190
85191         * modules/dummy: Change license to LGPL.
85192
85193 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85194
85195         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
85196
85197 2004-09-24  Simon Josefsson  <jas@extundo.com>
85198
85199         * modules/minmax (License): Change from GPL to LGPL.
85200
85201 2004-09-23  Simon Josefsson  <jas@extundo.com>
85202
85203         * gnulib-tool (--import): Typo.
85204
85205 2004-09-23  Simon Josefsson  <jas@extundo.com>
85206
85207         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
85208
85209 2004-09-22  Bruno Haible  <bruno@clisp.org>
85210
85211         * modules/*: Add 'License' field.
85212         * gnulib-tool: Accept --extract-license option.
85213         (func_get_license): New function.
85214
85215 2004-09-21  Bruno Haible  <bruno@clisp.org>
85216
85217         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
85218         Reported by Simon Josefsson.
85219
85220 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85221
85222         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
85223         gl_AC_TYPE_LONG_LONG.
85224
85225 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85226
85227         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
85228
85229 2004-09-18  Simon Josefsson  <jas@extundo.com>
85230         and  Paul Eggert  <eggert@cs.ucla.edu>
85231
85232         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
85233         calls with autoreconf.  Define GL_LIB.
85234
85235 2004-09-14  Karl Berry  <karl@gnu.org>
85236
85237         * config/srclist.txt: unsync setenv.c, sigh.
85238
85239 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85240
85241         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
85242         Problem reported by Bruno Haible in:
85243         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
85244
85245 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85246
85247         * config/srclist.txt: Comment out argp-pvh.c.
85248
85249 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
85250
85251         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
85252         in case some system header has #define'd it.  Problem reported by
85253         Soeren D. Schulze in
85254         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
85255
85256 2004-09-09  Karl Berry  <karl@gnu.org>
85257
85258         * regex.[ch]: delete from the root.  These were supposed to be
85259                 synced with emacs cvs, but this has not happened for about
85260                 a year, and anyway nothing else uses emacs regex.[ch].
85261                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
85262                 lib/regex[.ch] is untouched.
85263
85264 2004-09-09  Bruno Haible  <bruno@clisp.org>
85265
85266         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
85267
85268 2004-09-09  Bruno Haible  <bruno@clisp.org>
85269
85270         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
85271         modifications.
85272         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
85273
85274 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85275
85276         * modules/xvasprintf: New file.
85277         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
85278
85279 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85280
85281         * lib/xvasprintf.h: New file.
85282         * lib/xvasprintf.c: New file.
85283         * lib/xasprintf.c: New file.
85284
85285 2004-09-08  Bruno Haible  <bruno@clisp.org>
85286
85287         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
85288
85289 2004-09-08  Bruno Haible  <bruno@clisp.org>
85290
85291         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
85292         length is > INT_MAX.
85293         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
85294         more.
85295
85296 2004-09-08  Bruno Haible  <bruno@clisp.org>
85297
85298         * lib/stdint_.h: New file, taken from GNU clisp.
85299
85300 2004-09-08  Bruno Haible  <bruno@clisp.org>
85301             Oskar Liljeblad  <oskar@osk.mine.nu>
85302
85303         * modules/stdint: New file.
85304         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
85305
85306 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85307
85308         Import from coreutils.
85309         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
85310         strings on unbounded length.  alloca's performance benefits aren't
85311         that important here.
85312         (V_STRDUP): Remove.
85313         (parse_with_separator): New function, with most of the internals
85314         of the old parse_user_spec.  Allow user to omit both user and group,
85315         for compatibility with FreeBSD.
85316         Clone only the user name, not the entire spec.
85317         Do not set *uid, *gid unless entirely successful.
85318         Avoid memory leak in some failing cases.
85319         Fix regression for USER.GROUP reported by Dmitry V. Levin in
85320         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
85321         (parse_user_spec): Rewrite to use parse_with_separator.
85322
85323 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85324
85325         * modules/userspec: Don't depend on alloca.
85326
85327 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85328
85329         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
85330
85331 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85332
85333         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
85334         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
85335         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
85336
85337 2004-08-16  Simon Josefsson  <jas@extundo.com>
85338
85339         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
85340         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
85341         Add --dry-run for --import.
85342         Let user provided command line parameters override configure.ac
85343         settings.
85344
85345 2004-08-12  Simon Josefsson  <jas@extundo.com>
85346
85347         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
85348         as discussed with Paul Eggert in threads rooted at
85349         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
85350         and
85351         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
85352         Before, the test was empty, and relied on ELIDE_CODE in source
85353         code.)
85354         (gl_PREREQ_GETOPT): New macro.
85355         (gl_GETOPT): Use them.
85356
85357 2004-08-12  Simon Josefsson  <jas@extundo.com>
85358
85359         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
85360         * lib/getopt_.h: Renamed from getopt.h.
85361
85362 2004-08-12  Simon Josefsson  <jas@extundo.com>
85363
85364         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
85365         Change default library name from libfoo to libgnu.
85366         Now, if you have a configure.ac that says:
85367                 gl_SOURCE_BASE(gl)
85368                 gl_M4_BASE(gl/m4)
85369                 gl_MODULES(error getopt etcetera)
85370                 gl_INIT
85371         you can import all you need by running:
85372                 ../gnulib/gnulib-tool --import
85373
85374         * modules/getopt (Files): Rename getopt.h to getopt_.h.
85375         (Makefile.am): Rewrite, use logic from argz.
85376         (Include): Use <getopt.h> instead of "getopt.h".
85377
85378 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85379
85380         * modules/argp (Files): Add m4/unlocked-io.m4.
85381         (Depends-on): Add extensions.
85382
85383 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85384
85385         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
85386         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
85387         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
85388         Check for program_invocation_name, program_invocation_short_name,
85389         flockfile, funlockfile, features.h, _getopt_long_only_r.
85390
85391 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85392
85393         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
85394         its complicated substitute.
85395         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
85396         and program_invocation_name.
85397         (__argp_basename) [!_LIBC]: Remove; the only use was
85398         replaced by its body.
85399         (__argp_short_program_name): Change condition from
85400         !defined __argp_short_program_name to
85401         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
85402         to match argp-namefrob.h.
85403         (__argp_failure): Don't assume strerror_r returns char *.
85404         * lib/argp-parse.c (N_): Define unconditionally.
85405         (argp_default_options): Fill out initializers with 0 to avoid
85406         gcc warnings.
85407
85408 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85409
85410         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
85411         getopt1.c.
85412
85413 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85414
85415         Merge from coreutils.
85416
85417         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
85418
85419         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
85420         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
85421
85422 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85423
85424         Merge from coreutils.
85425
85426         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
85427         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
85428         for Reliant Unix 5.43.
85429
85430         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
85431         (union fooround): Use uintmax_t, not long int.
85432         The rest is a merge from libc:
85433         [defined _LIBC]: Include <shlib-compat.h>.
85434         (_obstack) [defined _LIBC]: Remove after 2.3.4.
85435
85436         * lib/settime.c (settime): Recode to avoid warning with
85437         Sun Forte C 6U2.
85438
85439         * lib/strverscmp.c: Convert to UTF-8.
85440
85441 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85442
85443         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85444         m4/uintmax_t.m4.
85445
85446 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85447
85448         * modules/xalloc-die: New file.
85449         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
85450
85451         * modules/md5 (Files): Add m4/uint32_t.m4.
85452         * modules/sha1: Renamed from modules/sha.
85453         (Files):
85454         Rename lib/sha.h to lib/sha1.h.
85455         Rename lib/sha.c to lib/sha1.c.
85456         Rename m4/sha.m4 to m4/sha1.m4.
85457         (lib_SOURCES): Likewise.
85458         (configure.ac): Rename gl_SHA to gl_SHA1.
85459         (Include): sha.h -> sha1.h.
85460
85461 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85462
85463         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
85464         * m4/sha1.m4: Renamed from sha.m4.
85465         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
85466
85467 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85468
85469         * lib/obstack.h (obstack_empty_p):
85470         Don't assume that chunk->contents is suitably aligned.
85471         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
85472         Likewise. Problem reported by Benno in
85473         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
85474
85475         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
85476         readable.  This could be improved further but it'd take some work.
85477
85478 2004-08-08  Simon Josefsson  <jas@extundo.com>
85479
85480         * modules/xgethostname (Depends-on): Remove exit and error (not
85481         used).
85482
85483         * modules/getpass-gnu: Add getpass.h.
85484         (Depends-on): Add stdbool.
85485         * modules/getpass: Add getpass.h.
85486
85487 2004-08-08  Simon Josefsson  <jas@extundo.com>
85488
85489         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
85490         Check getpass declaration.
85491
85492 2004-08-08  Simon Josefsson  <jas@extundo.com>
85493
85494         * lib/xgethostname.c: Don't include error.h (not used).
85495
85496         * lib/getpass.h: Add.
85497         * lib/getpass.c: Include getpass.h first.
85498
85499 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
85500
85501         * lib/xalloc-die.c: New file.
85502         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
85503         All uses removed.
85504         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
85505         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
85506         xalloc-die.c.
85507         (_, N_, xalloc_die): Move to xalloc-die.c.
85508         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
85509         so that we needn't mess with xalloc_msg_memory_exhausted.
85510
85511         * lib/sha1.h: Renamed from sha.h.
85512         (SHA1_H): Renamed from _SHA_H.
85513         (sha1_ctx): Renamed from sha_ctx.
85514         (sha1_init_ctx): Renamed from sha_init_ctx.
85515         (sha1_process_block): Renamed from sha_process_block.
85516         (sha1_process_bytes): Renamed from sha_process_bytes.
85517         (sha1_finish_ctx): Renamed from sha_finish_ctx.
85518         (sha1_read_ctx): Renamed from sha_read_ctx.
85519         (sha1_stream): Renamed from sha_stream.
85520         (sha1_buffer): Renamed from sha_buffer.
85521         * lib/sha1.c: Likewise; renamed from sha.c.
85522         Do not include <sys/types.h>.
85523         Include <stddef.h> rather than <stdlib.h>.
85524
85525 2004-08-08  Bruno Haible  <bruno@clisp.org>
85526
85527         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
85528         FILESYSTEM_PREFIX_LEN.
85529         * lib/progreloc.c: Likewise.
85530         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
85531
85532 2004-08-06  Simon Josefsson  <jas@extundo.com>
85533
85534         * modules/progname (Depends-on): Don't depend on stdbool.
85535
85536 2004-08-06  Simon Josefsson  <jas@extundo.com>
85537
85538         * modules/getsubopt: New file.
85539         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85540         getsubopt.
85541
85542 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85543
85544         More merge from coreutils.
85545
85546         * m4/utimens.m4, m4/utimecmp.m4: New files.
85547         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
85548         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
85549         prereq.m4, sha.m4: Import changes from coreutils.
85550
85551 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85552
85553         More merge from coreutils.
85554         * modules/raise, modules/readtokens0, modules/utimens:
85555         * modules/utimecmp, module/xnanosleep: New files.
85556         * modules/strftime: Add lib/strftime.h.
85557         Change include from <time.h> to "strftime.h".
85558         * modules/yesno: Add lib/yesno.h.
85559         * modules/backupfile: Remove lib/addext.c.
85560         * modules/euidaccess: Add stat-macros.h.
85561         * modules/canonicalize, modules/euidaccess,
85562         modules/filemode, modules/lchown, modules/makepath,
85563         modules/rmdir, modules/stat: Likewise.
85564
85565 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85566
85567         Merge from tar.
85568         * lib/argp-help.c (make_hol, hol_append): Don't assume that
85569         SIZE_MAX is a valid preprocessor constant.
85570         (__argp_basename): Change from "#ifndef _LIBC"
85571         to "#ifndef __argp_short_program_name", so that
85572         we don't compile these functions for tar.
85573
85574         More merges from coreutils.
85575         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
85576         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
85577         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
85578         * lib/addext.c: Remove; no longer needed.
85579         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
85580         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
85581         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
85582         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
85583         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
85584         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
85585         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
85586         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
85587         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
85588         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85589         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
85590         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
85591         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
85592         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
85593         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
85594         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
85595         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
85596         Import changes from coreutils.
85597
85598 2004-08-05  Simon Josefsson  <jas@extundo.com>
85599
85600         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
85601
85602 2004-08-05  Simon Josefsson  <jas@extundo.com>
85603
85604         * m4/getsubopt.m4: New file.
85605
85606 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85607
85608         Merge from coreutils.
85609
85610         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
85611         * m4/getcwd-path-max.m4: New files.
85612
85613         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
85614         FILESYSTEM_PREFIX_LEN ->
85615         FILE_SYSTEM_PREFIX_LEN.
85616         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
85617         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
85618         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
85619         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
85620
85621         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
85622         prerequisite modules now handle the DOS stuff.
85623         Don't check for unistd.h.
85624
85625 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85626
85627         Merge from coreutils.
85628
85629         * lib/.gdb-history: Remove; this doesn't belong here.
85630
85631         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
85632         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
85633         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
85634         * lib/getcwd.c: New files.
85635
85636         * lib/dirname.h: Include <stdbool.h>.
85637         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
85638         for consistency with POSIX terminology.  All uses changed.
85639         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
85640         (strip_trailing_slashes): Use bool for booleans.
85641         * lib/stripslash.c (strip_trailing_slashes): Likewise.
85642
85643         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
85644         sometimes returns a positive errno value even when it succeeds.
85645         (print_errno_message) [!LIBC]: Fall back on strerror if
85646         __strerror_r fails.
85647
85648         * lib/path-concat.c (mempcpy): Don't define if a system header defines
85649         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
85650         (longest_relative_suffix): New function.
85651         (path_concat): Use it.  Assume first argument is not NULL.
85652         Port to DOS.  Omit redundant separators.
85653         Report an error instead of returning NULL.
85654         Use mempcpy instead of memcpy.
85655         (xpath_concat): Remove: not declared or used.
85656
85657         * lib/same.h: Include <stdbool.h>
85658         (same_name): Return bool, not int.
85659         * lib/same.c (same_name): Likewise.
85660         (errno): Don't declare; we assume C89 or better now.
85661
85662         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
85663         if not already defined.
85664
85665         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
85666         * lib/dup-safer.c (errno): Likewise.
85667
85668 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85669
85670         Merge from coreutils.
85671         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
85672         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
85673         * modules/path-concat: Don't depend on strdup.
85674
85675 2004-08-03  Simon Josefsson  <jas@extundo.com>
85676
85677         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
85678         * lib/progname.h: Don't include stdbool.h.
85679
85680 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85681
85682         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
85683         * MODULES.html.sh (func_all_modules): Remove fatal.
85684
85685 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85686
85687         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
85688
85689 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85690
85691         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
85692         working.
85693
85694 2004-08-02  Simon Josefsson  <jas@extundo.com>
85695
85696         * lib/getsubopt.h: New file, with comments from Bruno Haible.
85697         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
85698         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
85699
85700 2004-08-01  Simon Josefsson  <jas@extundo.com>
85701
85702         * lib/xgetdomainname.c: Include stdlib.h, for free().
85703
85704 2004-07-19  Bruno Haible  <bruno@clisp.org>
85705
85706         * MODULES.html.sh (func_all_modules): Add dummy.
85707
85708 2004-07-16  Simon Josefsson  <jas@extundo.com>
85709
85710         * modules/dummy: New file.
85711
85712 2004-07-16  Simon Josefsson  <jas@extundo.com>
85713
85714         * lib/dummy.c: New file.
85715
85716 2004-07-16  Bruno Haible  <bruno@clisp.org>
85717
85718         * lib/backupfile.h: Add extern "C" for C++.
85719         * lib/closeout.h: Likewise.
85720         * lib/copy-file.h: Likewise.
85721         * lib/findprog.h: Likewise.
85722         * lib/full-write.h: Likewise.
85723         * lib/pathname.h: Likewise.
85724         * lib/progname.h: Likewise.
85725         * lib/stpcpy.h: Likewise.
85726         * lib/stpncpy.h: Likewise.
85727         * lib/strcase.h: Likewise.
85728         * lib/strstr.h: Likewise.
85729         * lib/xalloc.h: Likewise.
85730
85731         * lib/mbswidth.h: Add extern "C" for C++.
85732         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
85733
85734 2004-07-13  Robert Millan  <robertmh@gnu.org>
85735
85736         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
85737
85738 2004-07-09  Simon Josefsson  <jas@extundo.com>
85739
85740         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
85741         failed without this.)
85742
85743 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85744
85745         * modules/chown (Files): Add lib/fchown-stub.c, since
85746         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
85747
85748 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85749
85750         * lib/fchown-stub.c: New file.
85751
85752 2004-06-24  Jim Meyering  <jim@meyering.net>
85753
85754         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
85755
85756 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85757
85758         * modules/argz: Omit "#include".
85759
85760         * MODULES.html.sh (func_all_modules): Add calloc, to match
85761         2004-06-01 addition of calloc module.
85762
85763 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85764
85765         * m4/argz.m4: New file, which is autoupdated from libtool.
85766
85767 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85768
85769         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
85770         libtool.
85771
85772 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85773
85774         * config/srclist-update: Don't insist on "USA." before the
85775         close-comment, as libtool omits the period and puts the */ on a
85776         separate line.
85777         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
85778         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
85779
85780 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
85781
85782         * modules/argz: New file.
85783         * MODULES.html.sh (func_all_modules): Add argz.
85784
85785 2004-06-12  Jim Meyering  <jim@meyering.net>
85786         and  Paul Eggert  <eggert@cs.ucla.edu>
85787
85788         * modules/hash (Files): Add lib/xalloc.h.
85789         * modules/pipe (Depends-on): Add wait-process.
85790         * modules/stat (Depends-on): Add xalloc.
85791         * modules/userspec (Files): Add lib/userspec.h.
85792         * modules/xstrto
85793
85794         Upgrade from gettext-0.13.
85795         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
85796         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
85797         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
85798
85799 2004-06-10  Jim Meyering  <jim@meyering.net>
85800
85801         * lib/calloc.c: New file.
85802
85803 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
85804
85805         * lib/getdate.y (yylex): Allow space between sign and number.
85806         Problem reported by Dan Jacobson.
85807
85808 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85809
85810         Merge from coreutils CVS.
85811
85812         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
85813         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
85814         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
85815         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
85816         xstrtol.m4: Fix copyright date and/or serial number.
85817
85818         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
85819         See if we need an fchown replacement.
85820         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
85821         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
85822         and use the replacement function if we detect either defect.
85823
85824         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
85825         gl_UTIMECMP.
85826
85827 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85828         and  Jim Meyering  <jim@meyering.net>
85829
85830         Merge from coreutils CVS.
85831
85832         * lib/stat-macros.h: New file, with contents from file-type.h
85833         and coreutils' system.h.
85834         * lib/file-type.c: Include "stat-macros.h".
85835         * lib/file-type.h (file_type): Move all macro definitions to new file,
85836         stat-macros.h.
85837
85838         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
85839         Wrap old code with this conditional.
85840         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
85841         function that does not dereference symlinks.
85842         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
85843
85844         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
85845         dependency problems.
85846         (xreadlink): Accept new arg SIZE, for efficiency.
85847         All decls and uses changed.
85848         * lib/xreadlink.h: Include <stddef.h>, for size_t.
85849
85850         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
85851         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
85852
85853         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
85854         sysexits.h.
85855
85856 2004-06-01  Jim Meyering  <jim@meyering.net>
85857
85858         * m4/calloc.m4: New file.
85859
85860 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
85861
85862         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
85863         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
85864         Also, fix a typo in a diagnostic.
85865
85866 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85867
85868         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
85869         or AC_FUNC_REALLOC.
85870
85871 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85872
85873         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
85874         macros to be defined.
85875         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
85876         the allocator returns NULL because the requested size is zero.
85877
85878 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85879
85880         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
85881         var.  Add comment explaining why libc still defines it.  This
85882         merges the following patch from glibc:
85883         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
85884
85885 2004-05-20  Andreas Schwab  <schwab@suse.de>
85886
85887         * m4/free.m4: Replace free if it not known to work, not the other
85888         way round.
85889
85890 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
85891
85892         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
85893         present in glibc since revision 1.1 of this file.
85894         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
85895         obstack_alignment_mask, obstack_alloc, obstack_base,
85896         obstack_blank, obstack_blank_fast, obstack_chunk_size,
85897         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
85898         obstack_grow0, obstack_init, obstack_int_grow,
85899         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
85900         obstack_next_free, obstack_object_size, obstack_ptr_grow,
85901         obstack_ptr_grow_fast, obstack_room): Remove declarations of
85902         nonexistent functions.
85903
85904 2004-05-18  Karl Berry  <karl@gnu.org>
85905
85906         * config/srclist.txt: break link for vasnprintf.c.
85907
85908 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
85909
85910         Port obstack to the AS/400, where pointers are 16 bytes wide and
85911         you cannot cast an integer to a valid pointer.  This patch is
85912         currently waiting to be integrated into glibc; see
85913         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
85914
85915         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
85916         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
85917         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
85918         (struct obstack): temp member is now a union of a pointer and
85919         an integer, instead of an integer.  All integer uses changed.
85920         This does not affect the physical layout of struct obstack,
85921         except on hosts (like the AS/400) where the size or alignment of
85922         void * is greater than that of ptrdiff_t.
85923         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
85924         __STDC__)]: Store temporary in pointer member of union, not
85925         integer member.
85926         * lib/obstack.c: Include <stddef.h>, for offsetof.
85927         (struct fooalign): Remove; it doesn't need a name.
85928         (union fooround): Change double to long double, and add void *.
85929         (DEFAULT_ALIGNMENT): Use offsetof to compute.
85930         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
85931         not a macro.  Hence the values are always int; so remove all
85932         casts-to-int in uses.
85933
85934 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
85935
85936         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
85937         we can get this patch merged into glibc.
85938
85939 2004-05-17  Derek R. Price  <derek@ximbiot.com>
85940             Paul Eggert  <eggert@cs.ucla.edu>
85941
85942         * m4/argp: Depend on alloca.
85943
85944 2004-05-17  Derek R. Price  <derek@ximbiot.com>
85945             Paul Eggert  <eggert@cs.ucla.edu>
85946
85947         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
85948         freecoding.
85949
85950 2004-05-17  Bruno Haible  <bruno@clisp.org>
85951
85952         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
85953         precision that consists of a '.' followed by an empty digit string.
85954         Patch by Tor Lillqvist <tml@iki.fi>.
85955
85956 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
85957
85958         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
85959         for backward compatibility with older code.  We need our own
85960         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
85961         it under some other name, and our alloca.h will define it.
85962
85963 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
85964             Derek Price  <derek@ximbiot.com>
85965
85966         * lib/alloca.c: Include <alloca.h>, to get our interface.
85967         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
85968         include <alloca.h> first.  Use C89 prototype for alloca; this
85969         requires including <stddef.h> for size_t.  Use extern "C" if C++.
85970         Use #elif for simplicity, since we can assume C89 now.
85971         Don't try to source the system alloca.h since it will not be found
85972         and to prevent recursively including its replacement.
85973         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
85974         * lib/regex.c: Likewise.
85975
85976 2004-05-16  Derek Price  <derek@ximbiot.com>
85977             Paul Eggert  <eggert@cs.ucla.edu>
85978
85979         getline cleanup.  This changes the getndelim2 API: both order of
85980         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
85981         no delimiter).
85982
85983         * lib/getline.c: Don't include stddef.h or stdio.h, since our
85984         interface does that.
85985         (getline): Always use getdelim, so that we don't have two
85986         copies of this code.
85987         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
85988         if available.
85989         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
85990         (GETNDELIM2_MAXIMUM): New macro.
85991         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
85992         instead of the old practice of delim2==0.  All callers changed.
85993         Return -1 on overflow, instead of returning junk.
85994         Do not set *linesize unless allocation succeeds.
85995         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
85996         that we include sys/types.h.
85997         * lib/getnline.h: Likewise.
85998         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
85999         (getndelim2): Reorder arguments.
86000         * lib/getnline.c (getnline, getndelim):
86001         Don't discard the NMAX argument.
86002         (getnline): Invoke getndelim, to avoid code duplication.
86003         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86004         of (size_t) -1 by callers of the getnline family.
86005
86006 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86007
86008         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86009         Check for gettimeofday.
86010         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86011         Check for settimeofday, stime.
86012
86013 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86014
86015         * lib/nanosleep.c (suspended): Change its type from int to
86016         sig_atomic_t volatile.
86017         (first_call): Make it private to rpl_nanosleep, and have it
86018         be zero initially as that's a bit faster.
86019         (my_usleep): Round up fractional times instead of truncating them,
86020         as this is the usual meaning for 'sleep'.
86021
86022         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86023         doesn't work.
86024         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86025         (ENOSYS): Define if not defined.
86026         (settime): Fall back on stime if it exists and settimeofday fails.
86027         But don't bother with fallbacks if a method fails with errno == EPERM.
86028
86029 2004-05-11  Jim Meyering  <jim@meyering.net>
86030
86031         Prior to this change, the save_cwd caller required read access to the
86032         current directory on most systems (ones with the fchdir function).
86033
86034         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86035         fails, try write-only, and finally, resort to using xgetcwd.
86036
86037 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86038
86039         * lib/obstack.c, obstack.h: Import changes from libc.
86040
86041 2004-04-28  Bruno Haible  <bruno@clisp.org>
86042
86043         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86044         also implicitly appends .exe to executables.
86045         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86046         accepts Windows pathnames.
86047         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86048         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86049         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86050         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86051         Reported by Derek Robert Price <derek@ximbiot.com>.
86052
86053 2004-04-21  Karl Berry  <karl@gnu.org>
86054
86055         * config/srclist.txt (localcharset.c): break sync.
86056
86057 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86058
86059         * m4/host-os.m4: Add a copyright notice.
86060
86061 2004-04-20  Jim Meyering  <jim@meyering.net>
86062
86063         Change UTILS_ to gl_ in AC_DEFINE'd names.
86064         Change utils_- and jm_-prefixed variables, too.
86065         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86066         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86067         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86068
86069         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86070         Don't emit trailing blanks.
86071         Also rename jm_-prefixed variables to have gl_ prefix.
86072
86073         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86074         Also rename jm_-prefixed variables to have gl_ prefix.
86075
86076         * m4/jm-macros.m4: Reflect the renamings.
86077         * m4/prereq.m4: Likewise.
86078
86079 2004-04-20  Jim Meyering  <jim@meyering.net>
86080
86081         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86082         memory.
86083
86084 2004-04-20  Jim Meyering  <jim@meyering.net>
86085             Bruno Haible  <bruno@clisp.org>
86086
86087         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86088         memory when realloc fails.
86089
86090 2004-04-19  Jim Meyering  <jim@meyering.net>
86091
86092         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86093         now that readutmp.c may call `free (0)'.
86094
86095 2004-04-19  Bruno Haible  <bruno@clisp.org>
86096
86097         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
86098         * m4/inttypes_h.m4: Likewise.
86099         * m4/stdint_h.m4: Likewise.
86100         * m4/intmax_t.m4: Likewise.
86101         * m4/uintmax_t.m4: Likewise.
86102
86103 2004-04-18  Jim Meyering  <jim@meyering.net>
86104
86105         * m4/prereq.m4: Don't forbid jm_ prefix.
86106
86107         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
86108         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
86109         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
86110         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
86111         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
86112         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
86113         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
86114         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
86115         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
86116         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
86117         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
86118         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
86119         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
86120         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
86121         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
86122         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
86123         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
86124         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
86125         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
86126
86127 2004-04-18  Jim Meyering  <jim@meyering.net>
86128
86129         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
86130         failure, don't leak memory and do call END_UTMP_ENT.
86131
86132 2004-04-16  Jim Meyering  <jim@meyering.net>
86133
86134         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
86135         coreutils' stat program.
86136         (gl_PREREQ): Don't require jm_PREREQ_STAT.
86137
86138 2004-04-11  Paul Eggert  <eggert@twinsun.com>
86139
86140         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
86141         C89.
86142         (CHAR_BIT): Remove, since we assume C89.
86143         Include <stdint.h> if available, as per current Autoconf CVS advice.
86144
86145 2004-03-31  Jim Meyering  <jim@meyering.net>
86146
86147         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
86148         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
86149         * m4/xalloc.m4: Likewise.
86150
86151 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86152
86153         Merge from coreutils.
86154
86155         * m4/inttostr.m4: New file.
86156         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
86157         Require AM_STDBOOL_H and gl_TIMESPEC instead.
86158         Require gl_CLOCK_TIME.
86159         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
86160
86161 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86162
86163         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
86164         not bool, to be more consistent with Unix conventions.
86165         Suggested by Bruno Haible.
86166
86167         Merge from coreutils.
86168
86169         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
86170         * lib/umaxtostr.c: New files.
86171
86172         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
86173         the usual <time.h> dance.
86174         (get_date): Change signature to support fractional time stamps.
86175         All callers changed.
86176         * lib/getdate.y: Include "getdate.h" first, as we can now
86177         assume C89 and don't need to worry about 'const'.
86178         Similarly, include "unlocked-io.h" near start, not in middle.
86179         Include <limits.h>.
86180         (textint.value): Use long int rather than int.
86181         (textint.digits): Use size_t rather than int.
86182         (BILLION, LOG10_BILLION): New constants.
86183         (parser_control): New member rel_ns.  Members day_ordinal,
86184         time_zone, month, day, hour, minutes, rel_year, rel_month,
86185         rel_day, rel_hour, rel_minutes, rel_seconds
86186         are now long int, not int.  Member seconds is now struct timespec,
86187         not int.  New member timespec_seen.  Members dates_seen, days_seen,
86188         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
86189         not int.
86190         (%union.intval): Now long int, not int.
86191         New member timespec.
86192         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
86193         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
86194         (spec): Now is a timespec or an item list.
86195         (timespec, items): New nonterminals.
86196         (time, rel, relunit, number, get_date):
86197         Add support for fractional seconds.
86198         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
86199         (gmtime, localtime, mktime): Remove decls; not needed with C89.
86200         (to_hour): First arg is now long int, not int.
86201         (to_year): Returns long int, not int.
86202         Don't treat year -70 like 70.
86203         (tm_diff): Returns long int, not int.
86204         (lookup_word): Use bool instead of int when appropriate.
86205         (yylex): Use size_t for count, not int.
86206         Detect overflow when parsing large integer constants.
86207         Add support for fractions.
86208         (get_date): Make pointers 'const' if possible.
86209         Use more-portable code to detect integer overflow.
86210         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
86211         Don't use ctime; it's not reliable if the year has >4 digits.
86212
86213         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
86214         This is for compatibility with BSD.
86215
86216         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
86217         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
86218         From coreutils' system.h.
86219
86220         * lib/userspec.c: Don't include "posixver.h".
86221         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
86222         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
86223         compatible extension.  Simplify code by removing a boolean int
86224         that was always nonzero if a string was nonnull.
86225
86226 2004-03-30  Jim Meyering  <jim@meyering.net>
86227
86228         Merge from coreutils.
86229
86230         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
86231         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
86232         on some systems one must include <grp.h> before it.
86233         Reported by Christian Krackowizer.
86234
86235 2004-03-30  Jim Meyering  <jim@meyering.net>
86236
86237         Merge from coreutils.
86238
86239         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
86240
86241         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
86242         an empty input stream.
86243
86244         * lib/readtokens.c: Include <stdbool.h>.
86245         (readtoken): Use `size_t' rather than int/long.
86246         All callers adjusted.
86247         Use `bool' rather than `int' where appropriate.
86248         Use memset rather than an explicit loop.
86249         Use x2nrealloc rather than xrealloc.
86250         Allow the use of `\0' as a delimiter.
86251         (readtokens): Likewise.
86252         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
86253
86254 2004-03-30  Jim Meyering  <jim@meyering.net>
86255
86256         * m4/realloc.m4: Remove file, since now it does no more than
86257         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
86258         the `configure.ac' section of module/realloc.
86259         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
86260
86261 2004-03-30  Bruno Haible  <bruno@clisp.org>
86262
86263         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
86264         nonnull.
86265
86266 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86267
86268         Merge changes to getloadavg.c from coreutils and Emacs.
86269
86270         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
86271         Define to an expression, not to the empty string.
86272         Include cloexec.h and xalloc.h.
86273         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
86274         Use set_cloexec_flag rather than rolling our own.
86275         * lib/cloexec.c, lib/cloexec.h: New files.
86276
86277 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86278
86279         * m4/cloexec.m4: New file.
86280
86281 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86282
86283         * lib/getopt.h: Sync with libc CVS.
86284
86285 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86286             Bruno Haible  <bruno@clisp.org>
86287
86288         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
86289         mbswidth.
86290
86291 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86292             Bruno Haible  <bruno@clisp.org>
86293
86294         * lib/mbswidth.h: Include <wchar.h> only if
86295         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
86296         <wchar.h>.
86297         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
86298
86299 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86300
86301         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
86302         Sync with libc CVS.
86303         * lib/getopt_int.h: New file, also synced from libc.
86304
86305 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86306
86307         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
86308         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
86309         Bring back getopt.c, getopt.h, getopt1.c.
86310
86311 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86312
86313         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
86314         All uses changed.  Check for sa_sigaction member; this fixes
86315         a bug first reported by Jason Andrade in
86316         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86317
86318 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86319
86320         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
86321         '#if' expressions.  Unlike the code it replaces, it does not
86322         depend on (defined _SC_PAGESIZE).  However, it does depend on
86323         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
86324         first reported by Jason Andrade in
86325         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86326
86327 2004-02-25  Simon Josefsson  <jas@extundo.com>
86328
86329         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
86330
86331 2004-02-25  Simon Josefsson  <jas@extundo.com>
86332
86333         * lib/strdup.h: New file.
86334         * lib/strdup.c: Include it.
86335         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
86336         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
86337
86338 2004-02-23  Karl Berry  <karl@gnu.org>
86339
86340         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
86341         (from fencepost.gnu.org:/gd/gnuorg).
86342
86343 2004-02-23  Karl Berry  <karl@gnu.org>
86344
86345         * config/srclistvars.sh (GNUORG) [karl]: redefine.
86346         * config/srclist.txt: add maintain/standards documents.
86347
86348 2004-02-18  Bruno Haible  <bruno@clisp.org>
86349
86350         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
86351         Reported by Derek Robert Price <derek@ximbiot.com>.
86352
86353 2004-02-16  Karl Berry  <karl@gnu.org>
86354
86355         * config/mkinstalldirs, install-sh: update from automake.
86356
86357 2004-02-06  Karl Berry  <karl@gnu.org>
86358
86359         * m4/po.m4: update from gettext 0.14.1.
86360
86361 2004-02-06  Karl Berry  <karl@gnu.org>
86362
86363         * lib/config.charset: update from gettext 0.14.1.
86364
86365 2004-02-05  Paul Eggert  <eggert@twinsun.com>
86366
86367         Add comments and code, prompted by suggestions from Bruno Haible
86368         for sh-quote.
86369         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
86370         describing the enum quoting_style values.
86371         * lib/quotearg.c (quotearg_alloc): New function.
86372         (quotearg_buffer_restyled): Treat lone { and } as special.
86373         Treat = as special.  Work around bug with older shells
86374         that "see" a '\' that is really the 2nd byte of a multibyte char.
86375         Quote empty string with shell_quoting_style.
86376
86377 2004-02-03  Bruno Haible  <bruno@clisp.org>
86378
86379         * m4/pipe.m4: New file, from GNU gettext.
86380
86381 2004-02-03  Bruno Haible  <bruno@clisp.org>
86382
86383         * lib/pipe.h: New file, from GNU gettext.
86384         * lib/pipe.c: New file, from GNU gettext.
86385
86386 2004-01-27  Bruno Haible  <bruno@clisp.org>
86387
86388         * m4/execute.m4: New file, from GNU gettext.
86389
86390 2004-01-27  Bruno Haible  <bruno@clisp.org>
86391
86392         * lib/execute.h: New file, from GNU gettext.
86393         * lib/execute.c: New file, from GNU gettext.
86394         * lib/w32spawn.h: New file, from GNU gettext.
86395
86396 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86397
86398         Merge from diffutils.
86399
86400         * lib/file-type.c (file_type): Add typed memory objects.
86401         * lib/file-type.h (S_TYPEISTMO): New macro.
86402
86403         * lib/c-stack.h (c_stack_action): Remove argv argument.
86404         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
86405         (die): Don't calculate message unless segv_action returns.
86406         (get_stack_location, min_address_from_argv, max_address_from_argv,
86407         volatile stack_base, volatile_stack_size): Remove.
86408         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
86409         that every segmentation violation is a stack overflow.  (Ouch!)
86410         See Debian bug 136249 (still outstanding) for more info about why
86411         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
86412
86413 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86414
86415         Exit-status fix from coreutils.
86416
86417         Use exit_failure consistently in place of EXIT_FAILURE,
86418         so that program exit statuses are consistent on failure.
86419
86420         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
86421         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
86422         * lib/argmatch.h: Comment fix to match the above.
86423         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
86424         Now a macro referring to exit_failure, instead of a separate
86425         variable.  Include "exitfail.h" to get it.
86426         * lib/xstrtol.h: Include "exitfail.h".
86427         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
86428
86429         * lib/long-options.c (parse_long_options): Use prototype
86430         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
86431         for clarity.
86432
86433 2004-01-21  Jim Meyering  <jim@meyering.net>
86434
86435         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
86436         so as not to conflict with a different-sized __mktime_internal
86437         function in GNU libc.
86438         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
86439         Problem building statically-linked `ls' reported by Michael Brunnbauer.
86440
86441 2004-01-20  Karl Berry  <karl@gnu.org>
86442
86443         * config/config.guess: update from config.
86444
86445         * config/srclistvars.sh: GNUWWWLICENSES for karl.
86446
86447 2004-01-20  Bruno Haible  <bruno@clisp.org>
86448
86449         Safer stack allocation.
86450         * lib/setenv.c: Include allocsa.h.
86451         (alloca): Remove fallback definition.
86452         (freea): Remove macro.
86453         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
86454         instead of freea.
86455
86456 2004-01-20  Bruno Haible  <bruno@clisp.org>
86457
86458         * m4/eealloc.m4: New file, from GNU gettext.
86459
86460 2004-01-20  Bruno Haible  <bruno@clisp.org>
86461
86462         * m4/allocsa.m4: New file, from GNU gettext.
86463
86464 2004-01-20  Bruno Haible  <bruno@clisp.org>
86465
86466         * lib/xallocsa.h: New file, from GNU gettext.
86467         * lib/xallocsa.c: New file, from GNU gettext.
86468
86469 2004-01-20  Bruno Haible  <bruno@clisp.org>
86470
86471         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
86472
86473 2004-01-20  Bruno Haible  <bruno@clisp.org>
86474
86475         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
86476         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
86477         specially.
86478
86479 2004-01-20  Bruno Haible  <bruno@clisp.org>
86480
86481         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
86482         patch.
86483
86484 2004-01-20  Bruno Haible  <bruno@clisp.org>
86485
86486         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
86487
86488 2004-01-20  Bruno Haible  <bruno@clisp.org>
86489
86490         * lib/eealloc.h: New file.
86491
86492 2004-01-20  Bruno Haible  <bruno@clisp.org>
86493
86494         * lib/binary-io.h: Avoid warnings on Cygwin.
86495
86496 2004-01-20  Bruno Haible  <bruno@clisp.org>
86497
86498         * lib/allocsa.h: New file, from GNU gettext.
86499         * lib/allocsa.c: New file, from GNU gettext.
86500
86501 2004-01-18  Karl Berry  <karl@gnu.org>
86502
86503         * doc/gpl.texi, doc/lgpl.texi: new files.
86504
86505 2004-01-18  Karl Berry  <karl@gnu.org>
86506
86507         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
86508         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
86509
86510 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86511
86512         Merge from coreutils.
86513
86514         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
86515         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
86516         (gl_DEFAULT_POSIX2_VERSION): Move
86517         the documentation from 'configure' into 'config.hin',
86518         so that 'configure --help' isn't burdened by it and
86519         we don't have to worry about its formatting there.
86520         Reword the documentation so that it's more succinct
86521         and can be run together into a single paragraph.
86522         * m4/same.m4 (gl_SAME): Check for pathconf.
86523
86524 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86525
86526         Merge from coreutils.
86527
86528         * lib/posixver.c: Include posixver.h.
86529
86530         * lib/same.c: Include <stdbool.h>, <limits.h>.
86531         (_POSIX_NAME_MAX): Define if not defined.
86532         (MIN): New macro.
86533         (same_name): If file names are silently truncated, report
86534         that the file names are the same if they are the same after
86535         the silent truncation.
86536
86537         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
86538         conversion function.
86539         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
86540         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
86541         longer needed.
86542
86543 2004-01-15  Jim Meyering  <jim@meyering.net>
86544
86545         Merge from coreutils.
86546
86547         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
86548         if no library is required.
86549         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
86550         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
86551         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
86552         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
86553         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
86554         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
86555         value, $ac_cv_search_crypt, if it's "none required".
86556         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
86557         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
86558         not gl_FUNC_GETLOADAVG.
86559         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
86560         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
86561
86562 2004-01-15  Jim Meyering  <jim@meyering.net>
86563
86564         Merge from coreutils.
86565
86566         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
86567         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
86568         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
86569
86570         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
86571         optional configure-time default.
86572
86573         * lib/version-etc.c (version_etc_copyright): Update copyright date.
86574
86575         * lib/xreadlink.c (xreadlink): Correct outdated comment.
86576
86577 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
86578
86579         Merge from coreutils.
86580
86581         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
86582         value, $ac_cv_search_nanosleep, if it's "none required".
86583
86584 2004-01-14  Paul Eggert  <eggert@twinsun.com>
86585
86586         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
86587         with like-named macro in fnmatch.c.
86588         (EXT): Use an internal constant instead.
86589
86590         Merge fnmatch patches from glibc.
86591         * lib/fnmatch.c (mbsinit): Remove define.
86592         Add libc_hidden_ver (__fnmatch, fnmatch).
86593         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
86594         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
86595
86596 2004-01-14  Karl Berry  <karl@gnu.org>
86597
86598         * config/install-sh: update from automake.
86599
86600 2004-01-13  Karl Berry  <karl@gnu.org>
86601
86602         * config/install-sh: update from automake.
86603
86604 2004-01-09  Karl Berry  <karl@gnu.org>
86605
86606         * config/install-sh: update from automake.
86607
86608 2004-01-05  Karl Berry  <karl@gnu.org>
86609
86610         * config/config.{sub,guess}: update from config.
86611
86612 2003-12-31  Karl Berry  <karl@gnu.org>
86613
86614         * config/depcomp: update from automake.
86615
86616 2003-12-14  Karl Berry  <karl@gnu.org>
86617
86618         * lib/config.charset: update from gettext-runtime.
86619
86620 2003-12-03  Paul Eggert  <eggert@twinsun.com>
86621
86622         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
86623         Bug reported by Alfred M. Szmidt.
86624
86625 2003-12-03  Bruno Haible  <bruno@clisp.org>
86626
86627         * m4/gettext.m4: Upgrade from gettext-0.13.
86628         * m4/po.m4: Upgrade from gettext-0.13.
86629         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
86630         * m4/intmax.m4: New file, from gettext-0.13.
86631         * m4/printf-posix.m4: New file, from gettext-0.13.
86632
86633 2003-11-29  Karl Berry  <karl@gnu.org>
86634
86635         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
86636
86637 2003-11-25  Paul Eggert  <eggert@twinsun.com>
86638             Bruno Haible  <bruno@clisp.org>
86639
86640         * lib/printf-parse.h: Don't include sys/types.h.
86641         (ARG_NONE): New macro.
86642         (char_directive): Change type of *arg_index fields to size_t.
86643         * lib/printf-parse.c: Don't include sys/types.h.
86644         (SSIZE_MAX): Remove macro.
86645         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
86646         Remove unnecessary overflow check.
86647         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
86648         fields.
86649
86650 2003-11-25  Bruno Haible  <bruno@clisp.org>
86651
86652         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
86653
86654 2003-11-25  Bruno Haible  <bruno@clisp.org>
86655
86656         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
86657         gt_TYPE_SSIZE_T.
86658
86659 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86660
86661         * modules/alloca: Remove dependency on xalloc.
86662
86663 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86664
86665         * lib/alloca.c: Remove dependency on xalloc module.
86666         (xalloc_die): Remove.
86667         (memory_full) [!defined emacs]: New macro.
86668         [!defined emacs]: Don't include xalloc.h.
86669         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
86670         address arithmetic overflows.  Change datatypes a bit to avoid
86671         unnecessary casts.
86672
86673 2003-11-22  Jim Meyering  <jim@meyering.net>
86674
86675         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
86676         s/size/size_t/.
86677
86678 2003-11-21  Karl Berry  <karl@gnu.org>
86679
86680         * config/config.{sub,guess}: update from config.
86681
86682 2003-11-18  Karl Berry  <karl@gnu.org>
86683
86684         * config/config.{sub,guess}: update from config.
86685
86686         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
86687
86688 2003-11-17  Paul Eggert  <eggert@twinsun.com>
86689
86690         * README: Mention that S+T cannot overflow if S is the size of
86691         an existing object and T is sufficiently small.
86692
86693 2003-11-17  Jim Meyering  <jim@meyering.net>
86694
86695         On systems without utime and without a utimes function capable of
86696         dealing with a NULL struct utimbuf* argument, this utime replacement
86697         could -- in unusual circumstances -- leak a file descriptor.
86698         * lib/utime.c: Include <unistd.h> and <errno.h>.
86699         (utime_null): Be sure to close `fd' and to preserve errno.
86700         Reported by Geoff Collyer via Arnold Robbins.
86701
86702 2003-11-17  Bruno Haible  <bruno@clisp.org>
86703
86704         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
86705         (Depends-on): Add xsize.
86706
86707 2003-11-17  Bruno Haible  <bruno@clisp.org>
86708
86709         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
86710
86711 2003-11-17  Bruno Haible  <bruno@clisp.org>
86712
86713         * lib/vasnprintf.c (alloca): Remove fallback definition.
86714         (freea): Remove definition.
86715         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
86716         Reported by Paul Eggert.
86717
86718 2003-11-16  Paul Eggert  <eggert@twinsun.com>
86719             Bruno Haible  <bruno@clisp.org>
86720
86721         Protect against address arithmetic overflow.
86722         * lib/printf-args.h: Include stddef.h.
86723         (arguments): Change type of field 'count' to size_t.
86724         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
86725         'unsigned int' where appropriate.
86726         * lib/printf-parse.h: Include sys/types.h.
86727         (char_directive): Change type of *arg_index fields to ssize_t.
86728         (char_directives): Change type of fields 'count', max_*_length to
86729         size_t.
86730         * lib/printf-parse.c: Include sys/types.h and xsize.h.
86731         (SSIZE_MAX): Define fallback value.
86732         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
86733         instead of 'int' where appropriate. Check a_allocated, d_allocated
86734         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
86735         * lib/vasnprintf.c: Include xsize.h.
86736         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
86737         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
86738         overflow. Avoid wraparound when converting a width or precision from
86739         decimal to binary.
86740
86741 2003-11-16  Bruno Haible  <bruno@clisp.org>
86742
86743         Update from GNU gettext.
86744         * lib/printf-parse.c: Generalize to it can be compiled for wide
86745         strings.
86746         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
86747         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
86748         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
86749         SNPRINTF): New macros.
86750         Don't include <alloca.h> if the file is used inside libintl.
86751         (local_wcslen): New function, for Solaris 2.5.1.
86752         (VASNPRINTF): Use it instead of wcslen.
86753
86754 2003-11-16  Bruno Haible  <bruno@clisp.org>
86755
86756         * lib/xsize.h (xmax): New function.
86757         (xsum, xsum3, xsum4): Declare as "pure" functions.
86758
86759 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86760
86761         * modules/xalloc (Files): Undo latest change, since xalloc.h
86762         no longer needs SIZE_MAX or PTRDIFF_MAX.
86763
86764 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86765
86766         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
86767         gl_PTRDIFF_MAX.
86768
86769 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86770
86771         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
86772         "return", to pacify some unknown compiler.  Problem reported
86773         by Joerg Schilling.
86774
86775 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86776
86777         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
86778         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
86779         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
86780         heuristic is just as accurate as far as we know, and it removes a
86781         dependency on size_max.m4 and ptrdiff_max.m4.
86782
86783 2003-11-11  Bruno Haible  <bruno@clisp.org>
86784
86785         * modules/xsize (Files): Add m4/size_max.m4.
86786         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
86787
86788 2003-11-11  Bruno Haible  <bruno@clisp.org>
86789
86790         * m4/size_max.m4: New file.
86791         * m4/ptrdiff_max.m4: New file.
86792         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
86793         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
86794         (gl_XALLOC): Invoke it.
86795
86796 2003-11-11  Bruno Haible  <bruno@clisp.org>
86797
86798         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
86799         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
86800         defined.
86801
86802 2003-11-10  Paul Eggert  <eggert@twinsun.com>
86803
86804         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
86805         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
86806         rejected some allocations of exactly SIZE_MAX - 2 bytes.
86807         From Bruno Haible.
86808         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
86809         not (size_t) -1, since it's defined here.
86810
86811 2003-11-09  Karl Berry  <karl@gnu.org>
86812
86813         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
86814
86815 2003-11-06  Paul Eggert  <eggert@twinsun.com>
86816
86817         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
86818         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
86819         Reject sizes of exactly SIZE_MAX bytes.
86820         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
86821         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
86822
86823 2003-11-05  Bruno Haible  <bruno@clisp.org>
86824
86825         * lib/xsize.h: Include limits.h, to avoid a possible collision with
86826         SIZE_MAX defined in <limits.h> on Solaris.
86827
86828 2003-11-04  Jim Meyering  <jim@meyering.net>
86829
86830         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
86831         variable names, rather than @VAR@.
86832         * modules/poll: Likewise.
86833
86834 2003-11-04  Bruno Haible  <bruno@clisp.org>
86835
86836         * modules/xsize: New file.
86837         * modules/linebreak: Depend on xsize.
86838         * MODULES.html.sh (func_all_modules): Add xsize.
86839
86840 2003-11-04  Bruno Haible  <bruno@clisp.org>
86841
86842         * m4/xsize.m4: New file.
86843
86844 2003-11-04  Bruno Haible  <bruno@clisp.org>
86845
86846         * lib/xsize.h: New file.
86847         * lib/linebreak.c: Include xsize.h.
86848         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
86849         argument for overflow.
86850         Suggested by Paul Eggert.
86851
86852 2003-11-03  Karl Berry  <karl@gnu.org>
86853
86854         * config/config.{guess,sub}: update from config.
86855
86856 2003-11-03  Jim Meyering  <jim@meyering.net>
86857
86858         * modules/userspec (lib_SOURCES): Add userspec.h.
86859         (Include): Add "userspec.h".
86860         Improve description.
86861
86862 2003-11-03  Jim Meyering  <jim@meyering.net>
86863
86864         * lib/userspec.c: Include "userspec.h".
86865         * lib/userspec.h: New file.
86866
86867 2003-11-03  Bruno Haible  <bruno@clisp.org>
86868
86869         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
86870
86871 2003-11-03  Bruno Haible  <bruno@clisp.org>
86872
86873         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
86874         available, to avoid (extremely rare) race condition.
86875         Suggested by Paul Eggert.
86876
86877 2003-11-02  Karl Berry  <karl@gnu.org>
86878
86879         * config/srclist.txt (vasprintf.c): sync broken, sigh.
86880
86881 2003-10-31  Paul Eggert  <eggert@twinsun.com>
86882
86883         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
86884         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
86885         (read_filesystem_list): Set and use me_type_malloced.
86886         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
86887         whatever the type happens to be), for brevity and consistency.
86888         Check for size calculation overflow on Alphas running OSF/1.
86889
86890 2003-10-31  Jim Meyering  <jim@meyering.net>
86891
86892         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
86893
86894         * lib/linebuffer.c: Include <string.h> for declaration of memset.
86895
86896 2003-10-30  Paul Eggert  <eggert@twinsun.com>
86897             Bruno Haible  <bruno@clisp.org>
86898
86899         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
86900         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
86901
86902 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
86903
86904         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
86905         netbsd*-gnu*.  Suggested by Robert Millan.
86906
86907 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86908
86909         * modules/group-member: Depend on stdbool.
86910
86911 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86912
86913         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
86914
86915 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86916
86917         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
86918         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
86919         after the 'gnu' in these cases.  This fixes some bugs in the
86920         previous change, and is based on suggestions by Robert Millan.
86921
86922 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86923
86924         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
86925         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
86926         no longer needed.
86927         * lib/quotearg.c (quotearg_n_options): Use it.
86928         * lib/group-member.c: Include <stdbool.h>.
86929         (free_group_info): Arg is now const *; don't free arg.
86930         (get_group_info): Now returns bool and accepts struct group_info *,
86931         rather than returning a malloc'ed struct group_info *.
86932         All uses changed.  Check for overflow in internal size calculation.
86933
86934         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
86935         rather than xmalloc/xrealloc.
86936         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
86937         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
86938         conformance bug: the old code used a pointer after freeing the
86939         storage that it addressed.
86940         * lib/hash.c (hash_initialize): Simplify the code by using
86941         xalloc_oversized rather than doing it by hand.
86942         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
86943         the buffer preserved.  Use free and xmalloc instead.
86944         * lib/quotearg.c (quotearg_n_options): Likewise.
86945         Use a simpler test for size overflow.  Don't use xalloc_oversized
86946         because unsigned int might be wider than size_t (!); this suggests
86947         that we should switch from unsigned int to size_t for slot numbers.
86948
86949 2003-10-28  Paul Eggert  <eggert@twinsun.com>
86950
86951         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
86952         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
86953         NetBSD kernels.  Requested by Richard Stallman.
86954
86955 2003-10-27  Paul Eggert  <eggert@twinsun.com>
86956
86957         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
86958         to allocate the returned structure.  Do not allocate a subarray,
86959         as x2nrealloc will do that.
86960         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
86961         instead of xnrealloc.
86962         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
86963
86964 2003-10-27  Bruno Haible  <bruno@clisp.org>
86965
86966         * lib/stdbool_.h: Better support for BeOS.
86967
86968 2003-10-26  Paul Eggert  <eggert@twinsun.com>
86969
86970         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
86971         now uses inline.
86972
86973 2003-10-26  Paul Eggert  <eggert@twinsun.com>
86974
86975         * lib/xalloc.h (xalloc_oversized): New static inline function, for
86976         callers that want to do their own size-overflow checking.  Include
86977         <stdbool.h>, since xalloc_oversized returns bool.
86978         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
86979         to use xalloc_oversized.
86980
86981         Add two functions x2realloc, x2nrealloc, for programs that grow
86982         arrays dynamically by doubling their sizes.
86983         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
86984         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
86985         New functions.
86986
86987         Port to C99 semantics for 'inline' of external functions.
86988         Bug reported by Bruno Haible.
86989         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
86990         with the old contents of xnmalloc.
86991         (xnmalloc, xmalloc): Use it.
86992         (xnrealloc_inline): New static inline function,
86993         with the old contents of xnrealloc.
86994         (xnrealloc, xrealloc): Use it.
86995
86996         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
86997         that.
86998
86999 2003-10-26  Karl Berry  <karl@gnu.org>
87000
87001         * config/srclist.txt (COPYING.DOC): no longer available from
87002         /gd/gnuorg; don't know where the ultimate source is.
87003
87004 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87005
87006         Fix several address-calculation bugs in the hash modules,
87007         plus some minor code cleanup.
87008
87009         * lib/hash.h: Include <stdbool.h>, for bool.
87010         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87011         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87012         hash_get_n_entries, hash_get_max_bucket_length,
87013         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87014         hash_rehash): Use size_t rather than unsigned.
87015         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87016         hash_get_n_buckets_used, hash_get_n_entries,
87017         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87018         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87019         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87020         Likewise.
87021         (SIZE_MAX): Define if not defined.
87022         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87023         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87024         hash_print):
87025         Use const * when possible.
87026         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87027         (check_tuning): Fix bug: if tuning parameters were very close to
87028         0 or 1, rounding errors could have caused subscript violations.
87029         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87030         (hash_initialize): Add 'fail:' label
87031         to free table and return NULL, and use it to simplify code.
87032         Use calloc rather than clearing the storage ourself.
87033         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87034         buffer size calculations.
87035         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87036         Include <stddef.h>, for size_t.
87037         * lib/hash-pjw.c (hash_pjw): Likewise.
87038         Switch to method described by Bruno Haible.
87039         Include <limits.h>, for CHAR_BIT.
87040         (SIZE_BITS): New macro.
87041
87042 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87043
87044         * m4/getline.m4 (AM_FUNC_GETLINE):
87045         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87046         hosts.  Problem reported by Derek Robert Price in
87047         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87048         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87049         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87050
87051 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87052
87053         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87054         ceiling the allocation at NMAX bytes rather than silently
87055         discarding input bytes before NMAX is reached.  This makes
87056         a difference only if NMAX exceeds SIZE_MAX / 2.
87057
87058         * lib/obstack.c: Merge from glibc.
87059         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87060         Add libc_hidden_def (_obstack_newchunk).
87061         (_obstack_free) [! defined _LIBC]: Remove.
87062         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87063         a clone of the function body.
87064         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87065         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87066
87067         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87068         glibc.
87069         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87070         arg to memcpy.
87071
87072         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87073         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87074         Don't use lvalue casts, as GCC plans to remove support for them
87075         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87076         was also present in the non-GCC version, indicating that this
87077         code had always been buggy and had never been widely used.
87078         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87079         Use the fast variant of each macro, rather than copying the
87080         definiens of the fast variant; that way, we'll be more likely to
87081         catch future bugs in the fast variants.
87082
87083 2003-10-20  Bruno Haible  <bruno@clisp.org>
87084
87085         * modules/wait-process: New file.
87086         * MODULES.html.sh (func_all_modules): Add wait-process.
87087
87088 2003-10-20  Bruno Haible  <bruno@clisp.org>
87089
87090         * m4/wait-process.m4: New file.
87091
87092 2003-10-20  Bruno Haible  <bruno@clisp.org>
87093
87094         * lib/wait-process.h: New file, from GNU gettext.
87095         * lib/wait-process.c: New file, from GNU gettext.
87096
87097 2003-10-19  Jim Meyering  <jim@meyering.net>
87098
87099         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
87100         HPUX 10.20.
87101
87102 2003-10-18  Karl Berry  <karl@gnu.org>
87103
87104         * config/config.guess: update from config.
87105
87106 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87107
87108         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
87109         (getgroups): First arg is int, not size_t.
87110         Don't let 'free' mangle errno.
87111
87112 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87113
87114         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
87115
87116 2003-10-16  Karl Berry  <karl@gnu.org>
87117
87118         * config/config.{guess,sub}: update from config.
87119
87120 2003-10-16  Jim Meyering  <jim@meyering.net>
87121
87122         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
87123         memcpy.
87124
87125 2003-10-15  Paul Eggert  <eggert@twinsun.com>
87126
87127         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
87128         (SIZE_MAX): Remove.
87129         (new_exclude, add_exclude_file): Initial size no longer needs to
87130         be a power of 2.
87131         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
87132         our own address arithmetic overflow checking.
87133
87134         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
87135         (fnmatch): Do not alloca more than 2000 wide characters;
87136         instead, use malloc for large buffers.
87137         Check for address arithmetic overflow, and return -1
87138         with errno set to ENOMEM in that case.
87139         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
87140         (NEW_PATTERN): Do not alloca more than 8000 bytes;
87141         instead, return -1.  Check for address arithmetic overflow.
87142
87143 2003-10-14  Paul Eggert  <eggert@twinsun.com>
87144
87145         Handle invalid suffixes and overflow independently, so that
87146         callers can treat them independently as needed.  Fix some bugs in
87147         suffix handling, e.g., "100k@" was not diagnosed as an invalid
87148         suffix for a human-readable blocksize.  The major caller-visible
87149         change is the addition of a new
87150         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
87151         that both overflow and suffix chars were found.
87152
87153         * lib/human.c (humblock): Don't check separately for invalid suffix
87154         char; that is xstrtoumax's job (now that its bug is fixed).
87155         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
87156         INTMAX_MAX]: New macros.
87157         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
87158         TYPE_MAXIMUM): New macros.
87159         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
87160         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
87161         if overflow occurs, as it's what __strtol does and it's more useful
87162         in practice.
87163         (__xstrtol): If __strtol reports some error other than ERANGE,
87164         reflect it to the caller as LONGINT_INVALID.  If it reports
87165         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
87166         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
87167         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
87168         value.
87169         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
87170         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
87171         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
87172         [defined UINTMAX_MAX]: New macros.
87173
87174 2003-10-14  Bruno Haible  <bruno@clisp.org>
87175
87176         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
87177
87178 2003-10-14  Bruno Haible  <bruno@clisp.org>
87179
87180         * m4/sig_atomic_t: New file, from GNU gettext.
87181         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
87182
87183 2003-10-14  Bruno Haible  <bruno@clisp.org>
87184
87185         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
87186         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
87187         Also use volatile where needed.
87188
87189 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87190
87191         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
87192         Change maintainer from Bruno Haible to 'all'.
87193
87194 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87195
87196         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
87197
87198 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87199
87200         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
87201         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
87202         and define in terms of the other primitives.
87203         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
87204         (SIZE_MAX): Define if not already defined.
87205         (array_size_overflow): New function.
87206         (xalloc_die): Abort instead of exiting if 'error' returns.
87207         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
87208         (xmalloc, xrealloc): Use them.
87209         (xcalloc): Check for address arithmetic overflow.
87210         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
87211         a bit faster than strcpy.
87212
87213 2003-10-10  Simon Josefsson  <jas@extundo.com>
87214
87215         * modules/argp (Depends-on): Add restrict and strcase.
87216
87217 2003-10-10  Simon Josefsson  <jas@extundo.com>
87218
87219         * m4/argp.m4: Add AC_C_INLINE.
87220
87221 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87222
87223         Merge getpass from libc, plus a few fixes.
87224
87225         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
87226         Include <stdbool.h>.
87227         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
87228         __fsetlocking to empty.
87229         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
87230         do include <bits/libc-lock.h>.
87231         Do not include <fcntl.h>; not needed.
87232         [_LIBC]: Include <wchar.h>.
87233         (NOTCANCEL_MODE): New macro.
87234         (flockfile, funlockfile) [_LIBC]: New macros.
87235         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
87236         [!_LIBC]: New macros.
87237         (call_fclose): New function.
87238         (getpass): Use it.  Save tty stream separately; this simplifies the
87239         code and makes it more reliable if stdin happens to equal stdout.
87240         Invoke __fsetlocking on tty.
87241         Handle thread cancellation if needed.
87242         Namespace cleanup (use __tcgetattr, __getline).
87243         Use bool for Booleans.
87244         [USE_IN_LIBIO]: Handle wide streams.
87245         [!_LIBC]: Unconditionally do the fseek, since we don't know what
87246         stream might go where.
87247
87248         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
87249         doesn't have to include <stdio.h> before us.
87250         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
87251         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
87252         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
87253         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
87254         if not declared, so that we can use getpass.c code from libc without
87255         rewriting it.
87256         (flockfile, ftrylockfile, funlockfile): New macros.
87257
87258 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87259
87260         * modules/getpass: Depend on stdbool.
87261
87262 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87263
87264         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
87265
87266 2003-10-07  Karl Berry  <karl@gnu.org>
87267
87268         * config/config.{guess,sub}: update from config.
87269
87270 2003-10-06  Jim Meyering  <jim@meyering.net>
87271             Bruno Haible  <bruno@clisp.org>
87272
87273         This lets translators provide better translations for the
87274         "Written by ..." part of --version output.
87275         * lib/version-etc.h: Include stdarg.h.
87276         (version_etc_copyright): Declare as readonly.
87277         (version_etc): Make this function variadic with a NULL-terminated list
87278         of author name strings.
87279         (version_etc_va): New declaration.
87280         * lib/version-etc.c: Include stdarg.h, stdlib.h.
87281         (version_etc_copyright): Declare as readonly.
87282         (version_etc_va): New function. Provide a different translatable string
87283         for each possible number of authors < 10. Abbreviate when there are 10
87284         authors or more.
87285         (version_etc): Make this function variadic. Call version_etc_va.
87286         Suggestion from Gary V. Vaughan.
87287
87288         * lib/long-options.h (parse_long_options): Change prototype: the
87289         authors string is moved to the end and becomes variadic.
87290         * lib/long-options.c: Include stdarg.h.
87291         (parse_long_options): Make this function variadic, too.
87292         Call version_etc_va, not version_etc.
87293
87294 2003-10-06  Bruno Haible  <bruno@clisp.org>
87295
87296         * modules/version-etc-2: Remove file.
87297         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
87298
87299 2003-10-06  Bruno Haible  <bruno@clisp.org>
87300
87301         * modules/fatal-signal: New file.
87302         * MODULES.html.sh (func_all_modules): Add fatal-signal.
87303
87304 2003-10-06  Bruno Haible  <bruno@clisp.org>
87305
87306         * m4/fatal-signal.m4: New file.
87307         * m4/signalblocking.m4: New file, from GNU gettext.
87308
87309 2003-10-06  Bruno Haible  <bruno@clisp.org>
87310
87311         * lib/version-etc-2.h: Remove file.
87312         * lib/version-etc-2.c: Remove file.
87313
87314 2003-10-06  Bruno Haible  <bruno@clisp.org>
87315
87316         * lib/fatal-signal.h: New file, from GNU gettext.
87317         * lib/fatal-signal.c: New file, from GNU gettext.
87318
87319 2003-10-05  Paul Eggert  <eggert@twinsun.com>
87320
87321         * README: Rework advice for preventing empty .o files.
87322         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
87323         not <sys/types.h>.
87324
87325 2003-10-04  Karl Berry  <karl@gnu.org>
87326
87327         * lib/argp*: update from libc.
87328
87329 2003-10-04  Karl Berry  <karl@gnu.org>
87330
87331         * config/config.{guess,sub}: update from config.
87332
87333 2003-10-02  Bruno Haible  <bruno@clisp.org>
87334
87335         * modules/lchown (Include): Add lchown.h.
87336         * modules/time_r (Include): Use "..." syntax.
87337         * modules/xgetdomainname (Include): Add xgetdomainname.h.
87338
87339 2003-10-01  Simon Josefsson  <jas@extundo.com>
87340
87341         * MODULES.html.sh (func_all_modules): Move gethostname from section
87342         'based on' to section 'lacking' POSIX:2001.
87343
87344 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
87345
87346         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
87347         to output mode on the same stream.
87348
87349 2003-09-29  Paul Eggert  <eggert@twinsun.com>
87350
87351         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
87352         Fix arg typo in previous patch.
87353
87354 2003-09-28  Jim Meyering  <jim@meyering.net>
87355
87356         * lib/error.c: Correct cpp indentation.
87357
87358 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87359
87360         * modules/free: New file.
87361
87362 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87363
87364         * m4/free.m4: New file.
87365
87366 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87367
87368         * lib/minmax.h (MIN, MAX)
87369         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
87370         Omit the special code that used __typeof__, since we worry that
87371         it could be more trouble than it's worth.  See:
87372         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
87373         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
87374
87375         * lib/free.c: New file.
87376
87377 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
87378
87379         Trivial fixes to Makefile.am parts of module listings.
87380         * modules/strstr: Append strstr.h to lib_SOURCES.
87381         * modules/strcase: Likewise, for strcase.h.
87382
87383 2003-09-27  Karl Berry  <karl@gnu.org>
87384
87385         * config/mkinstalldirs: update from automake.
87386
87387 2003-09-26  Paul Eggert  <eggert@twinsun.com>
87388
87389         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
87390         (error_tail): Do not loop, reallocating temporary buffer, since
87391         the output cannot contain more wide characters than the input
87392         contains bytes, the size must be big enough already.  This avoids
87393         one potential size overflow calculation.  Check for size overflow
87394         when calculating temporary buffer size.  Free temporary buffer
87395         when done, if it was allocated with malloc; this plugs a memory
87396         leak.  Remove casts from void * to pointers, that are no longer
87397         needed now that we're assuming C89 or better.
87398
87399         Merge error changes from glibc.
87400
87401         * lib/error.c, error.h: Update copyright notice header to match glibc.
87402         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
87403         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
87404         Disable cancellation while printing error.
87405         * lib/error.h: Prepend __ to parameter names.
87406
87407 2003-09-26  Jim Meyering  <jim@meyering.net>
87408
87409         * lib/error.c (error_tail): Move some declarations
87410         into inner scope where the local variables are used.
87411
87412 2003-09-26  Bruno Haible  <bruno@clisp.org>
87413
87414         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
87415         stpncpy().
87416         Don't define stpncpy through config.h; it's now done through stpncpy.h.
87417
87418 2003-09-26  Bruno Haible  <bruno@clisp.org>
87419
87420         * lib/stpncpy.h (gnu_stpncpy): New declaration.
87421         (stpncpy): Define as alias for gnu_stpncpy.
87422         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
87423
87424 2003-09-25  Simon Josefsson  <jas@extundo.com>
87425
87426         * lib/xgetdomainname.h: New file.
87427         * lib/xgetdomainname.c: New file.
87428
87429 2003-09-25  Simon Josefsson  <jas@extundo.com>
87430             Bruno Haible  <bruno@clisp.org>
87431
87432         * modules/getdomainname: New file.
87433         * modules/xgetdomainname: New file.
87434         * MODULES.html.sh (func_all_modules): Add getdomainname,
87435         xgetdomainname.
87436
87437 2003-09-25  Simon Josefsson  <jas@extundo.com>
87438             Bruno Haible  <bruno@clisp.org>
87439
87440         * m4/getdomainname.m4: New file.
87441
87442 2003-09-25  Simon Josefsson  <jas@extundo.com>
87443             Bruno Haible  <bruno@clisp.org>
87444
87445         * lib/getdomainname.h: New file.
87446         * lib/getdomainname.c: New file.
87447
87448 2003-09-25  Karl Berry  <karl@gnu.org>
87449
87450         * lib/argp-fmtstream.c, argp-help.c: update from libc.
87451
87452 2003-09-25  Karl Berry  <karl@gnu.org>
87453
87454         * config/install-sh: update from automake.
87455
87456 2003-09-25  Bruno Haible  <bruno@clisp.org>
87457
87458         * modules/version-etc-2: New file, from modules/version-etc with
87459         modifications.
87460         * MODULES.html.sh (func_all_modules): Add version-etc-2.
87461
87462 2003-09-25  Bruno Haible  <bruno@clisp.org>
87463
87464         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
87465         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
87466
87467 2003-09-24  Simon Josefsson  <jas@extundo.com>
87468
87469         * modules/xgethostname: Add xgethostname.h.
87470
87471 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87472
87473         * lib/linebuffer.c (freebuffer): Don't free the argument, just
87474         the buffer associated with the argument.  Bug reported by
87475         Simon Josefsson.
87476
87477 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87478
87479         * README: Document assumptions that 'int' is at least 32 bits
87480         wide, that integer arithmetic is 2's complement without overflow,
87481         that there are no holes in integer values, that adding sizes of
87482         two nonoverlapping objects can't overflow, and that all-bits-zero
87483         yields scalar zero.  Fix spelling and capitalization typos.
87484
87485 2003-09-19  Karl Berry  <karl@gnu.org>
87486
87487         * lib/argp.h: update from libc.
87488
87489 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87490
87491         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
87492         to avoid spurious warnings like "AC_RUN_IFELSE was called before
87493         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
87494
87495 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87496
87497         * gnulib-tool: Use "test -h", not "test -L", for portability
87498         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
87499         (tags_regexp): Remove, since \| doesn't conform to POSIX.
87500         (sed_extract_prog): Issue s commands one-by-one, rather than
87501         using \| in one s command.
87502
87503 2003-09-16  Paul Eggert  <eggert@twinsun.com>
87504
87505         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
87506         input error, instead of returning NULL the next time we are called
87507         (and therefore losing track of errno).
87508
87509 2003-09-16  Bruno Haible  <bruno@clisp.org>
87510
87511         * gnulib-tool (func_create_testdir): Warn about duplicated
87512         dependencies.
87513
87514 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87515
87516         * modules/argmatch, modules/fatal, modules/obstack,
87517         modules/xalloc, modules/xgethostname: Sort dependencies by
87518         importance, not alphabetically.
87519
87520 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87521
87522         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
87523         fails, so that the caller gets the proper errno.
87524
87525         * lib/readutmp.c (read_utmp): Likewise.
87526         Check for fstat error.  Close stream and free storage
87527         when failing.
87528
87529 2003-09-14  Karl Berry  <karl@gnu.org>
87530
87531         * config/srclist.txt (strdup.c): disable for c89 changes.
87532
87533 2003-09-14  Jim Meyering  <jim@meyering.net>
87534
87535         * lib/getloadavg.c: Correct cpp indentation.
87536         * lib/strdup.c: Likewise.
87537         * lib/vasnprintf.c: Likewise.
87538
87539 2003-09-14  Bruno Haible  <bruno@clisp.org>
87540
87541         * modules/fwriteerror: New file.
87542         * MODULES.html.sh (func_all_modules): Add fwriteerror.
87543
87544 2003-09-14  Bruno Haible  <bruno@clisp.org>
87545
87546         * lib/fwriteerror.h: New file.
87547         * lib/fwriteerror.c: New file.
87548
87549 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87550
87551         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
87552         modules/xgethostname, modules/xalloc: Depend on exit.
87553
87554 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87555
87556         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
87557
87558         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
87559         and AC_MINIX, too, so that their extensions are available.
87560
87561         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
87562         This macro has been superseded by gl_BACKUPFILE.
87563
87564         More patches to assume C89 or better.
87565
87566         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
87567
87568         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
87569         unconditionally.
87570         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
87571         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
87572         Include <string.h>, <stdlib.h> unconditionally.
87573         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
87574         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
87575         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
87576         headers or for string.h.
87577         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
87578         or strtoul.
87579
87580         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
87581         headers.
87582         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
87583         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87584         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
87585         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
87586         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87587         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
87588         memcpy, memset.
87589         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
87590         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
87591         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
87592         strtol.
87593         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
87594         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
87595         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
87596         strtoul.
87597
87598 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87599
87600         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
87601         * lib/obstack.c [!defined _LIBC]: Likewise.
87602         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
87603         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
87604         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
87605
87606         More changes to assume C89 or better.
87607
87608         * lib/error.c (error_tail): Assume vprintf.
87609
87610         * lib/argmatch.c (getenv): Remove decl.
87611         * lib/progreloc.c (get_full_program_name): Define via prototype.
87612         * lib/setenv.c (clearenv): Likewise.
87613         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
87614         needed.
87615         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
87616         (malloc, memcpy): Remove decls.
87617         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
87618         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
87619         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87620         (memcpy): Remove macro.
87621         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
87622         (__P): Remove.  All uses removed.
87623         (PTR): Remove.  All uses changed to void *.
87624         (CHAR_BIT, NULL): Remove.
87625         (spaces, zeros, memset_space, memset_zero)
87626         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
87627         Remove.
87628         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
87629         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
87630         Define with prototype.
87631         Remove now-unnecessary prototype decl.
87632         (extra_args_spec): Assume ANSI C.  All uses changed.
87633         (extra_args_spec_iso): Remove.
87634         (my_strftime, emacs_strftimeu): Define via prototype.
87635         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
87636         unconditionally.
87637         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
87638         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
87639         (strtoul, strtol): Remove decls.
87640         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
87641         LONG_MAX): Remove.
87642         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87643         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
87644         (LOCALE_PARAM_PROTO): New macro.
87645         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
87646         (INTERNAL (strtol), strtol): Define with a prototype.
87647         (PARAMS): Remove.  All uses removed.
87648         * lib/tempname.c: Include <string.h> unconditionally.
87649         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
87650         * lib/xgethostname.c (main): Define with a prototype.
87651         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
87652         Include <stdlib.h> unconditionally.
87653         (calloc, malloc, realloc, free): Remove decls.
87654         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
87655         Include <stdlib.h> unconditionally.  Sort include file names.
87656         (strtod): Remove.
87657         (xstrtod): Define with a prototype.
87658         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
87659         (strtol, strtoul): Remove decls.
87660
87661 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87662
87663         More patches to assume C89 or better.
87664         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
87665         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
87666         string.h, memchr, STDC_HEADERS.
87667
87668 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87669
87670         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
87671         Include <stdlib.h>, <string.h> unconditionally.
87672         Remove now-unnecessary cast to char *.
87673         * lib/strnlen.c: Include <string.h> unconditionally.
87674         * lib/yesno.c (yesno): Define with a prototype.
87675
87676 2003-09-11  Bruno Haible  <bruno@clisp.org>
87677
87678         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
87679
87680 2003-09-10  Jim Meyering  <jim@meyering.net>
87681
87682         * lib/error.c: Correct indentation of cpp directives.
87683
87684 2003-09-10  Bruno Haible  <bruno@clisp.org>
87685
87686         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
87687         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
87688         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
87689         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
87690         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
87691         <stdlib.h> and <string.h> checks.
87692         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
87693         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
87694
87695 2003-09-10  Bruno Haible  <bruno@clisp.org>
87696
87697         * lib/strcspn.c: Include <string.h> unconditionally.
87698         * lib/strpbrk.c: Include <string.h> unconditionally.
87699         * lib/strstr.c: Include <string.h> unconditionally.
87700         * lib/unicodeio.c: Include <string.h> unconditionally.
87701         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
87702         * lib/unsetenv.c: Likewise.
87703         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
87704         * lib/yesno.c: Include <stdlib.h> unconditionally.
87705         (rpmatch): Add prototype.
87706
87707 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87708
87709         More patches to assume C89 or better.
87710         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
87711         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
87712         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
87713         or for string.h.
87714         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
87715         stdlib.h.
87716         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
87717         C headers.
87718         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
87719         string.h.
87720         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
87721         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
87722         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
87723         or for string.h.
87724         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
87725         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
87726         C headers.
87727         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
87728         memcpy.
87729         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
87730         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
87731         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
87732         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
87733         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
87734         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
87735         string.h, free.
87736         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
87737         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
87738         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
87739         C headers, or for string.h.
87740         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
87741         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
87742         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
87743         headers, memory.h, stdlib.h, string.h, strings.h.
87744         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
87745         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
87746         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
87747         strchr.
87748         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
87749         headers, memory.h, string.h.
87750         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
87751         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
87752         free.
87753         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
87754         headers.
87755         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
87756         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
87757         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
87758         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
87759         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
87760
87761 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87762
87763         More K&R removal.
87764
87765         * lib/acosl.c (main): Use a prototype.
87766         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
87767         tanl.c: Likewise.
87768
87769         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
87770
87771         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
87772         (getopt, etopt_long, getopt_long_only, _getopt_internal)
87773         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
87774         with a prototype.
87775         * lib/getopt.c (const): Remove macro.
87776         Include <string.h> unconditionally.
87777         (my_index): Remove; all uses changed to strchr.
87778         (strlen): Remove decl.
87779         (exchange): Remove forward decl; no longer needed.
87780         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
87781         Define with prototype.
87782         * lib/getopt1.c (const): Remove macro.
87783         (getopt_long, getopt_long_only, main): Define with prototype.
87784
87785         * lib/getugroups.c: Include <string.h> unconditionally.
87786
87787         * lib/getusershell.c: Include <stdlib.h> unconditionally.
87788         (getusershell, setusershell, endusershell, readname, main):
87789         Define with prototypes.
87790
87791         * lib/group-member.c: Include group-member.h first.
87792         Include <stdlib.h> unconditionally.
87793
87794         * lib/hard-locale.c: Include hard-locale.h first.
87795         Include <stdlib.h>, <string.h> unconditionally.
87796
87797         * lib/hash.c (free, malloc): Remove decls.
87798         Include <stdlib.h> unconditionally.
87799
87800         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
87801         (getenv): Do not declare.
87802
87803         * lib/idcache.c: Include <string.h> unconditionally.
87804
87805         * lib/long-options.c: Include long-options.h first, to test interface.
87806         Include <stdlib.h> unconditionally.
87807
87808         * lib/makepath.c: Include makepath.h first, to test interface.
87809         Include <stdlib.h> and <string.h> unconditionally.
87810
87811         * lib/linebuffer.c: Include <stdlib.h>.
87812         (free): Remove decl.
87813
87814         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
87815         stddef.h. rpl_malloc returns void *, not char *.
87816         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
87817         prototype.
87818
87819         * lib/md5.h: Include <limits.h> unconditionally.
87820         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
87821         (__P): Remove; all uses removed.
87822         * lib/md5.c: Include "md5.h" first.
87823         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
87824         md5_buffer, md5_process_bytes, md5_process_block):
87825         Define with prototypes.
87826         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
87827         * lib/sha.c: Include "sha.h" first.
87828         Include <stdlib.h>, <string.h> unconditionally.
87829
87830         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
87831         * lib/memcmp.c (__ptr_t): Likewise.
87832         * lib/memrchr.c (__ptr_t): Likewise.
87833         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
87834         Include <string.h> unconditionally.
87835         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
87836         * lib/memchr.c: Include <stdlib.h> unconditionally.
87837         * lib/memchr.c (LONG_MAX): Remove.
87838         * lib/memrchr.c (LONG_MAX): Likewise.
87839         * lib/memchr.c (__memchr): Define via a prototype.
87840         * lib/memrchr.c (__memrchr): Likewise.
87841         * lib/memcmp.c (__P): Remove, and remove all uses.
87842         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
87843         Remove forward decls; no longer needed.
87844         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
87845         Use types required by C89 in prototype.
87846
87847         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
87848         * lib/savedir.c: Likewise.
87849         * lib/mkdir.c (free): Remove decl.
87850         * lib/rmdir.c (rmdir): Define with a prototype.
87851         * lib/savedir.c: Include savedir.h first, to test interface.
87852
87853         * lib/mktime.c (STDC_HEADERS): Remove.
87854         Include <stdlib.h>, <string.h> unconditionally.
87855
87856         * lib/modechange.c: Include <stdlib.h> unconditionally.
87857         (malloc): Remove decl.
87858
87859         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
87860         (free): Remove decl.
87861
87862         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
87863         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
87864         (This type really should be intptr_t, but that's a C99ism.)
87865         (_obstack_memcpy): Remove: all uses changed to memcpy.
87866         Include <string.h> unconditionally.
87867         (struct obstack): Assume __STDC__ for types of members
87868         chunkfun, freefun, extra_arg.
87869         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
87870         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
87871         obstack_begin, obstack_specify_allocation,
87872         obstack_specify_allocation_with_arg, obstack_chunkfun,
87873         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
87874         Remove unprototyped decls and the macros that use them.
87875         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
87876         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
87877         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
87878         (defined __STDC__ && __STDC__)]:
87879         Remove nonprototyped code.
87880         Include <stdlib.h> unconditionally.
87881         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
87882         _obstack_allocated_p, _obstack_free, obstack_free,
87883         _obstack_memory_used, print_and_abort):
87884         Define using prototypes.
87885         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
87886         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
87887         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
87888         obstack_next_free, obstack_object_size, obstack_room) [0]:
87889         Remove unused, unprototyped code.
87890
87891         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
87892
87893         * lib/physmem.c (physmem_total, physmem_available, main): Define
87894         with prototypes.
87895
87896         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
87897         (main): Define with a prototype.
87898
87899         * lib/posixver.c (getenv): Remove decl.
87900
87901         * lib/putenv.c (malloc): Returns void *, not char *.
87902         Include <string.h> unconditionally.
87903         (strchr, memcpy, NULL): Do not define.
87904
87905         * lib/readtokens.c: Include readtokens.h first, to test interface.
87906         Include <stdlib.h>, <string.h> unconditionally.
87907         (init_tokenbuffer): Define with a prototype.
87908
87909         * lib/regex.c (PARAMS): Remove.  All uses removed.
87910         All uses of _RE_ARGS removed, too.
87911         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
87912         unconditionally.
87913         (bzero): Assume memset exists.
87914         (memcmp, memcpy, NULL): Remove.
87915         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
87916         char, or assignments to local vars of type signed char.
87917         (init_syntax_once, PREFIX(extract_number_and_incr),
87918         PREFIX(print_partial_compiled_pattern),
87919         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
87920         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
87921         PREFIX(regex_grow_registers), PREFIX(regex_compile),
87922         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
87923         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
87924         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
87925         wcs_compile_range, byte_compile_range, truncate_wchar,
87926         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
87927         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
87928         count_mbs_length, wcs_re_match_2_internal,
87929         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
87930         PREFIX(alt_match_null_string_p),
87931         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
87932         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
87933         regfree, PREFIX(extract_number)): Define with prototype.  Remove
87934         now-unnecessary declaration, if any.
87935         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
87936         regcomp, regexec):
87937         Remove now-unnecessary casts among pointer types.
87938         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
87939
87940         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
87941         (free): Remove decl.
87942
87943         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
87944
87945         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
87946         (free): Remove decl.
87947
87948         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
87949         * lib/xgetcwd.c: Likewise.
87950
87951         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
87952         (free): Remove decl.
87953
87954         * lib/strchrnul.c (strchrnul): Define with a prototype.
87955         Fix bug: c_in was not converted to char before searching.
87956
87957         The following changes are not K&R related:
87958
87959         * lib/group-member.h: Include <sys/types.h>, so that this file is
87960         self-contained.
87961         * lib/makepath.h: Likewise.
87962
87963         * lib/getusershell.c (readname, default_index, line_size, readname):
87964         Use size_t, not int, for sizes.
87965         (readname): If the size overflows, report an error instead of
87966         looping forever.
87967
87968 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87969
87970         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
87971         libc.
87972
87973 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87974
87975         * README: New section: portability guidelines.
87976
87977 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
87978
87979         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
87980         C89 spec.
87981
87982 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
87983
87984         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
87985
87986 2003-09-08  Paul Eggert  <eggert@twinsun.com>
87987
87988         Assume C89 or better; remove K&R cruft.
87989         A few of these changes were first proposed by Derek Robert Price
87990         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
87991
87992         * lib/addext.c: Include <string.h> unconditionally.
87993         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
87994         Don't declare getenv or malloc.
87995
87996         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
87997         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
87998         (NULL): Remove.
87999         (find_stack_direction, alloca): Use prototypes.
88000
88001         * lib/atexit.c (atexit): Define using a prototype.
88002
88003         * lib/basename.c, dirname.c, stripslash.c:
88004         Include <string.h> unconditionally.
88005
88006         * lib/bcopy.c: Include <stddef.h>.
88007         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88008
88009         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88010
88011         * lib/error.h (error, error_at_line, error_print_progname)
88012         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88013         * lib/error.c: Include error.h first, to check interface.
88014         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88015         (VA_START): Remove; all uses changeed to va_start.
88016         (exit, strerror): Remove decls.
88017         (error_print_progname): Prototype uncondionally.
88018         Don't include <errno.h>; no longer needed.
88019         (private_strerror): Remove.
88020         (error_tail): Always define.
88021         (error, error_at_line): Assume C89 or better; always use prototypes.
88022         * lib/fatal.c: Include "fatal.h" first, to test interface.
88023         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88024         (VA_START): Remove; all uses changed to va_start.
88025         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88026         this case.
88027         (exit): Remove decl.
88028         (fatal): Prototype unconditionally.  Assume va_start works.
88029         Abort at end, to pacify gcc.
88030
88031         * lib/euidaccess.c (main): Define with a prototype.
88032
88033         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88034
88035         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88036
88037         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88038         prototypes.
88039         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88040         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88041         (getenv): Remove decl.
88042         (fnmatch): Define using a prototype.
88043         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88044         (FCT): Define using a prototype.
88045
88046         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88047
88048         * lib/gethostname.c: Include <stddef.h>.
88049         (gethostname): Define with prototype.  Length is size_t, not int.
88050
88051 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88052
88053         Assume C89 or better; remove K&R cruft.
88054         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88055         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88056         string.h, getenv, malloc.
88057         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88058         headers.
88059         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88060         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88061         do not check for strerror.
88062         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88063         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88064         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88065         do not check for doprnt or vprintf.
88066         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88067         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88068
88069 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88070
88071         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88072         getversion.c should have been removed then, but was accidentally
88073         preserved.
88074
88075         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88076         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88077
88078 2003-09-08  Karl Berry  <karl@gnu.org>
88079
88080         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88081                 config, forget about prep.
88082
88083         * config/depcomp, missing: update from automake.
88084
88085 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88086
88087         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88088         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88089
88090 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88091
88092         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88093         copy_tm_result.  Bug reported by Simon Josefsson in
88094         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88095
88096 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88097
88098         * m4/time_r.m4: New file.
88099         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
88100         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
88101         is. Check for timegm declaration.
88102         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
88103         Do not check for gmtime_r.
88104         Replace mktime if __mktime_internal does not exist and if mktime
88105         hasn't been replaced already.
88106
88107 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88108
88109         * lib/time_r.c, lib/time_r.h: New files.
88110
88111         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
88112         __localtime_r.
88113         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
88114         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
88115
88116         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
88117         __gmtime_r.
88118         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
88119         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
88120         Include <time_r.h>.
88121
88122         * lib/timegm.c: Switch to glibc implementation, with the following
88123         changes:
88124         [defined HAVE_CONFIG_H]: Include <config.h>.
88125         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
88126         (__mktime_internal) [!defined _LIBC]: New decl.
88127         (__gmtime_r) [!defined _LIBC]: New macro and function.
88128         (timegm): Use a prototype, since gnulib assumes C89.
88129         Do not bother declaring tmp to be const, as it's not really usefu.
88130         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
88131         (timegm): Declare only if HAVE_DECL_TIMEGM.
88132
88133 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88134
88135         * MODULES.html.sh (func_all_modules): Add time_r.
88136         * modules/time_r: New file.
88137         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
88138         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
88139
88140 2003-09-03  Paul Eggert  <eggert@twinsun.com>
88141
88142         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
88143         Bug reported by Lute Kamstra in
88144         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
88145
88146         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
88147         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
88148         course with correspondingly smaller numbers for tomorrow and
88149         yesterday.  From Tadayoshi Funaba.  Originally installed into
88150         sh-utils on 1999-08-07, but the patch got lost (I guess during the
88151         coreutils merge?).
88152
88153 2003-08-31  Simon Josefsson  <jas@extundo.com>
88154
88155         * modules/timegm: New file.
88156         * MODULES.html.sh (func_all_modules): Add timegm.
88157
88158 2003-08-31  Simon Josefsson  <jas@extundo.com>
88159
88160         * m4/timegm.m4: New file.
88161
88162 2003-08-31  Simon Josefsson  <jas@extundo.com>
88163
88164         * lib/timegm.h: New file.
88165         * lib/timegm.c: New file.  Based on
88166         wget-1.8.2/src/http.c:mktime_from_utc.
88167
88168 2003-08-31  Karl Berry  <karl@gnu.org>
88169
88170         * lib/argp.h: update from libc.
88171
88172 2003-08-28  Bruno Haible  <bruno@clisp.org>
88173
88174         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
88175         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
88176         followed by '#define fnmatch fnmatch_posix' gives an error.
88177
88178 2003-08-28  Bruno Haible  <bruno@clisp.org>
88179
88180         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
88181         warning on QNX, which defines O_BINARY to 000000.
88182
88183 2003-08-27  Jim Meyering  <jim@meyering.net>
88184
88185         * m4/mkstemp.m4: Require that the system mkstemp be able to create
88186         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
88187         would fail after 32.  Reported by Danny Levinson.  Details here:
88188         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
88189
88190 2003-08-24  Bruno Haible  <bruno@clisp.org>
88191
88192         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
88193         MSVC7 <stdio.h> is included later.
88194
88195 2003-08-22  Simon Josefsson  <jas@extundo.com>
88196
88197         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
88198
88199 2003-08-20  Karl Berry  <karl@gnu.org>
88200
88201         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
88202
88203 2003-08-20  Bruno Haible  <bruno@clisp.org>
88204
88205         * modules/progname: New file.
88206         * MODULES.html.sh (func_all_modules): Add progname.
88207
88208 2003-08-20  Bruno Haible  <bruno@clisp.org>
88209
88210         * lib/progname.h: New file, from GNU gettext.
88211         * lib/progname.c: New file, from GNU gettext.
88212         * lib/progreloc.c: New file, from GNU gettext.
88213
88214 2003-08-19  Jim Meyering  <jim@meyering.net>
88215
88216         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
88217         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
88218
88219 2003-08-19  Bruno Haible  <bruno@clisp.org>
88220
88221         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
88222         more.
88223
88224 2003-08-19  Bruno Haible  <bruno@clisp.org>
88225
88226         * lib/xstrdup.c: Assume <string.h> exists.
88227
88228 2003-08-18  Paul Eggert  <eggert@twinsun.com>
88229
88230         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
88231         in makefile rules.
88232
88233 2003-08-18  Jim Meyering  <jim@meyering.net>
88234
88235         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
88236         * m4/lib-ld.m4: Likewise.
88237
88238 2003-08-18  Jim Meyering  <jim@meyering.net>
88239
88240         * lib/setenv.h: Indent nested cpp directive.
88241         * lib/vasnprintf.c: Remove trailing blanks.
88242
88243 2003-08-17  Simon Josefsson  <jas@extundo.com>
88244
88245         * modules/xstrndup: New file.
88246         * MODULES.html.sh (func_all_modules): Add xstrndup.
88247
88248 2003-08-17  Simon Josefsson  <jas@extundo.com>
88249
88250         * modules/argp: Fix autoconf macro name. Add more dependencies.
88251
88252 2003-08-17  Simon Josefsson  <jas@extundo.com>
88253
88254         * m4/xstrndup.m4: New file.
88255
88256 2003-08-17  Simon Josefsson  <jas@extundo.com>
88257
88258         * m4/argp.m4: New file.
88259
88260 2003-08-17  Simon Josefsson  <jas@extundo.com>
88261             Bruno Haible  <bruno@clisp.org>
88262
88263         * lib/xstrndup.h: New file.
88264         * lib/xstrndup.c: New file.
88265
88266 2003-08-17  Bruno Haible  <bruno@clisp.org>
88267
88268         * modules/strndup (Files, Include): Add lib/strndup.h.
88269
88270 2003-08-17  Bruno Haible  <bruno@clisp.org>
88271
88272         * modules/euidaccess (Files): Add lib/euidaccess.h.
88273
88274 2003-08-17  Bruno Haible  <bruno@clisp.org>
88275
88276         * lib/strndup.h: New file.
88277
88278 2003-08-17  Bruno Haible  <bruno@clisp.org>
88279
88280         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
88281         like AC_GNU_SOURCE.
88282         * modules/extensions (configure.ac): Comment out the invocation of
88283         gl_USE_SYSTEM_EXTENSIONS.
88284
88285 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88286
88287         Merges from coreutils, etc.
88288         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
88289         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
88290         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
88291         fixing a typo.
88292         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
88293         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
88294
88295 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88296
88297         Document merge from coreutils.
88298         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
88299         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
88300         * modules/utime: Add m4/utimes-null.m4.
88301
88302 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88303
88304         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
88305         space, undoing this 2003-08-12 change:
88306         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88307
88308 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88309
88310         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
88311         strtoul.c from libc, undoing this 2003-08-12 change:
88312         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88313
88314 2003-08-16  Jim Meyering  <jim@meyering.net>
88315
88316         Merges from coreutils.
88317         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
88318         prefix.  Adjust cache variables similarly.  Create 500 rather than
88319         just 300 files, to exercise bug on Darwin6.5, too.
88320         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
88321         $missing_dir.
88322         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
88323         AM_SYS_POSIX_TERMIOS.
88324         Reported by mkc@mathdogs.com.
88325         Also change use of $am_cv_sys_posix_termios
88326         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
88327         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
88328         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
88329         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
88330         in /proc/mounts until it finds one with matching device number.  This
88331         is unnecessary when the FILE argument *is* a mount point.  No stat call
88332         is necessary in that case.  So, disable the statvfs-testing code on
88333         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
88334         as RedHat bug# 84846.
88335         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88336         to 1MB, so as not to render systems with no stack size limit (e.g.,
88337         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88338         Include <unistd.h>.  On some systems,
88339         it is required for the definition of _SC_PAGESIZE.
88340
88341 2003-08-16  Jim Meyering  <jim@meyering.net>
88342
88343         Merge from coreutils.
88344         * lib/xstrtoimax.c: #else #if -> #elif.
88345         * lib/xstrtoumax.c: Likewise.
88346
88347 2003-08-16  Jim Meyering  <jim@meyering.net>
88348
88349         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
88350         * m4/utimes.m4: Removed.
88351         * m4/utimes-null.m4: Renamed from utimes.m4.
88352
88353         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88354         to 1MB, so as not to render systems with no stack size limit (e.g.,
88355         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88356         Include <unistd.h>.  On some systems,
88357         it is required for the definition of _SC_PAGESIZE.
88358
88359 2003-08-16  Jim Meyering  <jim@meyering.net>
88360         and Paul Eggert  <eggert@cs.ucla.edu>
88361
88362         Merges from coreutils, etc.
88363
88364         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
88365         using the latest version from cvs.  This avoids problems with #line
88366         directives using a vendor (Sun) compiler.
88367         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
88368         Don't set GETGROUPS_LIB here; now it's
88369         done via getgroups.m4's wrapper function.
88370         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
88371         rather than just in sh-util/configure.in, so that the
88372         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
88373         same.
88374         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
88375         AC_FUNC_GETLOADAVG where to find getloadavg.c.
88376         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
88377         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
88378         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
88379         Remove code that is now done by the newly-required macros.
88380         Append $(EXEEXT) to DF_PROG.
88381         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
88382         Do not invoke or require the following here,
88383         since prereq.m4 or some gnulib .m4 now does this for us:
88384         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
88385         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
88386         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
88387         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
88388         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
88389         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
88390         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
88391         AC_FUNC_OBSTACK.
88392         Do not replace the following functions, as this is now the job
88393         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
88394         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
88395         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
88396         atexit getpass, strdup, getpagesize.
88397         Replace 'raise'.
88398         Do not check for the following functions, as this is now the job
88399         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
88400         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
88401         setregid.
88402         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
88403         Check for sys/sysctl.h.
88404         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
88405         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
88406         of checking for ssize_t ourselves.
88407
88408         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
88409         Require every macro that gnulib/modules/* suggests for us.
88410         (jm_PREREQ_ADDEXT): New macro.
88411         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
88412         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
88413
88414         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
88415         (gl_PHYSMEM): Use it.
88416         Also check for `table' function.
88417         Check for new headers and functions.
88418         Add check for sys/sysmp.h.
88419         With suggestions from Kaveh Ghazi.
88420         Ignore headers that are present but cannot be compiled.  This
88421         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
88422         C 5.4.
88423
88424 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88425
88426         Document merge from coreutils.
88427         * modules/userspec: Depend on posixver.
88428         * modules/strftime: Depend on tzset.
88429
88430 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88431
88432         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
88433         rather than tab, after '#' in shell-script copyright notices.
88434         Suggested by Bruno Haible.
88435
88436 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88437
88438         * config/srclist-update: Use three spaces, rather than tab, after '#'
88439         in shell-script copyright notices.  Suggested by Bruno Haible.
88440         Remove unnecessary parenthesization in regular expression.
88441
88442 2003-08-15  Jim Meyering  <jim@meyering.net>
88443
88444         Merge from coreutils.
88445         * lib/xgethostname.c: Include <stdlib.h>.
88446         (xghostname): Don't exit for anything other than memory-related
88447         failure; just return NULL.
88448         * lib/userspec.c: Include "posixver.h".
88449         (parse_user_spec): Accept `.' as a separator only
88450         in pre-POSIX-200112 mode.
88451         * lib/strtoimax.c: Use #elif rather than #else #if.
88452         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
88453         Remove function, now that we can rely on a working tzset function.
88454         [!_LIBC]: Ensure that the required autoconf test has been run.
88455         [!defined _NL_CURRENT && HAVE_STRFTIME]:
88456         Use underlying_strftime for %r.
88457         * lib/sha.c: Merge in some clean-up and optimization changes from
88458         glibc.
88459         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
88460         Ensure that it is a multiple of 64.
88461         Rearrange loop exit tests so as to avoid performing an
88462         additional fread after encountering an error or EOF.
88463         * lib/realloc.c: Update copyright date.
88464
88465 2003-08-15  Jim Meyering  <jim@meyering.net>
88466         and Paul Eggert  <eggert@twinsun.com>
88467
88468         Merge from coreutils.
88469         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
88470         member but strut utmpx does not.  Needed for AIX 4.3.3.
88471         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
88472
88473 2003-08-15  Jim Meyering  <jim@meyering.net>
88474         and Paul Eggert  <eggert@cs.ucla.edu>
88475
88476         Merges from coreutils, etc.
88477         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
88478         Require gl_FUNC_TZSET_CLOBBER.
88479         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
88480         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
88481         members.
88482
88483 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88484
88485         Help the merge from coreutils.
88486         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
88487         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
88488         * m4/tzset.m4: Use it too.
88489
88490 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88491
88492         * modules/tzset: New file.
88493
88494 2003-08-14  Jim Meyering  <jim@meyering.net>
88495
88496         Merges from coreutils.
88497         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
88498         variable names, rather than @FNMATCH_H@.
88499         * modules/alloca: Likewise for $(ALLOCA_H).
88500
88501         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
88502         the three copies of the literal target, `fnmatch.h'.
88503         * modules/alloca (alloca.h): Likewise.
88504
88505 2003-08-14  Jim Meyering  <jim@meyering.net>
88506
88507         Merge from coreutils.
88508         * m4/tzset.m4: New file.
88509         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
88510         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
88511         otherwise, AIX 5.1 systems would end up using the latter.
88512         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
88513         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
88514         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
88515         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
88516
88517 2003-08-14  Jim Meyering  <jim@meyering.net>
88518
88519         Merge from coreutils.
88520         * lib/obstack.h: Whitespace changes.
88521         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
88522         and xcalloc return values.
88523         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
88524         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
88525         hang on OSF/1 5.1 for DIR on both local and remote file systems.
88526         Reported by (and fix confirmed by) Nelson H. F. Beebe.
88527         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88528         error from mntctl.
88529         Use mntctl's return value to drive the entry-processing loop, since
88530         we can't rely on the value of the vmt_length member in the last
88531         entry.  On some systems doing so could result in exhausting
88532         virtual memory.  Based in part on a patch from Mike Jetzer.
88533
88534 2003-08-14  Jim Meyering  <jim@meyering.net>
88535         and Paul Eggert  <eggert@twinsun.com>
88536
88537         Merges from coreutils, plus other fixes.
88538         * lib/physmem.c: Merge in portability changes from gcc/libiberty
88539         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
88540         for credits and details.  Thanks to Kaveh Ghazi for helping
88541         to keep these files in sync.
88542         (ARRAY_SIZE): Define it.
88543         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
88544         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
88545         (memcasecmp): Don't assume size_t fits in unsigned int.
88546         Remove casts and duplicate code.
88547         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
88548         (memcpy): Remove definition.
88549         Merge in some clean-up and optimization changes from glibc.
88550         [BLOCKSIZE]: Move definition to top of file.
88551         Ensure that it is a multiple of 64.
88552         Rearrange loop exit tests so as to avoid performing an
88553         additional fread after encountering an error or EOF.
88554         * lib/md5.h (md5_uintptr): Define.
88555         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
88556         return to the initial working directory.  Preserve errno
88557         for caller.
88558         * lib/idcache.c: Include "xalloc.h".
88559         (xmalloc, xrealloc): Remove decls.
88560         (getuser): Remove casts no longer required in C89.
88561         * lib/human.c: Include stdio.h, for sprintf.
88562         * lib/group-member.c: Include "xalloc.h".
88563         (xmalloc, xrealloc): Remove decls.
88564         (get_group_info): Remove casts no longer required in C89.
88565         * lib/getusershell.c (readname): Remove casts no longer required in
88566         C89.
88567         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
88568         * lib/getline.c: Whitespace fix, from coreutils.
88569
88570 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88571
88572         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
88573         Check for isascii.
88574
88575         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88576         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88577         Undo previous (whitespace-only) change.
88578
88579 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88580
88581         * lib/exclude.c: Include <ctype.h>
88582         (IN_CTYPE_DOMAIN): New macro.
88583         (is_space): New fn.
88584         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
88585         and empty lines.
88586
88587         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88588         Undo previous (whitespace-only) change.
88589
88590 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88591
88592         * config/srclist-update: Change update back to the old behavior,
88593         leaving whitespace alone.  Use one 'sed' command rather than a
88594         pipeline.
88595         (fixlicense): Now a variable, not a function.
88596         (remove_trailing_blanks): Remove.
88597         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
88598         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88599         Undo previous (whitespace-only) change.
88600
88601 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88602
88603         Merge from coreutils.
88604         * modules/euidaccess: Add lib_SOURCES, include for new
88605         file euidaccess.h
88606
88607 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88608
88609         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88610         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88611         Normalize leading white space and remove trailing white space.
88612
88613         Merge from coreutils
88614         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
88615
88616         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
88617         0.12.1.  These files are now being upgraded automatically by
88618         ../config/srclist-update.
88619
88620 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88621
88622         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88623         Normalize leading white space and remove trailing white space.
88624         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
88625         notice, as per ../config/srclist-update.
88626
88627         Merge from coreutils.
88628         * lib/euidaccess.h: New file.
88629         * lib/euidaccess.c: Include it.
88630         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
88631         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
88632         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
88633
88634 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88635
88636         * config/srclist-update: Add copyright notice.
88637         (remove_id_lines, remove_trailing_blanks): New constants.
88638         (fixfile): Use them to normalize spacing a bit in copied files.
88639         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88640         Normalize leading white space and remove trailing white space.
88641
88642         * config/texinfo.tex: Sync with texinfo.
88643
88644         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
88645         strtoul.c from libc, to merge coreutils whitespace changes.
88646
88647         * config/srclist.txt: Get the following m4 files from gettext:
88648         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
88649         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
88650         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
88651         wint_t.m4.
88652
88653 2003-08-12  Karl Berry  <karl@gnu.org>
88654
88655         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
88656         been made.
88657
88658 2003-08-11  Paul Eggert  <eggert@twinsun.com>
88659
88660         * modules/gnu-source, m4/gnu-source.m4:
88661         Remove; we're assuming Autoconf 2.54 or later now.
88662         Suggested by Bruno Haible.
88663         * MODULES.html.sh (func_all_modules): Remove gnu-source.
88664
88665 2003-08-11  Bruno Haible  <bruno@clisp.org>
88666
88667         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
88668
88669 2003-08-11  Bruno Haible  <bruno@clisp.org>
88670
88671         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
88672         (vasnprintf): Use it instead of wcslen.
88673
88674 2003-08-11  Bruno Haible  <bruno@clisp.org>
88675
88676         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
88677         value to ensure that _Bool promotes to int. Use #define for _Bool when
88678         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
88679
88680 2003-08-10  Karl Berry  <karl@gnu.org>
88681
88682         * lib/regex.h: update from libc (whitespace fix).
88683
88684 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88685
88686         Merge some files from coreutils.  These changes were
88687         originally made by Jim Meyering.
88688         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
88689         many older Unixes require this.
88690         * lib/alloca.c (alloca): Remove cast to argument of free;
88691         no longer needed in C89.
88692         * lib/alloca_.h, regex.h: Fix white space to match
88693         what GNU indent does.
88694
88695 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88696
88697         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
88698         apparently Emacs's Unicode mode got confused before my 2003-08-05
88699         checkin.
88700
88701 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88702
88703         * m4/extensions.m4: New file.
88704         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
88705         Require gl_USE_SYSTEM_EXTENSIONS.
88706         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
88707         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
88708
88709 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88710
88711         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
88712         * modules/extensions, modules/gnu-source: New files.
88713         * modules/timespec, modules/unlocked-io: Depend on extensions.
88714
88715 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88716
88717         * modules/restrict: New file.
88718         * MODULES.html.sh (func_all_modules): Add restrict.
88719         * modules/regex: Depend on restrict.
88720
88721 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88722
88723         * m4/restrict.m4: New file.
88724         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
88725
88726 2003-08-07  Bruno Haible  <bruno@clisp.org>
88727
88728         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
88729         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
88730
88731 2003-08-07  Bruno Haible  <bruno@clisp.org>
88732
88733         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
88734         makes the module 'getndelim2' compatible with the module 'getline'.
88735
88736 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88737
88738         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
88739         byte with "\201" to avoid glitches when editing that source file
88740         with multi-gnome-terminal.
88741
88742 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88743
88744         * lib/bumpalloc.h: Remove.
88745
88746 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88747
88748         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
88749         * modules/bumpalloc: Remove.
88750
88751 2003-08-04  Paul Eggert  <eggert@twinsun.com>
88752
88753         * lib/getloadavg.c: Change copyright notice and spacing to conform to
88754         GNU coding style.
88755
88756         Merge from coreutils.
88757         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
88758         1. From glibc.
88759         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
88760         from Karl Berry, implemented by Jim Meyering.
88761         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
88762         from Dmitry V. Levin.
88763         Remove anachronistic cast of xrealloc.
88764         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
88765         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
88766         type. Otherwise, it wouldn't compile with at least /bin/cc on
88767         ymp-cray-unicos9.0.2.X.
88768         Combine two mostly-identical uses of alloca into one.
88769         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
88770
88771 2003-08-04  Dave Love  <d.love@dl.ac.uk>
88772
88773         [From Emacs.]
88774
88775         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
88776         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
88777         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
88778         obsolete NLIST_NAME_UNION.
88779         [__GNU__]: Undef BSD and FSCALE.
88780         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
88781
88782 2003-08-03  Paul Eggert  <eggert@twinsun.com>
88783
88784         * lib/stdbool_.h (_Bool): Make it signed char, instead of
88785         an enum type, so that it's guaranteed to promote to int.  See:
88786         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
88787
88788 2003-08-03  Karl Berry  <karl@gnu.org>
88789
88790         * config/depcomp: update from automake.
88791
88792 2003-07-31  Paul Eggert  <eggert@twinsun.com>
88793
88794         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
88795         (strerror): Don't assume that a printable int fits in 14 bytes.
88796
88797 2003-07-31  Bruno Haible  <bruno@clisp.org>
88798
88799         * modules/getpass-gnu: New file.
88800         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
88801
88802 2003-07-31  Bruno Haible  <bruno@clisp.org>
88803
88804         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
88805
88806 2003-07-24  Karl Berry  <karl@gnu.org>
88807
88808         * config/missing: update from automake.
88809
88810 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
88811             Bruno Haible  <bruno@clisp.org>
88812
88813         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
88814         * lib/getline.c (getline, getdelim): Likewise.
88815         Remove _GNU_SOURCE define; now it's defined in config.h through
88816         m4/getline.m4.
88817
88818 2003-07-23  Karl Berry  <karl@gnu.org>
88819
88820         * config/config.sub: update from prep.
88821
88822 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88823
88824         * modules/xalloc (Depends-on): Add exitfail.
88825         * modules/xmemcoll: Likewise.
88826
88827 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88828
88829         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
88830         over-parenthesization in macros.
88831
88832         Sync with coreutils.
88833
88834         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
88835         required by C99.
88836
88837         Use `exit_failure' for xalloc and xmemcoll instead of their own
88838         private exit-failure variables.
88839         * lib/xalloc.h (xalloc_exit_failure): Remove.
88840         * lib/xmalloc.c: Likewise.  Include exitfail.h.
88841         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
88842         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
88843         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
88844         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
88845
88846 2003-07-20  Jim Meyering  <jim@meyering.net>
88847
88848         * modules/closeout (Depends-on): Add exitfail.
88849         Suggestion from Bruno Haible.
88850
88851 2003-07-19  Karl Berry  <karl@gnu.org>
88852
88853         * config/config.sub: update from prep.
88854
88855 2003-07-18  Paul Eggert  <eggert@twinsun.com>
88856
88857         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
88858         Remove.
88859         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
88860         to test that it can stand by itself.  Include "exitfail.h".
88861         Clients should set exit_failure instead.
88862         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
88863
88864 2003-07-18  Bruno Haible  <bruno@clisp.org>
88865
88866         * modules/getndelim2: New file.
88867         * modules/getline: Share files with module getndelim2.
88868         * modules/getnline: Depend on getndelim2 instead of sharing files with
88869         it. Add getnline.c to lib_SOURCES.
88870         * MODULES.html.sh (func_all_modules): Add getndelim2.
88871
88872 2003-07-18  Bruno Haible  <bruno@clisp.org>
88873
88874         * m4/getndelim2.m4: New file.
88875         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
88876         invoke gl_PREREQ_GETNDELIM2.
88877         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
88878         gl_PREREQ_GETNDELIM2.
88879         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
88880         gl_GETNDELIM2.
88881
88882 2003-07-18  Bruno Haible  <bruno@clisp.org>
88883
88884         * lib/getndelim2.h: New file.
88885         * lib/getndelim2.c: Make into a module of its own. Include config.h,
88886         getndelim2.h.
88887         (getndelim2): Make non-static. Change return type to ssize_t.
88888         * lib/getline.h: Change argument names.
88889         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
88890         * lib/getnline.c: Include getndelim2.h.
88891
88892 2003-07-18  Andreas Schwab  <schwab@suse.de>
88893
88894         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
88895
88896 2003-07-17  Karl Berry  <karl@gnu.org>
88897
88898         * config/config.sub: update from prep.
88899
88900 2003-07-17  Bruno Haible  <bruno@clisp.org>
88901
88902         * modules/getnline: New file.
88903         * modules/getline: Add lib/getndelim2.c to source file list.
88904         * MODULES.html.sh (func_all_modules): Add getnline.
88905
88906 2003-07-17  Bruno Haible  <bruno@clisp.org>
88907
88908         * m4/getnline.m4: New file.
88909
88910 2003-07-17  Bruno Haible  <bruno@clisp.org>
88911
88912         * m4/Makefile.am.in: Remove file.
88913         * m4/Makefile.am: Remove file.
88914         * m4/Makefile.in: Remove file.
88915
88916 2003-07-17  Bruno Haible  <bruno@clisp.org>
88917
88918         * lib/getnline.h: New file.
88919         * lib/getnline.c: New file.
88920         * lib/getndelim2.c: New file, extracted from getline.c.
88921         (getndelim2): Renamed from getdelim2, with added nmax argument.
88922         * lib/getline.c: Include getndelim2.c.
88923         (getdelim2): Moved out to getndelim2.c.
88924         (getline, getdelim): Update.
88925
88926 2003-07-17  Bruno Haible  <bruno@clisp.org>
88927
88928         * lib/Makefile.am: Remove file.
88929         * lib/Makefile.in: Remove file.
88930
88931 2003-07-17  Bruno Haible  <bruno@clisp.org>
88932
88933         * configure.in: Remove file.
88934         * Makefile.in: Remove file.
88935
88936 2003-07-17  Bruno Haible  <bruno@clisp.org>
88937
88938         * MODULES.html.sh: Put the </BODY> right before </HTML>.
88939
88940 2003-07-16  Karl Berry  <karl@gnu.org>
88941
88942         * config/srclist-update: was running fixlicense twice, which caused
88943                 texinfo.tex to be nullified for some reason.  Simplify,
88944                 $gplsrc is no longer needed as far as I can see?
88945
88946 2003-07-16  Jim Meyering  <jim@meyering.net>
88947
88948         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
88949
88950 2003-07-15  Paul Eggert  <eggert@twinsun.com>
88951
88952         * config/srclist.txt: Get the following files from gettext-runtime/intl
88953         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
88954         ref-del.sin.  From Bruno Haible.
88955         * config/srclist-update (fixfile): Change grep pattern again, since the
88956         previous fix didn't work (there was another trailing $).  Use
88957         '[$]' to escape the $s.
88958
88959 2003-07-15  Karl Berry  <karl@gnu.org>
88960
88961         * lib/vasnprintf.c: update from gettext.
88962
88963 2003-07-15  Karl Berry  <karl@gnu.org>
88964
88965         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
88966         gets expanded when surrounded by '$'.
88967
88968 2003-07-15  Jim Meyering  <jim@meyering.net>
88969
88970         * modules/save-cwd: Don't depend on error.  From Derek Price.
88971
88972 2003-07-15  Jim Meyering  <jim@meyering.net>
88973
88974         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
88975
88976 2003-07-14  Simon Josefsson  <jas@extundo.com>
88977
88978         * modules/mempcpy: New file.
88979         * MODULES.html.sh (func_all_modules): Add mempcpy.
88980
88981 2003-07-14  Simon Josefsson  <jas@extundo.com>
88982
88983         * m4/mempcpy.m4: New file.
88984
88985 2003-07-14  Simon Josefsson  <jas@extundo.com>
88986
88987         * lib/mempcpy.h: New file.
88988         * lib/mempcpy.c: New file.
88989
88990 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88991
88992         * modules/getdate, modules/posixtm: Depend on mktime.
88993
88994 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88995
88996         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
88997         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
88998         unicodeio.c, unicodeio.h, unlocked-io.h:
88999         Switch from LGPL to GPL.
89000
89001 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89002
89003         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89004         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89005         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89006         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89007         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89008         updated automatically by ../config/srclist-update.  This changes
89009         their license from LPGL to GPL.
89010
89011 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89012
89013         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89014         assumed to refer to the root of the most recent stable gettext version.
89015         * config/srclistvars.sh: Add defaults for eggert.
89016         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89017         Match "This program" as well as "The program".  This is needed
89018         for gettext.
89019
89020 2003-07-14  Jim Meyering  <jim@meyering.net>
89021
89022         Don't emit diagnostics.  Let callers do that.
89023         * lib/save-cwd.c: Don't include "error.h".
89024         (save_cwd): Don't call error.  Ensure that errno is valid
89025         when returning nonzero.
89026
89027         * lib/save-cwd.h (restore_cwd): Update prototype.
89028         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89029         Simplify.  Don't call error upon failure.  Let callers do that.
89030         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89031         when auditing is enabled.  But don't bother updating the #if.
89032
89033 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89034
89035         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89036         it breaks C++ compilation.
89037         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89038
89039 2003-07-10  Simon Josefsson  <jas@extundo.com>
89040
89041         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89042
89043 2003-07-10  Jim Meyering  <jim@meyering.net>
89044
89045         * m4/clock_time.m4: Remove trailing blank.
89046         * m4/intmax_t.m4: Likewise.
89047
89048 2003-07-10  Jim Meyering  <jim@meyering.net>
89049
89050         * lib/vasnprintf.c: Remove trailing blanks.
89051         Make cpp indentation consistent.
89052
89053 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89054
89055         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89056         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89057         Switch from LGPL to GPL.
89058
89059 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89060
89061         * config/srclist.txt: Sort sublists.  Add
89062         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89063         that differ from gnulib for one reason or another; we'd like this list
89064         to be smaller but for now let's document what we have.
89065
89066 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89067
89068         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89069         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89070         and sweeter "eval x=$x".
89071         * config/srclist.txt: Get lib/argp* from glibc.
89072
89073 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89074
89075         * lib/mktime.c: Fix some boundary cases and remove need for floating
89076         point.
89077
89078         Issue a compile-time diagnostic if time_t is floating point, or if
89079         two's complement arithmetic is not in effect, or if arithmetic
89080         right shift does not propagate the sign.  These assumptions were
89081         all in the original code but they weren't checked.
89082
89083         (TIME_T_MIDPOINT, verify): New macros.
89084         (__isleap): Remove; it has integer overflow problems.
89085         (leapyear): New function, without those problems.
89086         (ydhms_tm_diff): Remove; splitting into two parts.
89087         (ydhms_diff): New function, containing the arithmetic part of
89088         the old ydhms_tm_diff function.  Issue a compile-time
89089         diagnostic if we are not using C99 integer division.
89090         Avoid casts when possible.
89091         (guess_time_tm): New function, containing the checking part of
89092         the old ydhms_tm_diff function.  Return the new value, rather than
89093         the difference between it and the old.  Accept a new argument T
89094         so that *T specifies the old value.  Check for overflow in the result.
89095
89096         (__mktime_internal): Use a time_t offset, not a long int offset.
89097         This undoes the 2003-06-04 change, which is no longer needed now
89098         that we have better overflow checking.
89099         (localtime_offset): Likewise.
89100
89101         (__mktime_internal): Avoid harmful overflow on hosts where time_t
89102         and long are 64-bit but int is only 32-bit.
89103         (ydhms_diff): Use long int to store year1 and yday1.
89104         Issue a compile-time diagnostic if long int is not wide enough.
89105
89106         (__mktime_internal): Use long int to store adjusted year and yday.
89107         Use plain C rather than preprocessor commands, if that doesn't
89108         affect efficiency.
89109         Check for overflow (and try to repair) after each probe
89110         rather than checking only at the very end.  This avoids some bugs
89111         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
89112         does not equal GMT offset at maximum time).
89113         Use integer to check for overflow rather than floating point; this
89114         is more portable to non-IEEE hosts, and is a tad faster.
89115         When we detect that we are oscillating between two values,
89116         don't check whether tm_isdst has the requested value, since
89117         we already know the answer.  When tm_isdst has the wrong value,
89118         use a different heuristic to find the right one, based on the
89119         extreme values actually observed in practice in tz2003a,
89120         rather than the (overly optimistic) "previous 3 calendar quarters".
89121
89122         (not_equal_tm, print_tm, check_result): Use "const T" rather than
89123         "T const" to accommodate glibc style.
89124         (check_result): Use less-confusing report format.  "long" -> "long int.
89125         (main): Likewise.
89126         Don't loop if the iteration overflows time_t.
89127         Allow a negative step in the iteration.
89128
89129 2003-07-06  Karl Berry  <karl@gnu.org>
89130
89131         * config/depcomp: update from automake.
89132         * config/config.sub: update from prep.
89133
89134 2003-07-03  Karl Berry  <karl@gnu.org>
89135
89136         * config/config.guess: update from prep.
89137
89138 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89139
89140         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
89141         xreadlink.c now includes it unconditionally.
89142
89143 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89144
89145         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
89146         having it depend on HAVE_SYS_TYPES_H.
89147
89148 2003-07-01  Bruno Haible  <bruno@clisp.org>
89149
89150         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
89151         <sys/types.h> should be sufficient.
89152         Reported by Paul Eggert.
89153
89154 2003-06-26  Karl Berry  <karl@gnu.org>
89155
89156         * config/depcomp: update from automake.
89157
89158 2003-06-26  Bruno Haible  <bruno@clisp.org>
89159
89160         * modules/human: Depend on module stdbool.
89161
89162 2003-06-25  Bruno Haible  <bruno@clisp.org>
89163
89164         * modules/readlink: New file.
89165         * modules/xreadlink: Depend on it.
89166         * MODULES.html.sh (func_all_modules): Add readlink.
89167
89168 2003-06-25  Bruno Haible  <bruno@clisp.org>
89169
89170         * m4/readlink.m4: New file.
89171
89172 2003-06-25  Bruno Haible  <bruno@clisp.org>
89173
89174         * lib/readlink.c: New file.
89175
89176 2003-06-22  Karl Berry  <karl@gnu.org>
89177
89178         * config/srclist.txt: update mkinstalldirs from automake.
89179         * config/mkinstalldirs: update.
89180
89181 2003-06-22  Bruno Haible  <bruno@clisp.org>
89182
89183         Portability to mingw32.
89184         * m4/ssize_t.m4: New file, from GNU gettext.
89185         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
89186         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
89187
89188 2003-06-22  Bruno Haible  <bruno@clisp.org>
89189
89190         * modules/safe-read: Add m4/ssize_t.m4.
89191         * modules/xreadlink: Add m4/ssize_t.m4.
89192
89193 2003-06-20  Bruno Haible  <bruno@clisp.org>
89194
89195         Assume C89, so PARAMS isn't needed.
89196         * lib/unicodeio.h (PARAMS): Remove.
89197         * lib/unicodeio.c: Don't use PARAMS.
89198
89199 2003-06-18  Karl Berry  <karl@gnu.org>
89200
89201         * config/config.{guess,sub}: update from prep.
89202
89203 2003-06-18  Jim Meyering  <jim@meyering.net>
89204
89205         Merge changes from coreutils.
89206         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
89207         Remove explicit declarations of xmalloc and realloc.
89208         Include xalloc.h.
89209         (read_utmp): Remove anachronistic cast of xmalloc.
89210
89211 2003-06-17  Paul Eggert  <eggert@twinsun.com>
89212
89213         Assume C89, so PARAMS isn't needed.
89214         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
89215         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
89216         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
89217         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
89218         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
89219         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
89220         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
89221         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
89222         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
89223         lib/xstrtod.h, lib/xstrtol.h: Likewise.
89224         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
89225         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
89226         no longer needed. Anyway, config.h should always be included before any
89227         other file.
89228
89229 2003-06-11  Simon Josefsson  <jas@extundo.com>
89230
89231         * modules/sysexits: New file.
89232         * MODULES.html.sh (func_all_modules): Add sysexits.
89233
89234 2003-06-11  Simon Josefsson  <jas@extundo.com>
89235
89236         * lib/sysexit_.h: New file.
89237
89238 2003-06-11  Derek Price  <derek@ximbiot.com>
89239
89240         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
89241         necessary.
89242
89243 2003-06-11  Bruno Haible  <bruno@clisp.org>
89244
89245         * m4/sysexits.m4: New file.
89246
89247 2003-06-10  Simon Josefsson  <jas@extundo.com>
89248
89249         * lib/argp.h: New file, from glibc.
89250         * lib/argp-ba.c: New file, from glibc.
89251         * lib/argp-eexst.c: New file, from glibc.
89252         * lib/argp-fmtstream.c: New file, from glibc.
89253         * lib/argp-fmtstream.h: New file, from glibc.
89254         * lib/argp-fs-xinl.c: New file, from glibc.
89255         * lib/argp-help.c: New file, from glibc.
89256         * lib/argp-namefrob.h: New file, from glibc.
89257         * lib/argp-parse.c: New file, from glibc.
89258         * lib/argp-pv.c: New file, from glibc.
89259         * lib/argp-pvh.c: New file, from glibc.
89260         * lib/argp-xinl.c: New file, from glibc.
89261
89262 2003-06-10  Simon Josefsson  <jas@extundo.com>
89263
89264         * modules/strchrnul: New file.
89265
89266 2003-06-10  Simon Josefsson  <jas@extundo.com>
89267
89268         * modules/argp: New file.
89269
89270 2003-06-10  Simon Josefsson  <jas@extundo.com>
89271
89272         * m4/strchrnul.m4: New file.
89273
89274 2003-06-10  Simon Josefsson  <jas@extundo.com>
89275
89276         * lib/strchrnul.h: New file.
89277         * lib/strchrnul.c: New file.
89278
89279 2003-06-10  Bruno Haible  <bruno@clisp.org>
89280
89281         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
89282
89283 2003-06-07  Karl Berry  <karl@gnu.org>
89284
89285         * config/config.{guess,sub}: update from prep.
89286
89287 2003-06-07  Jim Meyering  <jim@meyering.net>
89288
89289         * modules/strtod: Use $(...) notation, not @...@ for
89290         AC_REPLACE'd variables.
89291         * modules/localcharset: Likewise.
89292
89293 2003-06-07  Jim Meyering  <jim@meyering.net>
89294
89295         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
89296         in place of my name in the copyright comment.
89297         Remove definition and uses of __P.
89298
89299         From coreutils.
89300         * lib/stat.c: Don't declare xmalloc explicitly.
89301         Instead, include "xalloc.h".
89302         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
89303         xrealloc, and xcalloc return values.
89304         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
89305         Improve comment.
89306         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
89307
89308 2003-06-07  Bruno Haible  <bruno@clisp.org>
89309
89310         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
89311         avoid AC_CONFIG_LINKS.
89312         * modules/fnmatch (Makefile.am): Use explicit creation rule for
89313         fnmatch.h, to avoid AC_CONFIG_LINKS.
89314         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
89315
89316 2003-06-07  Bruno Haible  <bruno@clisp.org>
89317
89318         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
89319         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
89320         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89321         directory.
89322         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
89323         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89324         directory.
89325
89326 2003-06-06  Jim Meyering  <jim@meyering.net>
89327
89328         Merge from coreutils.
89329         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
89330         Consolidate declarations and initializations of *_base* locals.
89331
89332         Merge from coreutils.
89333         This avoids a core dump on systems without GNU putenv,
89334         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
89335         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
89336         (unsetenv): New static function, from GNU libc.
89337         (rpl_putenv): Use it.
89338
89339         * lib/modechange.c: Remove trailing blanks.
89340
89341         Merge from coreutils.
89342         * lib/fsusage.c: Remove declaration of statfs.
89343         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
89344
89345         * lib/posixtm.c: Include <stdbool.h> unconditionally.
89346
89347 2003-06-06  Jim Meyering  <jim@meyering.net>
89348
89349         * lib/stdbool_.h: Renamed from stdbool.h.in.
89350
89351 2003-06-06  Jim Meyering  <jim@meyering.net>
89352             Bruno Haible  <bruno@clisp.org>
89353
89354         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
89355         Adjust Makefile.am snippet not to redirect directly to target.
89356         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
89357
89358 2003-06-05  Paul Eggert  <eggert@twinsun.com>
89359
89360         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
89361         mismatch, look in future quarters as well as past.  This fixes a
89362         bug when processing fall-backwards gaps immediately after a long
89363         period of daylight-saving time.
89364
89365         * lib/mktime.c: Assume freestanding C89 or better.
89366         (HAVE_LIMITS_H): Remove.  Assume it's 1.
89367         (__P): Remove; not used.
89368         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
89369         (mktime, not_equal_tm, print_tm, check_result,
89370         main): Use prototypes.  Use const * where appropriate.
89371         (main): Fix typo in testing code that uncovered by above changes.
89372         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
89373
89374 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89375
89376         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
89377         locale.h, localeconv.  This merges changes from coreutils.
89378
89379         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
89380         It can be removed after the next Autoconf is released.
89381         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
89382         needed.
89383
89384 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89385
89386         * lib/mktime.c: Fix Debian bug 177940
89387         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
89388         (localtime_offset): Now long int, not time_t, because we want it
89389         to be guaranteed to be signed.  All uses changed.
89390         (__mktime_internal): If overflow would occur when adding offset,
89391         don't add it.
89392
89393         Merge 'human' changes from coreutils.  Rewrite to support
89394         locale-specific notations like thousands separators.
89395         * lib/human.c: Simplify authorship notice.
89396         Include human.h immediately after config.h.
89397         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
89398         <limits.h>: Do not include, since human.h does.
89399         (SIZE_MAX, UINTMAX_MAX): New macros.
89400         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
89401         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
89402         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
89403         (power_letter): Renamed from suffixes.
89404         (generate_suffix_backwards): Remove.
89405         (adjust_value): Now takes int style (because of human.h changes)
89406         and long double value (for greater precision on some platforms).
89407         (group_number): New function.
89408         (human_readable): Use it.  Use integer options, not enum.
89409         Put the options before the sizes in the arg list.
89410         Support all the new options.
89411         The old human_readable function has been removed;
89412         use inttostr.h instead.
89413         (human_readable, default_block_size, humblock):
89414         Use uintmax_t, not int, for block sizes.
89415         (human_readable_inexact, block_size_types): Remove.
89416         (block_size_opts): New constant.
89417         (human_options): Renamed from human_block_size, with new signature
89418         that allows block sizes up to UINTMAX_MAX.  All callers changed.
89419         * lib/human.h: Add copyright and authorship notice.
89420         Include <limits.h> and <stdbool.h> unconditionally.
89421         (PARAMS): Remove.  All uses removed.
89422         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
89423         (enum human_inexact_style): Remove tag; now a nameless enum.
89424         (human_floor, human_ceiling, human_round_to_even): Now have
89425         values 2, 0, 1 rather than -1, 1, 0.
89426         (human_group_digits, human_suppress_point_zero, human_autoscale,
89427         human_base_1024, human_SI, human_B): New constants.
89428         (human_readable_inexact, human_block_size): Remove.
89429         (human_readable): Size args are now uintmax_t, not int.
89430         (human_options): New decl.
89431
89432         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
89433         unnecessary now that we assume C89 or better.  This change
89434         imported from coreutils.
89435
89436         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89437         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
89438         in the 2003-05-30 sync from glibc.
89439
89440         .h files should stand alone, but we shouldn't include <sys/types.h>
89441         if we can get away with just <stddef.h>.
89442
89443         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
89444         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
89445         rather than <sys/types.h>, as we merely need size_t.
89446         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
89447         to get size_t.
89448         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
89449         Include <stdio.h>, to get FILE.
89450         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
89451         memcasecmp.h has included <stddef.h> and all we need is size_t.
89452         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
89453         our interface, instead of including <sys/types.h>
89454
89455 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89456
89457         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
89458         now, as glibc mktime is buggy on non-glibc systems.
89459
89460 2003-06-03  Karl Berry  <karl@gnu.org>
89461
89462         * config/config.sub: update from prep.
89463
89464 2003-06-02  Paul Eggert  <eggert@twinsun.com>
89465
89466         [from coreutils]
89467         Fix some minor time-related bugs with POSIX time arguments.
89468         Some valid time stamps were being rejected (notably -1, and
89469         time stamps before 1900 on 64-bit hosts).  And some invalid
89470         time stamps were being accepted, e.g. September 31.
89471
89472         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
89473         that we can return (time_t) -1 successfully.
89474         * lib/posixtm.c: Likewise.
89475         [HAVE_STDBOOL_H]: Include <stdbool.h>.
89476         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
89477         (t): Remove static var.
89478         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
89479         of static var.  All uses changed.
89480         (year): Do not reject years before 1900; they can occur with
89481         64-bit time_t.
89482         (posix_time_parse): Do not check for out-of-range components;
89483         that is now the caller's responsibility, since our checks were
89484         only approximations.
89485         (posixtime): Use mktime to check for out-of-range components,
89486         since it knows them exactly.
89487         If mktime returns (time_t) -1, check whether an error actually occurred
89488         by invoking localtime on -1.
89489         (main) [TEST_POSIXTIME]: Check for input data errors, and report
89490         posixtime failures better.
89491         Improve the test data (in comments only).
89492
89493 2003-06-02  Karl Berry  <karl@gnu.org>
89494
89495         * config/mkinstalldirs (version): new variable.
89496         (--version): new option.
89497         (usage): improve message.
89498
89499 2003-05-30  Karl Berry  <karl@gnu.org>
89500
89501         * lib/mktime.c: update from libc.
89502
89503 2003-05-30  Bruno Haible  <bruno@clisp.org>
89504
89505         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
89506         * config/config.rpath: Upgrade to gettext-0.12.1.
89507
89508 2003-05-30  Bruno Haible  <bruno@clisp.org>
89509
89510         * m4/gettext.m4: Upgrade to gettext-0.12.1.
89511         * m4/nls.m4: New file, from gettext-0.12.1.
89512         * m4/po.m4: New file, from gettext-0.12.1.
89513         * m4/progtest.m4: Upgrade to gettext-0.12.1.
89514
89515 2003-05-30  Bruno Haible  <bruno@clisp.org>
89516
89517         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
89518         * lib/localcharset.h: Likewise.
89519         * lib/localcharset.c: Likewise.
89520
89521 2003-05-29  Karl Berry  <karl@gnu.org>
89522
89523         * config/config.rpath: update from gettext.
89524
89525 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89526
89527         Assume the headers required for C89 freestanding compilers.
89528         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
89529         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
89530         * m4/human.m4 (gl_HUMAN): Likewise.
89531         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
89532         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
89533         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89534         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
89535         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89536         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
89537
89538 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89539
89540         Assume the headers required for C89 freestanding compilers.
89541         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
89542         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
89543         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
89544         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
89545         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
89546         define, since <limits.h> is guaranteed to do that.
89547         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
89548         * lib/exclude.c: Include <stdbool.h> unconditionally.
89549         * lib/tempname.c: Include <stddef.h> unconditionally.
89550         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
89551         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
89552         <stddef.h> does that.
89553         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
89554         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
89555         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
89556         needed.
89557         * lib/xstrtol.c: Likewise.
89558         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
89559         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
89560
89561         * lib/addext.c (addext): Use assignment rather than cast, to avoid
89562         warnings on some platforms.
89563
89564         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89565         arbitrarily.
89566
89567 2003-05-26  Jim Meyering  <jim@meyering.net>
89568
89569         Merge in a change from coreutils:
89570         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
89571         that is guaranteed to be `no'.  Use `no_such_member' to indicate
89572         that condition, rather than `-1' which is slightly misleading.
89573         Change the name of the cache variable to have the gl_ prefix.
89574         Prompted by a patch from Richard Dawe for DJGPP.
89575
89576 2003-05-24  Karl Berry  <karl@gnu.org>
89577
89578         * config/config.guess: update from prep.
89579
89580 2003-05-22  Karl Berry  <karl@gnu.org>
89581
89582         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
89583
89584 2003-05-20  Karl Berry  <karl@gnu.org>
89585
89586         * config/config.guess: update from prep.
89587
89588 2003-05-18  Karl Berry  <karl@gnu.org>
89589
89590         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
89591         might actually be set by the user.
89592
89593         * config/depcomp, install-sh, mdate-sh: update from automake.
89594
89595 2003-05-17  Bruno Haible  <bruno@clisp.org>
89596
89597         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
89598         invalid expansion for AC_EGREP_CPP.
89599         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
89600         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
89601         Suggested by Akim Demaille <akim@epita.fr> in
89602         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
89603
89604 2003-05-12  Jim Meyering  <jim@meyering.net>
89605
89606         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
89607         the space-padded-by-default conversion specifiers, %e, %k, %l.
89608
89609 2003-05-12  Bruno Haible  <bruno@clisp.org>
89610
89611         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
89612         the string is longer than 4 KB.
89613
89614 2003-05-11  Karl Berry  <karl@gnu.org>
89615
89616         * config/config.{guess,sub}: update from prep.
89617
89618 2003-05-09  Bruno Haible  <bruno@clisp.org>
89619
89620         * modules/error: Add m4/strerror_r.m4 to file list.
89621
89622 2003-05-03  Bruno Haible  <bruno@clisp.org>
89623
89624         Upgrade to Unicode-4.0.
89625         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
89626         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
89627         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
89628         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
89629         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
89630         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
89631         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
89632         Change width of U+E0100..U+E01EF from 1 to 0.
89633
89634 2003-04-25  Jim Meyering  <jim@meyering.net>
89635
89636         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
89637         of type size_t, not int.
89638
89639 2003-04-25  Bruno Haible  <bruno@clisp.org>
89640
89641         * lib/copy-file.c: Include <stddef.h>, for size_t.
89642
89643 2003-04-21  Paul Eggert  <eggert@twinsun.com>
89644
89645         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
89646         code which expansion is under static control.  Patch imported from
89647         Akim Demaille's patch to Bison; see
89648         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
89649
89650 2003-04-14  Bruno Haible  <bruno@clisp.org>
89651
89652         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
89653
89654 2003-04-11  Jim Meyering  <jim@meyering.net>
89655
89656         Merge changes from Coreutils.
89657
89658         2003-03-22  Jim Meyering  <jim@meyering.net>
89659
89660         * lib/strftime.c (widen): Cast alloca return value to proper type.
89661
89662         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
89663
89664         From GNU libc.
89665         * lib/strftime.c (my_strftime): Handle very large width
89666         specifications for numeric values correctly.  Improve checks for
89667         overflow.
89668
89669         2003-01-19  Jim Meyering  <jim@meyering.net>
89670
89671         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
89672         definitions.
89673         (nl_get_alt_digit) [! defined my_strftime]: Define.
89674         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
89675         _nl_get_alt_digit and _nl_get_walt_digit.
89676
89677         * lib/strftime.c (my_strftime): Merge in locale-related changes from
89678         libc. These changes have no effect outside of _LIBC.
89679
89680 2003-04-10  Bruno Haible  <bruno@clisp.org>
89681
89682         * modules/findprog: New file.
89683         * MODULES.html.sh (func_all_modules): Add it.
89684
89685 2003-04-10  Bruno Haible  <bruno@clisp.org>
89686
89687         * m4/findprog.m4: New file.
89688         * m4/eaccess.m4: New file.
89689
89690 2003-04-10  Bruno Haible  <bruno@clisp.org>
89691
89692         * lib/findprog.h: New file, from GNU gettext.
89693         * lib/findprog.c: New file, from GNU gettext.
89694
89695 2003-04-05  Jim Meyering  <jim@meyering.net>
89696
89697         Merge changes from Coreutils.
89698
89699         * lib/exclude.h (PARAMS): Remove definition and uses.
89700         * lib/exclude.c: Remove uses of `PARAMS'.
89701
89702         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
89703         Add test-cases for DOS filenames. Declare program_name.
89704         (main): Set up program_name.  Patch by Rich Dawe.
89705
89706         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89707         error from mntctl.
89708         Use mntctl's return value to drive the entry-processing loop, since
89709         we can't rely on the value of the vmt_length member in the last
89710         entry.  On some systems doing so could result in exhausting
89711         virtual memory.  Based in part on a patch from Mike Jetzer.
89712
89713 2003-04-04  Bruno Haible  <bruno@clisp.org>
89714
89715         * modules/linebreak: New file.
89716         * MODULES.html.sh (func_all_modules): Add it.
89717
89718 2003-04-04  Bruno Haible  <bruno@clisp.org>
89719
89720         * m4/linebreak.m4: New file.
89721
89722 2003-04-04  Bruno Haible  <bruno@clisp.org>
89723
89724         * lib/linebreak.h: New file, from GNU gettext.
89725         * lib/linebreak.c: New file, from GNU gettext with slight
89726         modifications.
89727         * lib/lbrkprop.h: New file, from GNU gettext.
89728
89729 2003-04-03  Bruno Haible  <bruno@clisp.org>
89730
89731         * modules/utf8-ucs4: New file.
89732         * modules/utf16-ucs4: New file.
89733         * modules/ucs4-utf8: New file.
89734         * modules/ucs4-utf16: New file.
89735         * MODULES.html.sh (func_all_modules): Add them.
89736
89737 2003-04-03  Bruno Haible  <bruno@clisp.org>
89738
89739         * m4/utf-ucs4.m4: New file.
89740         * m4/ucs4-utf.m4: New file.
89741
89742 2003-04-03  Bruno Haible  <bruno@clisp.org>
89743
89744         * lib/utf8-ucs4.h: New file, from GNU gettext.
89745         * lib/utf16-ucs4.h: New file, from GNU gettext.
89746         * lib/ucs4-utf8.h: New file, from GNU gettext.
89747         * lib/ucs4-utf16.h: New file, from GNU gettext.
89748
89749 2003-04-02  Bruno Haible  <bruno@clisp.org>
89750
89751         * modules/binary-io: New file.
89752         * MODULES.html.sh (func_all_modules): Add it.
89753
89754 2003-04-02  Bruno Haible  <bruno@clisp.org>
89755
89756         * lib/binary-io.h: New file, from GNU gettext.
89757
89758 2003-04-01  Bruno Haible  <bruno@clisp.org>
89759
89760         * modules/pathname: New file.
89761         * MODULES.html.sh (func_all_modules): Add it.
89762
89763 2003-04-01  Bruno Haible  <bruno@clisp.org>
89764
89765         * lib/pathname.h: New file, from GNU gettext.
89766         * lib/concatpath.c: New file, from GNU gettext.
89767
89768 2003-03-30  Bruno Haible  <bruno@clisp.org>
89769
89770         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
89771
89772 2003-03-30  Bruno Haible  <bruno@clisp.org>
89773
89774         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
89775         function chown() doesn't exist.
89776
89777 2003-03-28  Bruno Haible  <bruno@clisp.org>
89778
89779         * modules/copy-file: New file.
89780         * MODULES.html.sh (func_all_modules): Add it.
89781
89782 2003-03-28  Bruno Haible  <bruno@clisp.org>
89783
89784         * m4/copy-file.m4: New file.
89785
89786 2003-03-28  Bruno Haible  <bruno@clisp.org>
89787
89788         * lib/copy-file.h: New file, from GNU gettext.
89789         * lib/copy-file.c: New file, from GNU gettext.
89790
89791 2003-03-18  Jim Meyering  <jim@meyering.net>
89792
89793         * lib/quote.c (quote_n): Fix typo in comment.
89794
89795 2003-03-18  Bruno Haible  <bruno@clisp.org>
89796
89797         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
89798         checking.
89799         * m4/onceonly_2_57.m4: Likewise.
89800
89801 2003-03-17  Bruno Haible  <bruno@clisp.org>
89802
89803         * m4/onceonly.m4: Require autoconf 2.54 or newer.
89804         (m4_quote): Remove macro.
89805         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
89806
89807 2003-03-14  Jim Meyering  <jim@meyering.net>
89808
89809         Merge changes from Coreutils.
89810         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
89811         to be const, in order to avoid warnings.
89812         (obstack_room): Likewise.
89813         (obstack_empty_p): Likewise.
89814
89815 2003-03-14  Bruno Haible  <bruno@clisp.org>
89816
89817         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
89818         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
89819
89820 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89821
89822         Merge changes from Bison.
89823         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
89824         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
89825         when compiling Bison 1.875's `bitset bset = obstack_alloc
89826         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
89827         * lib/hash.c: Include <stdbool.h> unconditionally.
89828
89829 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89830
89831         * m4/onceonly.m4 (m4_quote): New macro.
89832         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
89833         Quote AC_FOREACH variable-expansions properly.
89834
89835 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89836
89837         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
89838
89839 2003-03-09  Paul Eggert  <eggert@twinsun.com>
89840
89841         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
89842         Reported by Bruce Becker; see:
89843         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
89844
89845 2003-03-03  Paul Eggert  <eggert@twinsun.com>
89846             Bruno Haible  <bruno@clisp.org>
89847
89848         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
89849         Reported by John Hughes, see
89850         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
89851
89852 2003-02-20  Bruno Haible  <bruno@clisp.org>
89853
89854         * MODULES.html.sh (func_all_modules): Add poll.
89855
89856 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89857
89858         * modules/poll: New file.
89859
89860 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89861
89862         * lib/poll_.h: New file.
89863         * lib/poll.c: New file.
89864
89865 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89866
89867         * m4/poll.m4: New file.
89868
89869 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89870
89871         * modules/mathl: New file.
89872
89873 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89874
89875         * lib/mathl.h: New file.
89876         * lib/acosl.c: New file.
89877         * lib/asinl.c: New file.
89878         * lib/atanl.c: New file.
89879         * lib/ceill.c: New file.
89880         * lib/cosl.c: New file.
89881         * lib/expl.c: New file.
89882         * lib/floorl.c: New file.
89883         * lib/frexpl.c: New file.
89884         * lib/ldexpl.c: New file.
89885         * lib/logl.c: New file.
89886         * lib/sincosl.c: New file.
89887         * lib/sinl.c: New file.
89888         * lib/sqrtl.c: New file.
89889         * lib/tanl.c: New file.
89890         * lib/trigl.c: New file.
89891         * lib/trigl.h: New file.
89892
89893 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89894
89895         * m4/mathl.m4: New file.
89896
89897 2003-02-18  Bruno Haible  <bruno@clisp.org>
89898
89899         * MODULES.html.sh (func_all_modules): Add mathl.
89900
89901 2003-02-17  Bruno Haible  <bruno@clisp.org>
89902
89903         * modules/mkdtemp: New module.
89904         * MODULES.html.sh (func_all_modules): Add it.
89905
89906 2003-02-17  Bruno Haible  <bruno@clisp.org>
89907
89908         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
89909
89910 2003-02-17  Bruno Haible  <bruno@clisp.org>
89911
89912         * lib/mkdtemp.h: New file, from GNU gettext.
89913         * lib/mkdtemp.c: New file, from GNU gettext.
89914
89915 2003-02-02  Jim Meyering  <jim@meyering.net>
89916
89917         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
89918         e.g. glibc-2.2.93.
89919
89920 2003-01-31  Bruno Haible  <bruno@clisp.org>
89921
89922         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
89923         'rpl_rename'.
89924         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
89925         'rpl_strnlen'.
89926         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
89927         'rpl_strtod'.
89928         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
89929         'rpl_utime'.
89930
89931 2003-01-31  Bruno Haible  <bruno@clisp.org>
89932
89933         * lib/rename.c: #undef rename before defining rpl_rename.
89934         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
89935
89936 2003-01-30  Bruno Haible  <bruno@clisp.org>
89937
89938         * modules/vasnprintf, modules/vasprintf: New modules.
89939         * MODULES.html.sh (func_all_modules): Add them.
89940
89941 2003-01-30  Bruno Haible  <bruno@clisp.org>
89942
89943         * m4/signed.m4: New file, from GNU gettext.
89944         * m4/longdouble.m4: New file, from GNU gettext.
89945         * m4/wchar_t.m4: New file, from GNU gettext.
89946         * m4/wint_t.m4: New file, from GNU gettext.
89947         * m4/vasnprintf.m4: New file.
89948         * m4/vasprintf.m4: New file.
89949
89950 2003-01-30  Bruno Haible  <bruno@clisp.org>
89951
89952         * lib/printf-args.h: New file, from GNU gettext.
89953         * lib/printf-args.c: New file, from GNU gettext.
89954         * lib/printf-parse.h: New file, from GNU gettext.
89955         * lib/printf-parse.c: New file, from GNU gettext.
89956         * lib/vasnprintf.h: New file, from GNU gettext.
89957         * lib/vasnprintf.c: New file, from GNU gettext.
89958         * lib/asnprintf.c: New file, from GNU gettext.
89959         * lib/vasprintf.h: New file, from GNU gettext with modifications.
89960         * lib/vasprintf.c: New file, from GNU gettext.
89961         * lib/asprintf.c: New file, from GNU gettext.
89962
89963 2003-01-29  Bruno Haible  <bruno@clisp.org>
89964
89965         * modules/stpncpy: New module.
89966         * MODULES.html.sh (func_all_modules): Add it.
89967
89968 2003-01-29  Bruno Haible  <bruno@clisp.org>
89969
89970         * m4/stpncpy.m4: New file.
89971
89972 2003-01-29  Bruno Haible  <bruno@clisp.org>
89973
89974         * lib/stpncpy.h: New file, from GNU gettext with modifications.
89975         * lib/stpncpy.c: New file, from GNU gettext with modifications.
89976
89977 2003-01-28  Bruno Haible  <bruno@clisp.org>
89978
89979         * modules/c-ctype: New module.
89980         * MODULES.html.sh (func_all_modules): Add it.
89981
89982 2003-01-28  Bruno Haible  <bruno@clisp.org>
89983
89984         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
89985         Paul Eggert.
89986         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
89987         Paul Eggert.
89988
89989 2003-01-27  Bruno Haible  <bruno@clisp.org>
89990
89991         * modules/xsetenv: New module.
89992         * MODULES.html.sh (func_all_modules): Add it.
89993
89994 2003-01-27  Bruno Haible  <bruno@clisp.org>
89995
89996         * lib/xsetenv.h: New file, from GNU gettext.
89997         * lib/xsetenv.c: New file, from GNU gettext.
89998
89999 2003-01-23  Jim Meyering  <jim@meyering.net>
90000
90001         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90002         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90003
90004 2003-01-23  Bruno Haible  <bruno@clisp.org>
90005
90006         * modules/minmax: New module.
90007         * MODULES.html.sh (func_all_modules): Add it.
90008
90009 2003-01-23  Bruno Haible  <bruno@clisp.org>
90010
90011         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90012         Eggert.
90013
90014 2003-01-22  Bruno Haible  <bruno@clisp.org>
90015
90016         * modules/exit: New module.
90017         * MODULES.html.sh (func_all_modules): Add it.
90018
90019 2003-01-22  Bruno Haible  <bruno@clisp.org>
90020
90021         * lib/exit.h: New file, from GNU gettext.
90022
90023 2003-01-19  Bruno Haible  <bruno@clisp.org>
90024
90025         * gnulib-tool: Recognize option --extract-maintainer.
90026         (func_get_maintainer): New function.
90027         * modules/*: Add Maintainer entry.
90028
90029 2003-01-16  Jim Meyering  <jim@meyering.net>
90030
90031         * m4/regex.m4: The `regex' struct is both input and output.
90032         Initialize it before each use.  Patch by Tim Waugh.
90033
90034 2003-01-16  Bruno Haible  <bruno@clisp.org>
90035
90036         * MODULES.html.sh: Add a table of contents. Add the module name as
90037         leftmost column. Add hyperlinks.
90038
90039 2003-01-15  Bruno Haible  <bruno@clisp.org>
90040
90041         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90042
90043 2003-01-15  Bruno Haible  <bruno@clisp.org>
90044
90045         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90046         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90047         suffix.
90048
90049 2003-01-15  Bruno Haible  <bruno@clisp.org>
90050
90051         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90052
90053 2003-01-15  Bruno Haible  <bruno@clisp.org>
90054
90055         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90056         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90057
90058 2003-01-14  Jim Meyering  <jim@meyering.net>
90059
90060         * lib/same.c (same_name): Tweak a comment.
90061
90062 2003-01-14  Bruno Haible  <bruno@clisp.org>
90063
90064         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90065         when a string comparison is sufficient.
90066
90067 2003-01-14  Bruno Haible  <bruno@clisp.org>
90068
90069         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90070         'unsigned int'.
90071
90072 2003-01-14  Bruno Haible  <bruno@clisp.org>
90073
90074         * lib/hash-pjw.c: Add comment about low quality of this function.
90075
90076 2003-01-13  Bruno Haible  <bruno@clisp.org>
90077
90078         * modules/stpcpy: Distribute lib/stpcpy.h.
90079         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90080
90081 2003-01-13  Bruno Haible  <bruno@clisp.org>
90082
90083         * modules/*: Add a description.
90084         * modules/strpbrk: Fix Makefile.am snippet.
90085         * modules/strtoimax: Fix dependencies.
90086         * modules/strtoumax: Likewise.
90087
90088 2003-01-13  Bruno Haible  <bruno@clisp.org>
90089
90090         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90091         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90092         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90093
90094 2003-01-13  Bruno Haible  <bruno@clisp.org>
90095
90096         * gnulib-tool (func_create_testdir): Store config/* files in the main
90097         directory.
90098         * config.rpath: Move to ...
90099         * config/config.rpath: ... here.
90100         * modules/gettext: Contains config/config.rpath, not config.rpath.
90101         * modules/iconv: Likewise.
90102
90103 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90104
90105         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90106         to avoid collisions with libcurses and libreadline.
90107
90108         * m4/getstr.m4: Remove.
90109         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
90110
90111 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90112
90113         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90114         to avoid collisions with libcurses and libreadline.
90115
90116         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
90117         * lib/getstr.h, getstr.c: Remove.
90118         * lib/getline.c: Include "getline.h", to check interface.
90119         Move body of old getstr.c here: this defines MIN_CHUNK and
90120         declares getdelim2, which is renamed from getstr.
90121         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
90122
90123         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
90124         All uses changed.
90125         * lib/linebuffer.h: Likewise.
90126         (readline): Remove backward-compatibility macro.
90127
90128 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90129
90130         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90131         to avoid collisions with libcurses and libreadline.
90132         * getstr: Remove.
90133         * MODULES.html.sh: Remove getstr.
90134         * modules/getline: Depend on unlocked-io, not getstr.
90135
90136 2003-01-12  Jim Meyering  <jim@meyering.net>
90137
90138         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
90139
90140 2003-01-10  Bruno Haible  <bruno@clisp.org>
90141
90142         * modules/alloca: Change Makefile.am requirements. Simplify Include
90143         requirements. Add lib/alloca_.h to file list.
90144
90145 2003-01-10  Bruno Haible  <bruno@clisp.org>
90146
90147         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
90148
90149 2003-01-10  Bruno Haible  <bruno@clisp.org>
90150
90151         * lib/alloca_.h: New file.
90152         * lib/getdate.y: Unconditionally include alloca.h.
90153         * lib/makepath.c: Likewise.
90154         * lib/setenv.c: Likewise.
90155         * lib/userspec.c: Likewise.
90156
90157 2003-01-09  Karl Berry  <karl@gnu.org>
90158
90159         * MODULES.html.sh: include `dirname $0` in PATH, to find
90160         gnulib-tool.
90161
90162 2003-01-09  Bruno Haible  <bruno@clisp.org>
90163
90164         * modules/stdbool: Change configure.ac, Makefile.am requirements.
90165         Simplify Include requirements. Add lib/stdbool.h.in to file list.
90166
90167 2003-01-09  Bruno Haible  <bruno@clisp.org>
90168
90169         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
90170
90171 2003-01-09  Bruno Haible  <bruno@clisp.org>
90172
90173         * lib/stdbool.h.in: New file.
90174
90175 2003-01-09  Bruno Haible  <bruno@clisp.org>
90176
90177         * gnulib-tool (func_all_modules): Ignore files ending in ~.
90178         * MODULES.html.sh: Likewise.
90179
90180 2003-01-08  Jim Meyering  <jim@meyering.net>
90181
90182         * lib/full-write.c: Undefine and define-away `const' after inclusion
90183         of errno.h, not before.  Suggestion from Bruno Haible.
90184
90185 2003-01-08  Bruno Haible  <bruno@clisp.org>
90186
90187         * modules/full-read: Depend on full-write.
90188
90189 2003-01-08  Bruno Haible  <bruno@clisp.org>
90190
90191         * lib/safe-read.c: Include specification header first, to ensure its
90192         selfcontainedness.
90193         * lib/full-write.c: Likewise.
90194
90195 2003-01-07  Jim Meyering  <jim@meyering.net>
90196
90197         * lib/full-write.c: Rework so that it may serve to define full_read,
90198         too.
90199         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
90200
90201 2003-01-07  Bruno Haible  <bruno@clisp.org>
90202
90203         * lib/strtoimax.c: Include <stdint.h> as an alternative to
90204         <inttypes.h>.
90205         * lib/xstrtol.h: Likewise.
90206         * lib/xstrtoimax.c: Likewise.
90207         * lib/xstrtoumax.c: Likewise.
90208         * lib/human.h: Likewise.
90209
90210         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
90211         on systems that have <inttypes.h> but not <stdint.h>.
90212
90213 2003-01-07  Bruno Haible  <bruno@clisp.org>
90214
90215         * MODULES.html.sh: Add copyright notice.
90216         (missed_files): Omit CVS directory entries.
90217         (func_module): Make it work with sed-3.02.
90218         * MODULES.txt: Remove file.
90219
90220 2003-01-06  Jim Meyering  <jim@meyering.net>
90221
90222         * lib/version-etc.c: Update year in translatable copyright string.
90223
90224 2003-01-03  Karl Berry  <karl@gnu.org>
90225
90226         * config/config.{guess,sub}: update from prep.
90227
90228 2003-01-02  Karl Berry  <karl@gnu.org>
90229
90230         * doc/COPYING.DOC: belatedly updated to 1.2.
90231
90232 2003-01-01  Karl Berry  <karl@gnu.org>
90233
90234         * gnulib-tool (func_verify_module): report module name $module in
90235         error message, not $1.
90236         * gnulib-tool (create-testdir): don't complain if destdir couldn't
90237         be created, only if it doesn't exist.
90238         * gnulib-tool (last_checkin_date): don't expand the $Date here.
90239
90240 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90241
90242         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
90243
90244 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90245
90246         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
90247         memcmp if strcoll doesn't work.
90248
90249 2002-12-31  Bruno Haible  <bruno@clisp.org>
90250
90251         * lib/utime.c (utime_null): No need to call ftruncate if the file was
90252         nonempty.
90253
90254 2002-12-31  Bruno Haible  <bruno@clisp.org>
90255
90256         * lib/memcoll.c (STRCOLL): New macro.
90257         (memcoll): Use it.
90258
90259 2002-12-31  Bruno Haible  <bruno@clisp.org>
90260
90261         * lib/localcharset.h: New file.
90262         * lib/localcharset.c: Include it.
90263         * lib/unicodeio.c: Likewise.
90264
90265 2002-12-31  Bruno Haible  <bruno@clisp.org>
90266
90267         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
90268         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
90269
90270 2002-12-31  Bruno Haible  <bruno@clisp.org>
90271
90272         * lib/getline.h: Include <stddef.h>, for size_t.
90273
90274         * lib/unicodeio.h: Include <stddef.h>, for size_t.
90275         * lib/unicodeio.c: Don't include <stddef.h>.
90276
90277 2002-12-31  Bruno Haible  <bruno@clisp.org>
90278
90279         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
90280         HAVE_TM_ZONE.
90281
90282 2002-12-24  Karl Berry  <karl@gnu.org>
90283
90284         * config/config.guess: update from prep.
90285
90286 2002-12-24  Bruno Haible  <bruno@clisp.org>
90287
90288         General infrasructure.
90289         * m4/README: Rewritten.
90290         * m4/onceonly.m4: New file.
90291         * m4/onceonly_2_57.m4: New file.
90292
90293         Module atexit.
90294         * m4/atexit.m4: New file.
90295
90296         Module strtod.
90297         * m4/strtod.m4: New file.
90298
90299         Module strtol.
90300         * m4/strtol.m4: New file.
90301
90302         Module strtoul.
90303         * m4/strtoul.m4: New file.
90304
90305         Module memchr.
90306         * m4/memchr.m4: New file.
90307
90308         Module memcmp.
90309         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
90310         (jm_FUNC_MEMCMP): Invoke it.
90311
90312         Module memcpy.
90313         * m4/memcpy.m4: New file.
90314
90315         Module memmove.
90316         * m4/memmove.m4: New file.
90317
90318         Module memset.
90319         * m4/memset.m4: New file.
90320
90321         Module strcspn.
90322         * m4/strcspn.m4: New file.
90323
90324         Module strpbrk.
90325         * m4/strpbrk.m4: New file.
90326
90327         Module strstr.
90328         * m4/strstr.m4: New file.
90329
90330         Module strerror.
90331         * m4/strerror.m4: New file.
90332
90333         Module mktime.
90334         * m4/mktime.m4: Renamed from jm-mktime.m4.
90335         (gl_PREREQ_MKTIME): New macro.
90336         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
90337
90338         Module malloc.
90339         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
90340         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
90341         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
90342
90343         Module realloc.
90344         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
90345         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
90346         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
90347
90348         Module strftime.
90349         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
90350         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
90351         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
90352         gl_TM_GMTOFF.
90353         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
90354
90355         Module xalloc.
90356         * m4/xalloc.m4: New file.
90357
90358         Module alloca.
90359         * m4/alloca.m4: New file.
90360
90361         Module putenv.
90362         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
90363         (jm_FUNC_PUTENV): Invoke it.
90364
90365         Module setenv.
90366         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
90367         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
90368         when invoked twice.
90369         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
90370         gt_FUNC_SETENV.
90371
90372         Module memrchr.
90373         * m4/memrchr.m4: New file.
90374
90375         Module stpcpy.
90376         * m4/stpcpy.m4: New file.
90377
90378         Module strcase.
90379         * m4/strcase.m4: New file.
90380
90381         Module strdup.
90382         * m4/strdup.m4: New file.
90383
90384         Module strnlen.
90385         * m4/strnlen.m4: New file.
90386
90387         Module strndup.
90388         * m4/strndup.m4: New file.
90389
90390         Module xstrtod.
90391         * m4/xstrtod.m4: New file.
90392
90393         Module xstrtol.
90394         * m4/xstrtol.m4: New file.
90395
90396         Module getdate.
90397         * m4/getdate.m4: New file.
90398
90399         Module unlocked-io.
90400         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
90401         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
90402         * m4/jm-glibc-io.m4n: Remove file.
90403
90404         Module long-options.
90405         * m4/long-options.m4: New file.
90406
90407         Module md5.
90408         * m4/md5.m4: New file.
90409
90410         Module sha.
90411         * m4/sha.m4: New file.
90412
90413         Module getstr.
90414         * m4/getstr.m4: New file.
90415
90416         Module getline.
90417         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
90418         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
90419         <sys/types.h>, for size_t. Use the function name gnu_getline, not
90420         simply getline. Infoke gl_PREREQ_GETLINE.
90421
90422         Module obstack.
90423         * m4/obstack.m4: New file.
90424
90425         Module hash.
90426         * m4/hash.m4: New file.
90427
90428         Module readtokens.
90429         * m4/readtokens.m4: New file.
90430
90431         Module strverscmp.
90432         * m4/strverscmp.m4: New file.
90433
90434         Module stdbool.
90435         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
90436         OSF/1.
90437
90438         Module strtoll.
90439         * m4/strtoll.m4: New file.
90440
90441         Module strtoull.
90442         * m4/strtoull.m4: New file.
90443
90444         Module strtoimax.
90445         * m4/strtoimax.m4: New file.
90446
90447         Module strtoumax.
90448         * m4/strtoumax.m4: New file.
90449
90450         Module xstrtoimax.
90451         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
90452         jm_AC_PREREQ_XSTRTOIMAX.
90453         Moved the strtol prerequisites to strtol.m4.
90454         Moved the strtoll prerequisites to strtoll.m4.
90455         Moved the strtoimax prerequisites to strtoimax.m4.
90456
90457         Module xstrtoumax.
90458         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
90459         jm_AC_PREREQ_XSTRTOUMAX.
90460         Moved the strtoul prerequisites to strtoul.m4.
90461         Moved the strtoull prerequisites to strtoull.m4.
90462         Moved the strtoumax prerequisites to strtoumax.m4.
90463
90464         Module chown.
90465         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
90466         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
90467
90468         Module dup2.
90469         * m4/dup2.m4: New file.
90470
90471         Module ftruncate.
90472         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
90473         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
90474
90475         Module getgroups.
90476         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
90477         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
90478
90479         Module gettimeofday.
90480         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
90481         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
90482         gl_PREREQ_GETTIMEOFDAY.
90483
90484         Module mkdir.
90485         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
90486         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
90487
90488         Module mkstemp.
90489         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
90490         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
90491         jm_AC_TYPE_UINTMAX_T.
90492         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
90493
90494         Module stat.
90495         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
90496         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
90497
90498         Module lstat.
90499         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
90500         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
90501
90502         Module timespec.
90503         * m4/timespec.m4 (gl_TIMESPEC): New macro.
90504         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
90505         * m4/st_mtim.m4: Indentation.
90506
90507         Module nanosleep.
90508         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
90509         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
90510         gl_PREREQ_NANOSLEEP.
90511
90512         Module regex.
90513         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
90514         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
90515         (gl_REGEX): New macro.
90516
90517         Module rename.
90518         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
90519         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
90520
90521         Module rmdir.
90522         * m4/rmdir.m4: New file.
90523
90524         Module utime.
90525         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
90526         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
90527         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
90528
90529         Module dirname.
90530         * m4/dirname.m4: New file.
90531
90532         Module getopt.
90533         * m4/getopt.m4: New file.
90534
90535         Module unistd-safer.
90536         * m4/unistd-safer.m4: New file.
90537
90538         Module fnmatch.
90539         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
90540         declaration.
90541         (gl_PREREQ_FNMATCH_EXTRA): New macro.
90542         (gl_FUNC_FNMATCH_POSIX): New macro.
90543         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
90544         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
90545         simply fnmatch.
90546
90547         Module exclude.
90548         * m4/exclude.m4: New file.
90549
90550         Module human.
90551         * m4/human.m4: New file.
90552
90553         Module acl.
90554         * m4/acl.m4: Nop.
90555
90556         Module backupfile.
90557         * m4/backupfile.m4: New file.
90558         * m4/d-ino.m4: Indentation.
90559
90560         Module fsusage.
90561         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
90562         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
90563         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
90564
90565         Module dirfd.
90566         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
90567         requirements.
90568
90569         Module euidaccess.
90570         * m4/euidaccess.m4: New file.
90571
90572         Module file-type.
90573         * m4/file-type.m4: New file.
90574
90575         Module fileblocks.
90576         * m4/fileblocks.m4: New file.
90577
90578         Module filemode.
90579         * m4/filemode.m4: New file.
90580
90581         Module isdir.
90582         * m4/isdir.m4: New file.
90583
90584         Module lchown.
90585         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
90586         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
90587
90588         Module makepath.
90589         * m4/makepath.m4: New file.
90590
90591         Module modechange.
90592         * m4/modechange.m4: New file.
90593
90594         Module mountlist.
90595         * m4/mountlist.m4: New file.
90596         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
90597         Indentation.
90598
90599         Module path-concat.
90600         * m4/path-concat.m4: New file.
90601
90602         Module pathmax.
90603         * m4/pathmax.m4: New file.
90604
90605         Module same.
90606         * m4/same.m4: New file.
90607
90608         Module save-cwd.
90609         * m4/save-cwd.m4: New file.
90610
90611         Module savedir.
90612         * m4/savedir.m4: New file.
90613
90614         Module xgetcwd.
90615         * m4/xgetcwd.m4: New file.
90616         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
90617
90618         Module xreadlink.
90619         * m4/xreadlink.m4: New file.
90620
90621         Module safe-read.
90622         * m4/safe-read.m4: New file.
90623
90624         Module safe-write.
90625         * m4/safe-write.m4: New file.
90626
90627         Module closeout.
90628         * m4/closeout.m4: New file.
90629
90630         Module stdio-safer.
90631         * m4/stdio-safer.m4: New file.
90632
90633         Module getpass.
90634         * m4/getpass.m4: New file.
90635
90636         Module getugroups.
90637         * m4/getugroups.m4: New file.
90638
90639         Module group-member.
90640         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
90641         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
90642
90643         Module idcache.
90644         * m4/idcache.m4: New file.
90645
90646         Module userspec.
90647         * m4/userspec.m4: New file.
90648
90649         Module gettime.
90650         * m4/clock_time.m4: New file.
90651         * m4/gettime.m4: New file.
90652
90653         Module settime.
90654         * m4/settime.m4: New file.
90655
90656         Module posixtm.
90657         * m4/posixtm.m4: New file.
90658
90659         Module gethostname.
90660         * m4/gethostname.m4: New file.
90661
90662         Module canon-host.
90663         * m4/canon-host.m4: New file.
90664
90665         Module gettext.
90666         * m4/codeset.m4: New file, from gettext-0.11.5.
90667         * m4/gettext.m4: New file, from gettext-0.11.5.
90668         * m4/glibc21.m4: New file, from gettext-0.11.5.
90669         * m4/iconv.m4: New file, from gettext-0.11.5.
90670         * m4/intdiv0.m4: New file, from gettext-0.11.5.
90671         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
90672         * m4/inttypes.m4: New file, from gettext-0.11.5.
90673         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
90674         * m4/isc-posix.m4: New file, from gettext-0.11.5.
90675         * m4/lcmessage.m4: New file, from gettext-0.11.5.
90676         * m4/lib-ld.m4: New file, from gettext-0.11.5.
90677         * m4/lib-link.m4: New file, from gettext-0.11.5.
90678         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
90679         * m4/progtest.m4: New file, from gettext-0.11.5.
90680         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
90681         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
90682         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
90683
90684         Module localcharset.
90685         * m4/localcharset.m4: New file.
90686
90687         Module hard-locale.
90688         * m4/hard-locale.m4: New file.
90689
90690         Module mbswidth.
90691         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
90692         onceonly macros.
90693         * m4/mbrtowc.m4: Add comment.
90694
90695         Module memcasecmp.
90696         * m4/memcasecmp.m4: New file.
90697
90698         Module memcoll.
90699         * m4/memcoll.m4: New file.
90700
90701         Module unicodeio.
90702         * m4/unicodeio.m4: New file.
90703
90704         Module rpmatch.
90705         * m4/rpmatch.m4: New file.
90706
90707         Module yesno.
90708         * m4/yesno.m4: New file.
90709
90710         Module exitfail.
90711         * m4/exitfail.m4: New file.
90712
90713         Module c-stack.
90714         * m4/c-stack.m4 (gl_C_STACK): New macro.
90715         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
90716
90717         Module error.
90718         * m4/error.m4 (gl_ERROR): New macro.
90719         (jm_PREREQ_ERROR): Use onceonly macros.
90720
90721         Module fatal.
90722         * m4/fatal.m4: New file.
90723
90724         Module getloadavg.
90725         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
90726         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
90727
90728         Module getpagesize.
90729         * m4/getpagesize.m4: New file.
90730
90731         Module getusershell.
90732         * m4/getusershell.m4: New file.
90733
90734         Module physmem.
90735         * m4/physmem.m4: New file.
90736
90737         Module posixver.
90738         * m4/posixver.m4: New file.
90739
90740         Module quotearg.
90741         * m4/quotearg.m4: New file.
90742
90743         Module quote.
90744         * m4/quote.m4: New file.
90745
90746         Module readutmp.
90747         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
90748
90749         Module sig2str.
90750         * m4/sig2str.m4: New file.
90751
90752         Other.
90753         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
90754         ulonglong.m4.
90755         * m4/intmax_t.m4: New file.
90756         * m4/d-type.m4: Indentation.
90757         * m4/jm-macros.m4: Update.
90758         * m4/prereq.m4 (jm_PREREQ): Update.
90759         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
90760         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
90761         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
90762         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
90763         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
90764         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
90765         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
90766         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
90767         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
90768         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
90769         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
90770         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
90771         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
90772         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
90773         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
90774         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
90775         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
90776         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
90777         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
90778
90779 2002-12-24  Bruno Haible  <bruno@clisp.org>
90780
90781         * MODULES.txt: Update according to m4/ changes.
90782
90783         Module gettext.
90784         * config.rpath: New file, from gettext-0.11.5.
90785
90786         * modules/*: New module descriptions.
90787         * gnulib-tool: New file.
90788         * MODULES.html.sh: New file.
90789
90790 2002-12-21  Karl Berry  <karl@gnu.org>
90791
90792         * doc/fdl.texi: update to version 1.2.
90793
90794 2002-12-19  Karl Berry  <karl@gnu.org>
90795
90796         * config/config.guess: update from prep.
90797
90798 2002-12-18  Bruno Haible  <bruno@clisp.org>
90799
90800         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
90801         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
90802
90803 2002-12-17  Bruno Haible  <bruno@clisp.org>
90804
90805         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
90806         stdlib.h, string.h.
90807
90808 2002-12-17  Bruno Haible  <bruno@clisp.org>
90809
90810         * lib/canon-host.c (strdup): Remove unused declaration.
90811
90812         * lib/fsusage.c: Include full_read.h.
90813         (get_fs_usage): Use full_read instead of safe_read.
90814
90815         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
90816
90817 2002-12-12  Karl Berry  <karl@gnu.org>
90818
90819         * config/config.guess: update from prep.
90820
90821 2002-12-11  Bruno Haible  <bruno@clisp.org>
90822
90823         * m4/setenv.m4: New file, from gettext-0.11.5.
90824
90825 2002-12-11  Bruno Haible  <bruno@clisp.org>
90826
90827         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
90828         not unsetenv().
90829         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
90830         modifications:
90831
90832         2002-12-11  Bruno Haible  <bruno@clisp.org>
90833
90834                 * setenv.c (alloca): Fall back to malloc.
90835                 (freea): New macro.
90836                 (setenv): Use freea() to free memory allocated with alloca().
90837
90838         2002-11-13  Bruno Haible  <bruno@clisp.org>
90839
90840                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
90841                 function declarations.
90842                 * unsetenv.c (unsetenv): Likewise.
90843
90844         2002-03-04  Bruno Haible  <bruno@clisp.org>
90845
90846                 Portability to AIX 4.3.3.
90847                 * unsetenv.c: New file, extracted from setenv.c.
90848                 * setenv.c: Move the unsetenv() function to unsetenv.c.
90849
90850         2001-12-20  Bruno Haible  <bruno@clisp.org>
90851
90852                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
90853                 use malloc instead. For SunOS 4.
90854
90855         2001-12-11  Bruno Haible  <bruno@clisp.org>
90856
90857                 * setenv.c: Declare alloca.
90858                 (compar_fn_t): New typedef.
90859                 (KNOWN_VALUE, STORE_VALUE): Use it.
90860
90861         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
90862         setenv.h.
90863
90864 2002-12-10  Paul Eggert  <eggert@twinsun.com>
90865
90866         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
90867         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
90868         Choose values that are less likely to collide with system fnmatch
90869         options.
90870         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
90871         defined (e.g., a pure POSIX system).
90872         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
90873         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
90874
90875 2002-12-06  Paul Eggert  <eggert@twinsun.com>
90876
90877         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
90878         a pain in practice to deal with generated m4 files.  This change
90879         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
90880
90881         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
90882         and jm-glibc-io.m4, as they are no longer a special case.
90883         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
90884         kludge and the auto-generation stuff.  Check only whether the
90885         functions are declared, not whether they exist, since older hosts
90886         that don't declare the functions can't use the optimization anyway.
90887
90888 2002-12-06  Jim Meyering  <jim@meyering.net>
90889
90890         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
90891
90892         Merge in changes from libc's misc/error.c, in preparation
90893         for the merge of gnulib's changes back into libc.
90894
90895         * lib/error.c (_): Define only if not already defined.
90896         Move definition to follow all #include directives.
90897         Include unlocked-io.h only if !_LIBC.
90898         [_LIBC]: Include <libio/libioP.h>.
90899         [USE_IN_LIBIO]: Include <libio/iolibio.h>
90900         (fflush): Tweak definition to use INTUSE.
90901         (putc): Define.
90902
90903 2002-12-05  Paul Eggert  <eggert@twinsun.com>
90904
90905         * lib/alloca.c [defined emacs]: Include "lisp.h".
90906         (xalloc_die) [defined emacs]: New macro.
90907         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
90908         [! defined emacs]: Include <xalloc.h>.
90909         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
90910         (pointer): Typedef to POINTER_TYPE *.
90911         (malloc): Remove decl; we now always use xmalloc.
90912         (alloca): Use old-style definition, since Emacs needs this.
90913         Check for arithmetic overflow when computing combined size.
90914
90915 2002-12-04  Paul Eggert  <eggert@twinsun.com>
90916
90917         Do not generate unlocked-io.h automatically, since it's easier to
90918         maintain it by hand.
90919
90920         * lib/unlocked-io.h: New file, from GNU diffutils,
90921         but with proper copyright notice and attribution.
90922         * lib/gen-uio: Remove.
90923         * lib/Makefile.am: Add copyright notice.
90924         (libfetish_a_SOURCES): Add unlocked-io.h.
90925         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
90926         (DISTCLEANFILES, io_functions): Remove macros.
90927         (EXTRA_DIST): Remove gen_uio.
90928         (unlocked-io.h): Remove rule.
90929
90930 2002-12-04  Jim Meyering  <jim@meyering.net>
90931
90932         Reflect the fact that stat.c and lstat.c are no longer generated.
90933         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
90934         (DISTCLEANFILES): Likewise.
90935         (EXTRA_DIST): Likewise.
90936         (all_local): Don't depend on stat.c or lstat.c.
90937         (stat.c, lstat.c): Remove rules.
90938         (EXTRA_DIST): Remove xstat.in.
90939
90940         * lib/xstat.in: Remove file.  Contents moved into stat.c.
90941         * lib/stat.c: New file.  Contents mostly from xstat.in.
90942         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
90943         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
90944
90945         * lib/safe-read.c: Rework so that it may serve to define safe_write,
90946         too.
90947         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
90948
90949 2002-12-03  Jim Meyering  <jim@meyering.net>
90950
90951         * lib/safe-read.c, safe-write.c: Change variable names and comments,
90952         but not semantics, to minimize the differences between these two files.
90953         (safe_read): Change comment to mention SAFE_READ_ERROR.
90954
90955         * lib/safe-read.c (IS_EINTR): Define.
90956         (safe_read): Use IS_EINTR in place of in-function cpp directives.
90957
90958 2002-12-02  Jim Meyering  <jim@meyering.net>
90959
90960         * lib/safe-read.c (EINTR): Define.
90961         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90962         (INT_MAX): Provide fallback.
90963         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
90964
90965         * lib/safe-read.h (SAFE_READ_ERROR): Define.
90966
90967 2002-12-02  Bruno Haible  <bruno@clisp.org>
90968
90969         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
90970         Define, taken from safe-read.c.
90971         (INT_MAX): Provide fallback.
90972         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
90973         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
90974
90975         * lib/safe-read.c (EINTR): Remove definition.
90976         (safe_read): Don't use EINTR if it is absent.
90977
90978 2002-12-01  Jim Meyering  <jim@meyering.net>
90979
90980         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
90981         zero.
90982         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
90983
90984 2002-11-27  Paul Eggert  <eggert@twinsun.com>
90985
90986         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
90987         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
90988         with `if (! (value < limit)) abort ();', for readability.
90989
90990 2002-11-26  Karl Berry  <karl@gnu.org>
90991
90992         * lib/strdup.c: copy from libc again, with jim's ok.
90993         * lib/.cppi-disable: re-add strdup.c
90994
90995 2002-11-25  Karl Berry  <karl@gnu.org>
90996
90997         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
90998         instead of "strtol.c".
90999
91000 2002-11-25  Karl Berry  <karl@gnu.org>
91001
91002         * config/install-sh: update from automake for variable quoting, $0 in
91003         error msgs, etc.
91004
91005         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91006         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91007         entry.
91008
91009 2002-11-25  Jim Meyering  <jim@meyering.net>
91010
91011         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91012
91013 2002-11-24  Karl Berry  <karl@gnu.org>
91014
91015         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91016         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91017
91018 2002-11-24  Jim Meyering  <jim@meyering.net>
91019
91020         Update from coreutils:
91021
91022         * lib/mktime.c: Merge in changes from libc.
91023
91024         Avoid a link-time failure on some Linux systems.
91025         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91026         (otherwise).
91027         (__mon_yday): Declare with the STATIC attribute.
91028         (__mktime_internal): Likewise.
91029         Based on a report from Greg Schafer.
91030
91031 2002-11-23  Jim Meyering  <jim@meyering.net>
91032
91033         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91034         Use `unsigned', not `int', as type of index.
91035
91036         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91037
91038         * lib/fsusage.c: Remove unneeded parentheses around operands of
91039         `defined'.
91040
91041 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91042
91043         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91044         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91045         so that we can be included first.
91046         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91047         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91048         No need to include stddef.h or sys/types.h any more.
91049         Surround local include files with "", not "<>".
91050         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91051         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91052         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91053         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91054         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91055         (ISPRINT): Remove; no longer needed now that we assume C89.
91056
91057         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91058         Preserve errno.
91059
91060         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91061         quotearg_char): Use SIZE_MAX rather than
91062         (size_t) -1 when we are talking about "infinity".
91063
91064         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91065
91066 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91067
91068         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91069         hint that one should use `if (! x) abort ();' rather than `assert
91070         (x);', and anyway it's one less thing to worry about configuring.
91071         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91072         hash_rehash, hash_insert): Use abort rather than assert.
91073
91074 2002-11-22  Bruno Haible  <bruno@clisp.org>
91075
91076         * lib/safe-read.h: Assume C89. Add comments.
91077         (safe_read): Change return type to size_t.
91078         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91079         byte counts > SSIZE_MAX correctly.
91080         * lib/safe-write.h: New file.
91081         * lib/safe-write.c: New file.
91082         * lib/full-read.h: New file.
91083         * lib/full-read.c: New file.
91084         * lib/full-write.h: Assume C89. Add comments.
91085         * lib/full-write.c: Include safe-write.h.
91086         (full_write): Rewritten to use safe_write.
91087         Suggested by Jim Meyering and Paul Eggert.
91088
91089 2002-11-21  Jim Meyering  <jim@meyering.net>
91090
91091         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91092
91093         Merge in changes from the coreutils.
91094
91095         2002-09-25  Paul Eggert  <eggert@twinsun.com>
91096         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
91097         <stdint.h>.
91098         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
91099         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
91100         int.  Work more efficiently if X is the same width as uintmax_t.
91101         Do not compare X to -1, to avoid bogus compiler warning.
91102         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
91103         Don't assume that f_frsize and f_bsize are the same type.
91104
91105         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
91106         warning on FreeBSD.
91107
91108         * lib/makepath.c (make_path): Restore umask *before* creating the final
91109         component.
91110         (make_path): Minor reformatting.
91111
91112         * lib/xmalloc.c: Adjust to work with new autoconf macros,
91113         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
91114         HAVE_MALLOC/HAVE_REALLOC.
91115
91116         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
91117         dummy ones.  At least on GNU/Linux systems, `auto' means something
91118         else.
91119         From Michael Stone.
91120
91121 2002-11-21  Bruno Haible  <bruno@clisp.org>
91122
91123         Remove case insensitive option matching.
91124         * lib/argmatch.h (argcasematch): Remove declaration.
91125         (ARGCASEMATCH): Remove macro.
91126         (__xargmatch_internal): Remove case_sensitive argument.
91127         (XARGMATCH): Update.
91128         (XARGCASEMATCH): Remove macro.
91129         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
91130         case_sensitive argument.
91131         (argcasematch): Remove function.
91132         (__xargmatch_internal): Remove case_sensitive argument.
91133         (main): Use XARGMATCH instead of XARGCASEMATCH.
91134
91135         * lib/xmalloc.c: Change compile-time error message. Add comment about
91136         required autoconf version.
91137
91138 2002-11-20  Paul Eggert  <eggert@twinsun.com>
91139
91140         Merge argmatch cleanups from Bison.  Assume C89.
91141
91142         * lib/argmatch.c: Include config.h here, not in argmatch.h.
91143         Include stdlib.h, for EXIT_FAILURE.
91144         Always include <string.h>, since we assume C89.
91145         (EXIT_FAILURE): Remove pre-C89 bug workaround.
91146         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
91147         Include <stddef.h> instead, since it's all we need for size_t.
91148         (PARAMS): Remove.  All uses removed.
91149         (ARRAY_CARDINALITY): Do not bother to #undef.
91150         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
91151         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91152         Remove unnecessary parentheses.
91153         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91154         Insert necessary parentheses.
91155         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
91156         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
91157
91158 2002-11-19  Bruno Haible  <bruno@clisp.org>
91159
91160         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
91161         * lib/mbswidth.h: Include <stddef.h>, for size_t.
91162
91163         * lib/mbswidth.h (PARAMS): Remove macro.
91164         (mbswidth, mbsnwidth): Use ANSI C function declarations.
91165         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
91166
91167         * lib/gcd.h (PARAMS): Remove macro.
91168         (gcd): Use ANSI C function declarations.
91169         * lib/gcd.c (gcd): Likewise.
91170
91171 2002-11-15  Bruno Haible  <bruno@clisp.org>
91172
91173         * lib/strcspn.c: Include <stddef.h>.
91174         (strcspn): Use ANSI C function declaration. Change return type to
91175         size_t. Use NULL.
91176         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
91177         (strpbrk): Use NULL.
91178         * lib/strpbrk.h (PARAMS): Remove macro.
91179         (strpbrk): Use ANSI C function declaration.
91180         * lib/strstr.c: Don't include <sys/types.h>.
91181         * lib/strstr.h (PARAMS): Remove macro.
91182         (strstr): Use ANSI C function declarations.
91183
91184 2002-11-14  Karl Berry  <karl@gnu.org>
91185
91186         * config/mkinstalldirs: `do' on separate line, instead of
91187         `for var; do'.
91188
91189 2002-11-06  Bruno Haible  <bruno@clisp.org>
91190
91191         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
91192         * lib/gcd.c (gcd): Likewise.
91193
91194 2002-11-05  Bruno Haible  <bruno@clisp.org>
91195
91196         * lib/gcd.h: New file, from gettext-0.11.5.
91197         * lib/gcd.c: New file, from gettext-0.11.5.
91198
91199 2002-11-05  Bruno Haible  <bruno@clisp.org>
91200
91201         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91202         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91203         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91204         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91205
91206         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
91207         <libintl.h>.
91208         * lib/makepath.c: Include gettext.h instead of <locale.h> and
91209         <libintl.h>.
91210
91211         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
91212         * lib/human.c: Include gettext.h instead of <libintl.h>.
91213         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
91214         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
91215         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
91216         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
91217         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
91218         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
91219         (textdomain): Remove definition.
91220         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
91221
91222         * lib/long-options.c: Remove include of <libintl.h> and definition of
91223         _.
91224         * lib/same.c: Remove include of <libintl.h> and definition of _.
91225
91226 2002-11-04  Owen Taylor  <otaylor@redhat.com>
91227
91228         * lib/config.charset: A few additions for Solaris.
91229
91230 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91231
91232         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
91233         * lib/localcharset.c (locale_charset): Declare as extern "C".
91234
91235 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91236
91237         * lib/config.charset: msdos in uk_UA uses CP1125.
91238
91239 2002-11-04  Bruno Haible  <bruno@clisp.org>
91240
91241         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
91242         * lib/strcase.h: New file, from GNU gettext-0.11.5.
91243         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
91244         * lib/strstr.h: New file, from GNU gettext-0.11.5.
91245         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
91246
91247 2002-11-04  Bruno Haible  <bruno@clisp.org>
91248
91249         * lib/localcharset.c (locale_charset): Don't return an empty string.
91250
91251 2002-11-04  Bruno Haible  <bruno@clisp.org>
91252
91253         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
91254         aliases.
91255
91256 2002-11-04  Bruno Haible  <bruno@clisp.org>
91257
91258         * lib/config.charset: Update for newest glibc. Add canonical names
91259         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
91260
91261 2002-11-04  Bruno Haible  <bruno@clisp.org>
91262
91263         * lib/config.charset: Add support for NetBSD.
91264
91265 2002-11-04  Bruno Haible  <bruno@clisp.org>
91266
91267         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
91268
91269 2002-11-01  Bruno Haible  <bruno@clisp.org>
91270
91271         * configure.in: Add AC_CONFIG_AUX_DIR call.
91272         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
91273         test/Makefile.
91274         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
91275
91276 2002-09-28  Karl Berry  <karl@gnu.org>
91277
91278         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
91279         installed automake until the next release, since changes have been
91280         made.
91281
91282 2002-09-25  Karl Berry  <karl@gnu.org>
91283
91284         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
91285         * lib/getopt*: copy from libc/posix.
91286         * lib/gettext.h: copy from gettext.
91287         * lib/.cppi-disable: add strdup.c, gettext.h.
91288
91289 2002-09-25  Karl Berry  <karl@gnu.org>
91290
91291         * config/srclist.txt: enable gettext.h check.
91292         * config/config.{guess,sub}: update from prep.
91293         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
91294                 from automake 1.6.3.
91295         See srclist*.
91296
91297 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
91298
91299         * regex.c (PATFETCH): Remove the translating fetch.
91300         (PATFETCH_RAW): Rename to PATFETCH.
91301         (set_image_of_range): New fun.
91302         (SET_RANGE_TABLE_WORK_AREA): Use it.
91303         (regex_compile): Don't translate the pattern chars so eagerly.
91304         Only do it when inserting an `exactn' bytecode or when handling
91305         a char-range.
91306         (mutually_exclusive_p): Avoid empty statement.
91307
91308 2002-07-06  Jim Meyering  <meyering@lucent.com>
91309
91310         * m4/README: Don't mention Makefile.am.in.
91311         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
91312
91313 2002-07-01  Jim Meyering  <meyering@lucent.com>
91314
91315         * lib/c-stack.c: Include sys/time.h.
91316         From Volker Borchert.
91317
91318 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91319
91320         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
91321
91322 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91323
91324         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
91325         New macro.  Use it uniformly instead of
91326         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
91327         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
91328         reported by Vin Shelton.
91329
91330 2002-06-22  Paul Eggert  <eggert@twinsun.com>
91331
91332         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
91333         Do not assume SA_SIGINFO behavior.
91334         Bug reported by Jim Meyering on NetBSD 1.5.2.
91335
91336 2002-06-22  Jim Meyering  <meyering@lucent.com>
91337
91338         * m4/c-stack.m4: New file, from diffutils-2.8.2.
91339         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
91340
91341         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
91342         now that configure.ac uses AC_GNU_SOURCE.
91343         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
91344         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
91345
91346         Update to latest tools.  Suggestions from Paul Eggert.
91347         * m4/stdbool.m4: New file, from diffutils-2.8.2.
91348         * m4/gnu-source.m4: Update from diffutils-2.8.2.
91349         * m4/fnmatch.m4: Likewise.
91350         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
91351         to AC_HEADER_STDBOOL
91352
91353 2002-06-22  Jim Meyering  <meyering@lucent.com>
91354
91355         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
91356         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
91357
91358 2002-06-22  Jim Meyering  <meyering@lucent.com>
91359
91360         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
91361
91362         * lib/exitfail.c, exitfail.h: Likewise.
91363         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
91364
91365         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
91366         of fnmatch.h.
91367         (EXTRA_DIST): Add fnmatch_loop.c.
91368         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
91369
91370         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
91371         * lib/fnmatch.c: Update from diffutils-2.8.2.
91372         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
91373         * lib/fnmatch.h: Remove file.
91374
91375 2002-06-21  Jim Meyering  <meyering@lucent.com>
91376
91377         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
91378         * m4/mbrtowc.m4: Likewise.
91379
91380         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
91381         * m4/mbswidth.m4: Reflect name change:
91382         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
91383         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91384
91385         * m4/lib-link.m4: Update from gettext-0.11.2.
91386         * m4/gettext.m4: Likewise.
91387
91388         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
91389         From Alfred M. Szmidt.
91390
91391 2002-06-18  Paul Eggert  <eggert@twinsun.com>
91392
91393         * lib/file-type.h: Report an error if neither S_ISREG nor
91394         S_IFREG is defined, instead of using a test specific to glibc
91395         2.2.  This should be safe, since POSIX requires S_ISREG and
91396         Unix Version 7 had S_IFREG.  We don't need to check for
91397         <sys/types.h> since we don't use any symbols that it defines.
91398
91399 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
91400
91401         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
91402         $@-t, so that each temporary file name is unique and valid in the first
91403         8 characters, for operation under DOS.
91404
91405 2002-06-15  Paul Eggert  <eggert@twinsun.com>
91406
91407         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
91408
91409 2002-06-15  Jim Meyering  <meyering@lucent.com>
91410
91411         Work even with DJGPP 2.03, which lacks support for symlinks.
91412         From Richard Dawe.
91413         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
91414         is defined.
91415         * lib/lchown.c (S_ISLNK): Likewise.
91416
91417 2002-06-15  Jim Meyering  <meyering@lucent.com>
91418
91419         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
91420         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
91421         have been included before this file.
91422
91423 2002-06-14  Jim Meyering  <meyering@lucent.com>
91424
91425         * lib/file-type.h: Use the version from diffutils-2.8.2.
91426         * lib/file-type.c: Likewise.
91427
91428 2002-06-07  Jim Meyering  <meyering@lucent.com>
91429
91430         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
91431         They're needed at least for NetBSD 1.5.2.
91432         ($statxfs_includes): Include those same headers.
91433         ($statxfs_includes): Include sys/vfs.h if available.
91434         ($statxfs_includes): Likewise for sys/statvfs.h.
91435         Check for the following members in both structs statfs and statvfs:
91436         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
91437
91438 2002-06-01  Jim Meyering  <meyering@lucent.com>
91439
91440         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
91441         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
91442
91443 2002-05-28  Jim Meyering  <meyering@lucent.com>
91444
91445         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
91446         Reported by Volker Borchert.
91447
91448 2002-05-27  Jim Meyering  <meyering@lucent.com>
91449
91450         Fix a problem seen only on nonconforming systems whereby ls.c's
91451         use of localtime, and then of gettimeofday would cause trouble:
91452         the localtime call used to initialize rpl_gettimeofday's save
91453         mechanism would clobber ls's current local time information so
91454         that in any long listing the first file would always be listed
91455         with date 1970-01-01.  Analysis by Volker Borchert.
91456
91457         * lib/gettimeofday.c (localtime): Undefine.
91458         (rpl_localtime): New function.
91459
91460 2002-05-27  Jim Meyering  <meyering@lucent.com>
91461
91462         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
91463         localtime.
91464
91465         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
91466         use the replacement function; it wouldn't resolve at link time.
91467         Reported by Volker Borchert.
91468
91469 2002-05-22  Jim Meyering  <meyering@lucent.com>
91470
91471         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
91472         file-type.h.
91473         * lib/file-type.h: New file.
91474         * lib/file-type.c (file_type): New file/function.  Extracted from
91475         diffutils.
91476
91477 2002-04-30  Jim Meyering  <meyering@lucent.com>
91478
91479         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
91480
91481 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91482
91483         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
91484
91485 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91486
91487         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
91488         Do not check for alloca.h (no longer used) or stdbool.h (was never
91489         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
91490
91491 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91492
91493         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
91494
91495 2002-04-29  Jim Meyering  <meyering@lucent.com>
91496
91497         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
91498         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
91499         Use AC_FUNC_STRNLEN here instead.
91500
91501         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
91502         With autoconf-2.53a, it's part of AC_PROG_CC.
91503
91504 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91505
91506         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
91507         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
91508
91509 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91510
91511         * lib/sig2str.h, lib/sig2str.c: New files.
91512         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
91513
91514 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91515
91516         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
91517         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
91518         of 127, since 64 is the largest conceivable number for ancient
91519         nonstandard hosts.
91520         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
91521
91522 2002-04-28  Jim Meyering  <meyering@lucent.com>
91523
91524         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
91525
91526 2002-04-24  Jim Meyering  <meyering@lucent.com>
91527
91528         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
91529         (jm_PREREQ): Use it.
91530
91531         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
91532         mach/mach.h fcntl.h.
91533         Check for this function: setlocale.
91534
91535 2002-04-24  Jim Meyering  <meyering@lucent.com>
91536
91537         * lib/gettext.h: New file, from Gettext.
91538         * lib/Makefile.am (INCLUDES): Remove -I../intl.
91539         (libfetish_a_SOURCES): Add gettext.h.
91540
91541 2002-04-16  Jim Meyering  <meyering@lucent.com>
91542
91543         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
91544         ut_pid, ut_id, ut_exit.
91545
91546 2002-04-16  Jim Meyering  <meyering@lucent.com>
91547
91548         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
91549         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
91550         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
91551
91552 2002-04-12  Jim Meyering  <meyering@lucent.com>
91553
91554         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
91555         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
91556         existence of the getmntinfo function.  Needed for Darwin 5.3.
91557
91558         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
91559         This is necessary at least on Darwin 5.3.
91560
91561         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
91562         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
91563         strnlen.o in the library, and that makes some versions of ranlib
91564         object.
91565
91566 2002-04-12  Jim Meyering  <meyering@lucent.com>
91567
91568         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
91569
91570 2002-04-09  Jim Meyering  <meyering@lucent.com>
91571
91572         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
91573         to be more precise.  Rather than saying we're checking whether the
91574         function `works', say what we're testing.
91575         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
91576         Reported by Bruno Haible.
91577
91578 2002-03-10  Jim Meyering  <meyering@lucent.com>
91579
91580         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
91581         Suggestion from Santiago Vila.
91582
91583 2002-03-08  Jim Meyering  <meyering@lucent.com>
91584
91585         * lib/rename.c: Mention that this wrapper is needed also on
91586         mips-dec-ultrix4.4 systems.
91587
91588 2002-03-02  Jim Meyering  <meyering@lucent.com>
91589
91590         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
91591         not HAVE_CLOCK_SETTIME.
91592
91593 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91594
91595         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
91596         Check for clock_settime.
91597
91598 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91599
91600         * lib/nanosleep.h: Rename to....
91601         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
91602
91603         * lib/gettime.c: New file.
91604         * lib/settime.c: New file.
91605         * lib/stime.c: Remove.
91606
91607         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
91608         timespec.h.  Remove nanosleep.h.
91609
91610 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91611
91612         * m4/acl.m4: New file.
91613         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
91614         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
91615
91616 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91617
91618         * lib/acl.c, lib/acl.h: New files.
91619         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
91620
91621 2002-02-24  Jim Meyering  <meyering@lucent.com>
91622
91623         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
91624         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
91625         cause trouble.  Reported by Nelson Beebe.
91626
91627 2002-02-23  Paul Eggert  <eggert@twinsun.com>
91628
91629         * lib/path-concat.c (xpath_concat): Reorder code to pacify
91630         compilers that don't know that xalloc_die never returns.
91631
91632 2002-02-20  Jim Meyering  <meyering@lucent.com>
91633
91634         * lib/getdate.c: Regenerate using bison-1.33.
91635
91636 2002-02-17  Jim Meyering  <meyering@lucent.com>
91637
91638         * config/config.guess (main): Don't use `head -1'; it's no longer
91639         portable. Use `sed 1q' instead.
91640
91641 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
91642
91643         * m4/codeset.m4: Upgrade to gettext-0.11.
91644         * m4/gettext.m4: Upgrade to gettext-0.11.
91645         * m4/glibc21.m4: Upgrade to gettext-0.11.
91646         * m4/iconv.m4: Upgrade to gettext-0.11.
91647         * m4/isc-posix.m4: Upgrade to gettext-0.11.
91648         * m4/lcmessage.m4: Upgrade to gettext-0.11.
91649         * m4/lib-ld.m4: New file, from gettext-0.11.
91650         * m4/lib-link.m4: New file, from gettext-0.11.
91651         * m4/lib-prefix.m4: New file, from gettext-0.11.
91652         * m4/progtest.m4: Upgrade to gettext-0.11.
91653
91654 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91655
91656         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
91657         (jm_PREREQ): Use it.
91658
91659 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91660
91661         * lib/posixver.c, lib/posixver.h: New files.
91662         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91663
91664 2002-02-02  Paul Eggert  <eggert@twinsun.com>
91665             Bruno Haible  <bruno@clisp.org>
91666
91667         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
91668         (fwrite_success_callback): New declaration.
91669         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
91670         print_unicode_char. Call failure callback instead of error.
91671         (fwrite_success_callback): New function.
91672         (exit_failure_callback): New function.
91673         (fallback_failure_callback): New function.
91674         (print_unicode_char): Call unicode_to_mb.
91675
91676 2002-01-26  Jim Meyering  <meyering@lucent.com>
91677
91678         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
91679         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
91680
91681 2002-01-26  Jim Meyering  <meyering@lucent.com>
91682
91683         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
91684
91685 2002-01-22  Paul Eggert  <eggert@twinsun.com>
91686
91687         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
91688
91689 2002-01-22  Jim Meyering  <meyering@lucent.com>
91690
91691         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
91692         Otherwise, some versions of automake would omit the rule that makes
91693         Makefile from Makefile.in.
91694
91695 2002-01-21  Paul Eggert  <eggert@twinsun.com>
91696
91697         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
91698         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91699         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
91700         (memcoll): Set errno to zero if there is no error.
91701
91702         * lib/quotearg.c (quotearg_buffer_restyled):
91703         Fix bug with quoting buffers containing NUL when backslashing escapes.
91704         This bug was exposed by the other changes in this patch.
91705         (quotearg_n_options): New arg ARGSIZE.
91706         All callers changed.
91707         (quoting_options_from_style): New function.
91708         (quotearg_n_style): Use it.
91709         (quotearg_n_style_mem): New function.
91710
91711         * lib/quotearg.h (quotearg_n_style_mem): New function.
91712
91713 2002-01-19  Jim Meyering  <meyering@lucent.com>
91714
91715         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
91716         Remove useless quotes: DF_PROG="df".
91717         * m4/strnlen.m4: New file.
91718
91719 2002-01-16  Paul Eggert  <eggert@twinsun.com>
91720
91721         * lib/backupfile.c (ISDIGIT): Comment fix.
91722         * lib/getdate.y (ISDIGIT): Likewise.
91723         * lib/posixtm.c (ISDIGIT, year): Likewise.
91724         * lib/strverscmp.c (ISDIGIT): Likewise.
91725         * lib/userspec.c (ISDIGIT): Likewise.
91726
91727 2002-01-16  Jim Meyering  <meyering@lucent.com>
91728
91729         * lib/getdate.y: Add three semicolons, each just before a closing
91730         brace. Bison (as of version 1.31) no longer papers over that mistake.
91731
91732 2002-01-05  Jim Meyering  <meyering@lucent.com>
91733
91734         * lib/version-etc.c (version_etc_copyright): Update copyright year.
91735
91736 2001-12-19  Paul Eggert  <eggert@twinsun.com>
91737
91738         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
91739         not silently exit merely because the output buffer happens to
91740         have nothing pending.
91741
91742 2001-12-18  Paul Eggert  <eggert@twinsun.com>
91743
91744         See the big note in ../ChangeLog.
91745         * lib/human.c (suffixes): Prefer K to k for 1024.
91746         (generate_suffix_backwards): New function.
91747         (human_readable_inexact): Use it.
91748         * lib/xstrtol.c (__xstrtol): If there is no number but there
91749         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
91750         Accept 'K' as well as 'k'.
91751
91752 2001-12-15  Jim Meyering  <meyering@lucent.com>
91753
91754         * lib/regex.h (__restrict_arr): Update from libc.
91755
91756         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
91757         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
91758         (STREQ): Define.
91759
91760 2001-12-14  Jim Meyering  <meyering@lucent.com>
91761
91762         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
91763         Suggestion from Bruno Haible.
91764
91765 2001-12-10  Jim Meyering  <meyering@lucent.com>
91766
91767         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
91768         xrealloc, Instead, include "xalloc.h".
91769         (initbuffer): Don't cast xmalloc return value to char*.
91770         (readline): Reword comment.
91771         Don't cast xrealloc return value to char*
91772         Return NULL, not 0.
91773
91774 2001-12-09  Jim Meyering  <meyering@lucent.com>
91775
91776         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
91777         about `signed and unsigned type in conditional expression'.
91778         * lib/posixtm.c (posix_time_parse): Likewise.
91779
91780         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
91781
91782         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
91783         to avoid a pedantic warning.
91784
91785         * lib/getstr.c: Don't include assert.h.
91786         (getstr): Remove warning-evoking assertions.
91787         Return -1 if offset parameter is out of bounds.
91788         Change the type of a local from int to size_t.
91789
91790         * lib/strftime.c (my_strftime_localtime_r): Include this function
91791         definition in the `#if ! HAVE_TM_GMTOFF' block.
91792
91793         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
91794         Include xalloc.h instead.
91795
91796 2001-12-02  Jim Meyering  <meyering@lucent.com>
91797
91798         * lib/tempname.c: Don't declare getenv, thus reverting the change of
91799         2001-11-18.  It's no longer necessary, now that stdlib.h is always
91800         included.
91801
91802         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
91803         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
91804
91805 2001-11-30  Akim Demaille  <akim@epita.fr>
91806
91807         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
91808         before being defined.
91809
91810 2001-11-27  Paul Eggert  <eggert@twinsun.com>
91811
91812         * lib/quotearg.h (quotearg_n, quotearg_n_style):
91813         First arg is int, not unsigned.
91814         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
91815         (SIZE_MAX, UINT_MAX): New macros.
91816         (quotearg_n_options): Abort if N is negative.
91817         Avoid overflow check on hosts where size_t is 64 bits and int
91818         is 32 bits, as overflow is impossible there.
91819         Fix off-by-one typo that caused unnecessary reallocation.
91820
91821 2001-11-27  Jim Meyering  <meyering@lucent.com>
91822
91823         * lib/tempname.c: Merge with version from libc.
91824         * lib/regex.c: Likewise.
91825
91826         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
91827         systems for which STDC_HEADERS is 0, it was not included, resulting in
91828         a warning about an integer-to-pointer conversion problem with getenv.
91829         Reported by Volker Borchert.
91830
91831 2001-11-26  Jim Meyering  <meyering@lucent.com>
91832
91833         * lib/gtod.h: Remove file.
91834         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
91835         * lib/gettimeofday.c: Don't include gtod.h.
91836         (GTOD_init): Remove function.
91837         (rpl_gettimeofday): Do its job here instead, rather than aborting.
91838         Suggestion from Volker Borchert.
91839
91840 2001-11-23  Jim Meyering  <meyering@lucent.com>
91841
91842         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
91843         it.
91844         * lib/hash.c (struct hash_table): Define it here instead.
91845
91846 2001-11-22  Jim Meyering  <meyering@lucent.com>
91847
91848         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
91849
91850 2001-11-20  Jim Meyering  <meyering@lucent.com>
91851
91852         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
91853         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
91854
91855 2001-11-19  Jim Meyering  <meyering@lucent.com>
91856
91857         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
91858         directory.  Use "conftestXXXXXX" as the template.
91859         Suggestion from Paul Eggert.
91860
91861         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
91862         immediately, so the test doesn't mistakenly hit the max-open-files
91863         limit.
91864
91865 2001-11-18  Paul Eggert  <eggert@twinsun.com>
91866
91867         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
91868         (TEMPORARIES): New macro.
91869         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
91870         removes an artificial limitation (e.g. HP-UX 10.20, where
91871         TMP_MAX is 17576).
91872
91873 2001-11-18  Jim Meyering  <meyering@lucent.com>
91874
91875         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
91876
91877 2001-11-18  Jim Meyering  <meyering@lucent.com>
91878
91879         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
91880         on SunOS 4.
91881
91882         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
91883         files will be created before anything else.
91884
91885 2001-11-17  Paul Eggert  <eggert@twinsun.com>
91886
91887         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
91888         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
91889
91890 2001-11-17  Jim Meyering  <meyering@lucent.com>
91891
91892         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
91893         Prompted by a report from Bob Proulx.
91894
91895         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
91896         Instead, require UTILS_FUNC_MKSTEMP.
91897
91898 2001-11-17  Jim Meyering  <meyering@lucent.com>
91899
91900         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
91901         Now, that's done as part of AC_FUNC_STRTOD.
91902
91903 2001-11-17  Jim Meyering  <meyering@lucent.com>
91904
91905         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
91906         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
91907         rather than group writable.  Patch by Juan F. Codagnone.
91908
91909         * lib/readtokens.c: Remove explicit declarations of xmalloc and
91910         xrealloc, Instead, include "xalloc.h".
91911
91912         * lib/mountlist.c: Include unlocked-io.h after all system headers.
91913         Remove explicit declarations of xmalloc, xrealloc,
91914         and xstrdup.  Instead, include "xalloc.h".
91915
91916         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
91917         unlocked-io.h.
91918         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
91919         Likewise.
91920         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
91921
91922         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
91923         Reported by Padraig Brady.
91924
91925         * lib/mkstemp.c: #undef mkstemp.
91926         Include config.h.
91927         (rpl_mkstemp): Rename from mkstemp.
91928         Protoize.
91929
91930 2001-11-16  Jim Meyering  <meyering@lucent.com>
91931
91932         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
91933         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
91934         determine the amount of total physical memory, use pstat_getstatic.
91935         HPUX-11 doesn't define _SC_PHYS_PAGES.
91936         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
91937         If sysconf couldn't be used to determine the amount of available
91938         physical memory, use both pstat_getstatic and pstat_getdynamic.
91939         Based on a patch from Bob Proulx.
91940
91941 2001-11-10  Jim Meyering  <meyering@lucent.com>
91942
91943         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
91944         (jm_PREREQ): Use it.
91945
91946 2001-11-09  Jim Meyering  <meyering@lucent.com>
91947
91948         * m4/jm-macros.m4: Require autoconf-2.52f.
91949         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
91950         Use these AC_-prefixed names, not the AM_-prefixed ones.
91951
91952         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
91953
91954 2001-11-05  Jim Meyering  <meyering@lucent.com>
91955
91956         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
91957
91958 2001-11-04  Jim Meyering  <meyering@lucent.com>
91959
91960         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
91961         $DEFS.
91962
91963 2001-11-03  Jim Meyering  <meyering@lucent.com>
91964
91965         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
91966         of AC_DEFUN.
91967
91968         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
91969         know the name of the variable in the macro definition.
91970
91971 2001-11-03  Jim Meyering  <meyering@lucent.com>
91972
91973         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
91974         in argmatch_to_argument call.
91975
91976         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
91977         argument.
91978
91979         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
91980         e.g., a fault due to an attempt to free a NULL pointer.
91981
91982 2001-11-01  Jim Meyering  <meyering@lucent.com>
91983
91984         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
91985         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
91986
91987 2001-11-01  Jim Meyering  <meyering@lucent.com>
91988
91989         * lib/dirfd.c, lib/dirfd.h: New files.
91990         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
91991
91992         * lib/hash.c (hash_print) [TESTING]: Clean up.
91993
91994 2001-10-22  Paul Eggert  <eggert@twinsun.com>
91995
91996         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
91997         to avoid a warning if -Wall.
91998
91999 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92000
92001         * README: New file
92002         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92003         (per RMS's instructions, this is now the canonical source)
92004         * lgpl/, gpl/: New directories.
92005
92006 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92007
92008         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92009
92010 2001-10-21  Jim Meyering  <meyering@lucent.com>
92011
92012         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92013         this code would end up calling gettext even in packages built
92014         with --disable-nls.
92015         * lib/getopt.c (_): Likewise.
92016         * lib/regex.c (_): Likewise.
92017
92018 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92019
92020         * m4/error.m4 (jm_PREREQ_ERROR):
92021         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92022         AC_FUNC_STRERROR_R does that.
92023         Check for strerror declaration.
92024
92025         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92026         are supposed to have them these days.
92027         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92028         Merge changes from latest Autoconf CVS.
92029         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92030         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92031         POSIX decided to standardize on the int flavor of strerror_r.
92032
92033 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92034
92035         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92036         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92037         Use strerror_r that is only a macro, even if it is not a function.
92038         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92039         (private_strerror): Use prototypes, not old-style function definition.
92040         (print_errno_message): New function.
92041         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92042         char*-flavored one.
92043         (error_tail, error, error_at_line): Use it.
92044
92045 2001-10-11  Jim Meyering  <meyering@lucent.com>
92046
92047         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92048         and quote_n (1, ... to avoid clobbering a buffer.
92049
92050 2001-10-05  Jim Meyering  <meyering@lucent.com>
92051
92052         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92053         hash-pjw.h.
92054         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92055         * lib/hash-pjw.h: New file.
92056
92057 2001-09-30  Jim Meyering  <meyering@lucent.com>
92058
92059         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92060         `struct fsstat' has the `f_fstypename' member.
92061         Use that to define FS_TYPE, which is now used to make
92062         the getfsstat link test tighter.
92063
92064 2001-09-30  Jim Meyering  <meyering@lucent.com>
92065
92066         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92067         Include <sys/ucred.h>, for Apple Darwin.
92068         Include sys/mount.h and sys/fs_types.h only if available.
92069         (FS_TYPE): Define.
92070         (read_filesystem_list): Use FS_TYPE.
92071
92072 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92073
92074         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92075         a boolean context.
92076
92077 2001-09-29  Jim Meyering  <meyering@lucent.com>
92078
92079         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92080         [one-argument getmntent function]): Include stdio.h before mntent.h.
92081         SunOS 4.1.x needs it for the declaration of `FILE'.
92082         Patch by Volker Borchert.
92083
92084         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92085         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92086         sys/fs_types.h, and make the link-test for getfsstat guard #include
92087         directives with appropriate #if HAVE_*_H tests so that we can
92088         detect getfsstat on Apple Darwin1.3.7 systems.
92089         Reported by Nelson Beebe.
92090         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92091
92092 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92093
92094         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92095         #defines strtoimax.  Also treat the other strto* functions
92096         like strtoimax.
92097
92098         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92099         Check for strtoul and strtoumax,
92100         as those declarations are made even in the signed case.
92101         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
92102         Likewise, for strtol and strtoimax.
92103
92104 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92105
92106         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92107         #defines strtoimax.  Also treat the other strto* functions
92108         like strtoimax.
92109
92110         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
92111         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
92112         (strtoimax, strtoumax): Do not declare if already defined as a macro.
92113
92114 2001-09-26  Jim Meyering  <meyering@lucent.com>
92115
92116         Most macros in unlocked-io.h had the wrong number of arguments.
92117         * lib/gen-uio: New script.
92118         (USE_UNLOCKED_IO): Define to 1 if not already defined.
92119         * lib/unlocked-io.hin: Remove file.
92120         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
92121         rather than trying to embed it here.
92122         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
92123         Reported by Padraig Brady.
92124
92125 2001-09-25  Volker Borchert  <bt@teknon.de>
92126
92127         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
92128         `result'.
92129
92130 2001-09-24  Jim Meyering  <meyering@lucent.com>
92131
92132         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
92133
92134 2001-09-23  Jim Meyering  <meyering@lucent.com>
92135
92136         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
92137         instead of the mere test for existence of mntent.h.  The latter
92138         would get a false-positive on AIX 3.4 systems.
92139         In the outer getmntent if-block, don't die if neither of the getmntent
92140         tests succeeds.  Instead, just fall through and continue with the
92141         remaining tests.
92142
92143 2001-09-23  Jim Meyering  <meyering@lucent.com>
92144
92145         * lib/mountlist.c: Remove useless parentheses in #if directives.
92146         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
92147         the deprecated MOUNTED symbol is no longer defined in mntent.h.
92148
92149 2001-09-22  Jim Meyering  <meyering@lucent.com>
92150
92151         * m4/gettext.m4: New file.  From gettext.
92152         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
92153         * m4/progtest.m4: Likewise
92154         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
92155         * m4/glibc21.m4: Likewise.
92156
92157         * m4/libintl.m4: Remove.  No longer used.
92158
92159 2001-09-22  Jim Meyering  <meyering@lucent.com>
92160
92161         * lib/localcharset.c: Update from latest gettext.
92162         * lib/config.charset: Likewise.
92163
92164 2001-09-20  Jim Meyering  <meyering@lucent.com>
92165
92166         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
92167         strtoimax.
92168         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
92169         strtoumax.
92170
92171 2001-09-20  Jim Meyering  <meyering@lucent.com>
92172
92173         * lib/xstrtol.c (strtoimax): Guard declaration with
92174         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
92175         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
92176         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
92177         (strtoumax): Likewise, for completeness (it wasn't necessary).
92178
92179 2001-09-17  Paul Eggert  <eggert@twinsun.com>
92180
92181         * lib/strtoimax.c (HAVE_LONG_LONG):
92182         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
92183         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
92184         to work around bug in IBM C compiler.
92185
92186 2001-09-17  Jim Meyering  <meyering@lucent.com>
92187
92188         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
92189         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
92190         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
92191         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
92192         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
92193         whenever the right hand side need not be expanded by the shell.
92194
92195 2001-09-16  Paul Eggert  <eggert@twinsun.com>
92196
92197         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
92198         library.  It's not correct, as some older glibcs are buggy.
92199         fnmatch wasn't fixed until glibc 2.2.
92200
92201         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
92202         special shell magic here.
92203
92204 2001-09-16  Jim Meyering  <meyering@lucent.com>
92205
92206         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
92207         * m4/jm-macros.m4: Require it.
92208
92209 2001-09-16  Jim Meyering  <meyering@lucent.com>
92210
92211         * lib/mkdir.c: New file.
92212
92213 2001-09-15  Jim Meyering  <meyering@lucent.com>
92214
92215         * m4/jm-macros.m4: Check for help2man.
92216
92217 2001-09-11  Jim Meyering  <meyering@lucent.com>
92218
92219         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
92220         The body, by Paul Eggert, was moved here from configure.in.
92221         * m4/jm-macros.m4: Require UTILS_HOST_OS.
92222
92223 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92224
92225         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
92226         (jm_PREREQ): Use it.
92227
92228 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92229
92230         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
92231         Use ssize_t, not int, to store result of readlink.
92232         Check for ssize_t overflow as well as size_t overflow,
92233         as POSIX says the result of readlink is implementation-defined
92234         when ssize_t overflows.
92235         Remove unnecessary cast to char*.
92236         Use free+malloc instead of realloc, as the storage doesn't need
92237         to be preserved and it's clearer and can be more efficient that way.
92238         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
92239         * lib/xreadlink.h (xreadlink): Update prototype.
92240
92241 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92242
92243         * lib/xgetcwd.c: Revert some of the previous change; intead,
92244         fix the HAVE_GETCWD_NULL code to behave more like the
92245         !HAVE_GETCWD_NULL code used to.
92246
92247         Include "xalloc.h".
92248         (xgetcwd): Do not return NULL when memory is exhausted; instead,
92249         invoke xalloc_die.
92250
92251 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92252
92253         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
92254         sys/param.h, as pathmax.h includes them.
92255
92256 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92257
92258         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
92259         (jm_PREREQ_XGETCWD): New macro.
92260
92261         * m4/getcwd.m4: New file.
92262
92263 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92264
92265         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
92266         like the HAVE_GETCWD_NULL code.
92267         Include pathmax.h if not HAVE_GETCWD.
92268         Do not include xalloc.h.
92269         (INITIAL_BUFFER_SIZE): New symbol.
92270         Do not use xmalloc / xrealloc, since the caller is responsible for
92271         handling errors.  Preserve errno around `free' during failure.
92272         Do not overrun buffer when using getwd.
92273
92274 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92275
92276         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
92277         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
92278         getcwd (NULL, 0).
92279
92280 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92281
92282         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
92283         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
92284         spotted by Jim Meyering.
92285
92286 2001-09-03  Jim Meyering  <meyering@lucent.com>
92287
92288         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
92289         failure.
92290
92291 2001-09-02  Jim Meyering  <meyering@lucent.com>
92292
92293         * lib/error.c: Update from GNU libc.
92294
92295 2001-09-01  Jim Meyering  <meyering@lucent.com>
92296
92297         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
92298         Used by df.
92299
92300 2001-09-01  Jim Meyering  <meyering@lucent.com>
92301
92302         * lib/xreadlink.c: New file.
92303         * lib/xreadlink.h: New file.
92304         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
92305         xreadlink.h.
92306
92307         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
92308         doesn't conflict with sparc Solaris 7's definition in
92309         /usr/include/sys/int_types.h.
92310
92311         * lib/exclude.c: Use `""', not `<>' to #include non-system header
92312         files.
92313         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
92314         and strncasecmp as r-values.  Unixware didn't have declarations.
92315
92316 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92317
92318         * lib/xstrtol.h: Add copyright notice.
92319         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
92320         LONGINT_INVALID_SUFFIX_CHAR.
92321
92322 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92323
92324         * lib/xstrtol.c (strtoimax): New decl.
92325
92326 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92327
92328         * lib/xgetcwd.c: Don't include pathmax.h.
92329         Include stdlib.h and unistd.h if available.
92330         Include xalloc.h.
92331         (xmalloc, xstrdup, free): Remove decls.
92332         (xgetcwd): Don't assume sizes fit in unsigned.
92333         Check for overflow when computing sizes.
92334         Simplify reallocation code.
92335
92336 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92337
92338         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
92339         a directory's st_size can have an arbitrary value, so the old
92340         usage could waste an arbitrary amount of memory.  All uses
92341         changed.
92342         * lib/savedir.h: Update prototype.
92343
92344 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92345
92346         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
92347
92348         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
92349         old strtoimax.c.
92350
92351         Also, make the following further changes to make this file's
92352         configuration more similar to that of strtol.c:
92353         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
92354         (strtoumax, uintmax_t, strtoull, strtol): Remove.
92355         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
92356         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
92357         changed to signed values.
92358
92359         And make the following changes as well:
92360         Fix copyright notice, as 1999 was missing.
92361         (verify): New macro.
92362         (strtoimax): Check sizes at compile-time, not run-time.
92363         Prefer strtol to strtoll if both work.
92364         (main): Remove; it was not that useful and was a pain to maintain.
92365
92366         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
92367
92368 2001-08-31  Jim Meyering  <meyering@lucent.com>
92369
92370         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
92371         Use an initial, malloc'd, buffer of length 128 rather than
92372         a statically allocated one of length 1024.
92373
92374 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92375
92376         Simplify code, partly by assuming autoconf 2.52 semantics.
92377
92378         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
92379
92380         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
92381         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
92382         All uses removed.
92383         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
92384         Move AC_REQUIRE to next-to-top level, to avoid confusion.
92385         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
92386         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
92387         jm_AC_HEADER_INTTYPES_H.
92388         * m4/jm-macros.m4 (jm_MACROS): Likewise.
92389
92390         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
92391
92392         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92393         Quote first arg of AC_DEFUN.
92394         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
92395         since they are needed to parse the include file even if we need
92396         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
92397         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
92398         but with opposite signedness.
92399
92400 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92401
92402         Merge 'exclude' changes from tar 1.13.22.
92403         This fixes one or two unlikely storage allocation overflow bugs,
92404         but doesn't change user-visible behavior otherwise.
92405
92406 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92407
92408         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
92409         (jm_PREREQ_EXCLUDE): New macro.
92410
92411 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92412
92413         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
92414         tm to be declared.
92415
92416 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92417
92418         * lib/hash.c: Remove '2001' from copyright notice.
92419
92420 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92421
92422         * lib/full-write.h: New file.
92423         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
92424         * lib/full-write.c: Correct credits, as cccp.c no longer
92425         exists and anyway it was so heavily changed from the old cccp
92426         code as to be unrecognizable.  Include full-write.h.
92427         (full_write): Return size_t, with short writes meaning failure.
92428         All callers changed.  This fixes a bug with large buffers
92429         on 64-bit hosts.
92430         * lib/utime.c: Include full-write.h.
92431
92432 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92433
92434         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
92435         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
92436         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
92437         Include if available.
92438         (<xalloc.h>): Include
92439         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
92440         (verify): New macro.  Use it to verify that EXCLUDE macros do not
92441         collide with FNM macros.
92442         (struct patopts): New struct.
92443         (struct exclude): Use it, as exclude patterns now come with options.
92444         (new_exclude): Support above changes.
92445         (new_exclude, add_exclude_file):
92446         Initial size must now be a power of two to simplify overflow checking.
92447         (free_exclude, fnmatch_no_wildcards): New function.
92448         (excluded_filename): No longer requires options arg, as the options
92449         are determined by add_exclude.  Now returns bool, not int.
92450         (excluded_filename, add_exclude):
92451         Add support for the fancy new exclusion options.
92452         (add_exclude, add_exclude_file): Now takes int options arg.
92453         Check for arithmetic overflow when computing sizes.
92454         (add_exclude_file): xrealloc might modify errno, so don't
92455         realloc until after errno might be used.
92456
92457         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
92458         New macros.
92459         (free_exclude): New decl.
92460         (add_exclude, add_exclude_file): Now takes int options arg.
92461         (excluded_filename): No longer requires options arg, as the options
92462         are determined by add_exclude.  Now returns bool, not int.
92463
92464 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92465
92466         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
92467
92468 2001-08-27  Jim Meyering  <meyering@lucent.com>
92469
92470         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
92471
92472         * lib/version-etc.c (N_): Remove definition.
92473         Revert most of last change.
92474         Instead, simply don't mark the `Copyright...' string for translation.
92475         Based on advice from Paul Eggert.
92476
92477         * lib/strtoxmax.c: Tweak comment.
92478
92479 2001-08-26  Jim Meyering  <meyering@lucent.com>
92480
92481         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
92482
92483         * m4/xstrtoimax.m4: New file.
92484         * m4/xstrtoumax.m4: Add comments explaining why we
92485         AC_REPLACE_FUNCS(strtol).
92486
92487 2001-08-26  Jim Meyering  <meyering@lucent.com>
92488
92489         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
92490         of copyright with `%s' so translators don't get an untranslated
92491         message in 2002.
92492         (COPYRIGHT_YEAR): Define.
92493         (version_etc): Use fprintf rather than fputs.
92494         Suggestion from Ulrich Drepper.
92495
92496         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
92497
92498         * lib/strtoll.c: New file, from GNU libc.
92499         * lib/xstrtoimax.c: New file.
92500
92501         * lib/xstrtol.h: Add xstrtoimax.
92502         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
92503         * lib/strtoimax.c: New file.  Likewise, but first define
92504         STRTOUXMAX_SIGNED.
92505
92506         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
92507         ...
92508         * lib/strtoxmax.c: ... then renamed to this.
92509
92510 2001-08-18  Paul Eggert  <eggert@twinsun.com>
92511
92512         * m4/inttypes.m4: Add AC_PREREQ(2.13).
92513         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
92514         (jm_AC_TYPE_INTMAX_T): New macro.
92515         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
92516
92517         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
92518
92519         * m4/longlong.m4: Renamed from ulonglong.m4.
92520         * m4/inttypes.m4: Renamed from inttypes_h.m4.
92521         * m4/uintmax_t.m4: Removed.
92522
92523 2001-08-13  Paul Eggert  <eggert@twinsun.com>
92524
92525         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
92526         Port to Solaris 8, where 'sed' requires a space after the 'r'
92527         command, and where sh dislikes "$/".  Clean up the spacing a bit.
92528         Redirect output to $tmp just once.
92529
92530 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
92531
92532         * lib/addext.c (<errno.h>): Include.
92533         (errno): Declare if not defined.
92534         (addext): Work correctly when pathconf returns -1 and leaves
92535         errno alone because there is no limit.  Also, work even if
92536         pathconf returns a value greater than SIZE_MAX.
92537
92538 2001-08-12  Jim Meyering  <meyering@lucent.com>
92539
92540         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
92541         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
92542         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
92543         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
92544         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
92545         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
92546         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
92547         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
92548         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
92549         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
92550         utime.m4, utimes.m4, xstrtoumax.m4:
92551         Quote the first argument in each use of AC_DEFUN.
92552
92553 2001-08-12  Jim Meyering  <meyering@lucent.com>
92554
92555         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
92556         Simply `return getcwd (NULL, 0);'.
92557         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
92558         Use 1300 as initial value for length, not PATH_MAX.
92559
92560         * lib/pathmax.h: Clean up cpp syntax.
92561
92562 2001-08-12  Jim Meyering  <meyering@lucent.com>
92563
92564         * lib/gettimeofday.c: New file.
92565         * lib/gtod.h: New file.
92566         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
92567
92568 2001-08-05  Jim Meyering  <meyering@lucent.com>
92569
92570         * m4/jm-macros.m4: Require autoconf-2.52.
92571
92572 2001-08-04  Jim Meyering  <meyering@lucent.com>
92573
92574         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
92575         stmt, to get in sync with glibc.
92576
92577 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92578
92579         The following changes are from gettext 0.10.39 as maintained by
92580         Bruno Haible.
92581
92582         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
92583         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
92584         with inverted sense.  All uses changed.
92585
92586         * lib/mbswidth.c: Don't include <limits.h>.
92587         Include <stdlib.h> and <string.h> unconditionally.
92588         (iswcntrl, mbsinit, ISCNTRL): New macros.
92589         (mbsnwidth): Use K&R style function declarations.
92590         Don't bother checking for MB_LEN_MAX == 1, since the compiler
92591         can optimize it when MB_CUR_MAX == 1.
92592         The width of control characters is zero, not 1.
92593
92594 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92595
92596         The following changes are from gettext 0.10.39 as maintained by
92597         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
92598
92599         * m4/codeset.m4: Upgrade to serial AM1.
92600         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
92601         all uses changed.  Quote first arg of AC_DEFUN.
92602         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
92603
92604         * m4/iconv.m4: Upgrade to serial AM2.
92605         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
92606         Add --with-libconv-prefix.
92607         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
92608         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
92609         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
92610         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
92611         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
92612
92613         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
92614         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
92615         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
92616         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
92617         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
92618         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
92619         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
92620         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
92621         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
92622
92623         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
92624         string.h any more.
92625
92626         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
92627         not the default value.
92628
92629         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
92630         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
92631         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
92632         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
92633         Also check for iswcntrl, used for wcwidth fallback.
92634         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
92635         to Autoconf 2.13.
92636
92637 2001-08-03  Jim Meyering  <meyering@lucent.com>
92638
92639         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
92640         as it was in the original.  Reported by Paul Eggert.
92641
92642 2001-07-16  Jim Meyering  <meyering@lucent.com>
92643
92644         * m4/gettimeofday.m4: New file.
92645         Prompted by a report from Bernhard Baehr.
92646
92647 2001-07-15  Jim Meyering  <meyering@lucent.com>
92648
92649         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
92650         stuff. Now it's in ../Makefile.cfg.
92651
92652 2001-07-15  Jim Meyering  <meyering@lucent.com>
92653
92654         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
92655         (BUILT_SOURCES): Add unlocked-io.h.
92656         (io_functions): Define.
92657         (unlocked-io.h): New rule.
92658         (DISTCLEANFILES): Add unlocked-io.h.
92659         (all-local): Depend on unlocked-io.h, to ensure it is created.
92660
92661         * lib/unlocked-io.hin: New file
92662
92663         * lib/regex.c: Update from glibc.
92664
92665 2001-07-05  Jim Meyering  <meyering@lucent.com>
92666
92667         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
92668         recommendation.
92669         (libfetish_a_SOURCES): Put all .h files here instead.
92670         Remove a thus-exposed (better checks in automake) duplicate and
92671         two unnecessary .h files.
92672
92673 2001-07-04  Jim Meyering  <meyering@lucent.com>
92674
92675         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
92676         that generates jm-glibc-io.m4 so that it doesn't trigger any make
92677         distcheck failure.
92678
92679 2001-07-02  Jim Meyering  <meyering@lucent.com>
92680
92681         The following changes were prompted by suggestions from Bruno Haible.
92682
92683         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
92684         is now generated.
92685         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
92686         definition of EXTRA_DIST.
92687         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
92688         ensure that the generated file is created/updated whenever the list
92689         of $(unlocked_functions) is changed.
92690         (jm-glibc-io.m4): New rule.
92691         (unlocked-io.h): New rule -- currently unused.
92692
92693 2001-06-24  Jim Meyering  <meyering@lucent.com>
92694
92695         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
92696         unmatched right bracket, rather than kludging it with an extra,
92697         falsely-matching quote in a comment.  Patch by Akim Demaille.
92698
92699 2001-06-11  Jim Meyering  <meyering@lucent.com>
92700
92701         * lib/regex.c: Update from GNU libc.
92702
92703 2001-05-27  Jim Meyering  <meyering@lucent.com>
92704
92705         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
92706         Check for ut_type in struct utmp.
92707
92708 2001-05-27  Jim Meyering  <meyering@lucent.com>
92709
92710         * lib/readutmp.h (UT_TYPE): Define.
92711
92712 2001-05-24  Jim Meyering  <meyering@lucent.com>
92713
92714         * lib/argmatch.c: Include "quote.h".
92715         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
92716         quote function.  Reported by Göran Uddeborg.
92717
92718 2001-05-22  Jim Meyering  <meyering@lucent.com>
92719
92720         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
92721         now that we use the package-supplied version unconditionally.
92722         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
92723
92724 2001-05-21  Jim Meyering  <meyering@lucent.com>
92725
92726         * m4/regex.m4: Change a couple backticks to single quotes to avoid
92727         shell syntax errors.
92728
92729 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92730
92731         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
92732
92733 2001-05-20  Paul Eggert  <eggert@twinsun.com>
92734
92735         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
92736         Don't bother to check library strftime, since
92737         we'll be using our own my_strftime function anyway.
92738         Define my_strftime instead of strftime.
92739
92740 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
92741
92742         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
92743         which is not yet declared.
92744
92745 2001-05-15  Jim Meyering  <meyering@lucent.com>
92746
92747         * m4/regex.m4: Use proper quoting so brackets appear in the test
92748         program.
92749         Reported by, and with help from, Bruno Haible.
92750
92751 2001-05-13  Jim Meyering  <meyering@lucent.com>
92752
92753         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
92754         undefined.
92755
92756 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92757
92758         dirname code cleanup.  base_name now behaves more compatibly
92759         with POSIX basename when given file names that have trailing
92760         slashes, and similarly for dir_name.  Add new primitives
92761         base_len and dir_len.  Put the directory-name-related decls
92762         into dirname.h.
92763
92764         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
92765         * lib/backupfile.c (base_name): Likewise.
92766         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
92767         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
92768         * lib/makepath.c (strip_trailing_slashes): Likewise.
92769         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
92770         ISSLASH): Likewise.
92771         * lib/rename.c (strip_trailing_slashes): Likewise.
92772         * lib/same.c (base_name): Likewise.
92773         * lib/stripslash.c (ISSLASH): Likewise.
92774
92775         * lib/addext.c: Include <dirname.h> after size_t is defined.
92776         * lib/backupfile.c: Likewise.
92777
92778         * lib/addext.c (addext): Use base_len to trim redundant
92779         trailing slashes instead of doing it ourselves.
92780         But do not trim the last slash if it is not redundant.
92781
92782         * lib/backupfile.c (find_backup_file_name,
92783         max_backup_version): Use base_len instead of rolling it ourselves.
92784         Handle the case of "" and (on DOS) "C:" correctly.
92785
92786         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
92787         needed. Include <string.h>, <dirname.h>.
92788         (base_name): Allow file names ending in slashes, other than names
92789         that are all slashes.  In this case, return the basename followed
92790         by the slashes.  This is more general, and can be used in places
92791         where the original base_name purposely had an assertion failure.
92792         (base_len): New function.
92793
92794         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
92795         Do not include <assert.h>; no longer needed.
92796         Include xalloc.h.
92797         (memrchr): Remove decl.
92798         (dir_name_r): Remove.
92799         (dir_len): Renamed from dirlen.  All callers changed.
92800         Rewrite in terms of base_name, for simplicity and consistency.
92801         (dir_name): Never return NULL.  All callers changed.
92802         Do not include <stdlib.h> in test program; no longer needed.
92803         return 0; is fine for test program.
92804
92805         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
92806         New macros.
92807         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
92808
92809         * lib/path-concat.c (path_concat): Use base_len to compute
92810         base length, not strlen; this means we cannot rely on memcpy
92811         to null-terminate.
92812
92813         * lib/same.c (STREQ): Remove.
92814         (same_name): Handle the case where the basename ends in trailing '/'.
92815
92816         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
92817         a slash was stripped.  Do not strip the last slash after a
92818         file system prefix.
92819
92820 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92821
92822         * lib/Makefile.am (libfetish_a_SOURCES):
92823         Add strftime.c, since we now compile it on all hosts.
92824
92825         * lib/strftime.c (my_strftime):
92826         Define to nstrftime if emacs, but only if my_strftime is not defined.
92827         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
92828         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
92829         Add one more extra argument: a nanoseconds value.
92830         All uses changed.
92831         (ns): New macro.
92832         (my_strftime function): Add %N format.
92833         (emacs_strftimeu): Renamed from emacs_strftime,
92834         with extra ut argument.
92835
92836 2001-05-09  Paul Eggert  <eggert@twinsun.com>
92837
92838         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
92839
92840 2001-04-21  Jim Meyering  <meyering@lucent.com>
92841
92842         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
92843         doesn't interfere.
92844
92845 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92846
92847         * m4/ftruncate.m4: Check for chsize.
92848         Link with ftruncate.o unconditionally if ftruncate is missing.
92849         This was required when cross-compiling to i586-mingw32msvc.
92850
92851 2001-04-08  Jim Meyering  <meyering@lucent.com>
92852
92853         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
92854         recomputed; that's necessary when the offset spans a DST transition.
92855         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
92856
92857 2001-04-02  Jim Meyering  <meyering@lucent.com>
92858
92859         * lib/regex.h, regex.c: Update from GNU libc.
92860
92861 2001-03-24  Jim Meyering  <meyering@lucent.com>
92862
92863         * m4/jm-macros.m4: Require autoconf-2.49d.
92864
92865 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
92866
92867         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
92868
92869 2001-03-19  Paul Eggert  <eggert@twinsun.com>
92870
92871         * lib/version-etc.c (version_etc_copyright): Update to 2001.
92872
92873 2001-03-17  Jim Meyering  <meyering@lucent.com>
92874
92875         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
92876         now that the version in autoconf is equivalent.
92877         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
92878
92879         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
92880         Suggestion from Akim Demaille.
92881
92882         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
92883         (jm_PREREQ_TEMPNAME): New function.
92884
92885 2001-03-16  Paul Eggert  <eggert@twinsun.com>
92886
92887         * lib/tempname.c (uint64_t): Define to uintmax_t if
92888         not defined, and if UINT64_MAX is not defined.
92889         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
92890         Reported by John David Anglin.
92891
92892 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
92893
92894         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
92895         resolve alias if codeset is empty.
92896         * lib/config.charset (BeOS): Use wildcard syntax.
92897
92898 2001-03-13  Jim Meyering  <meyering@lucent.com>
92899
92900         * lib/path-concat.c (path_concat)
92901         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
92902         concatenating e.g., `C:' and `foo'.
92903         From Bruno Haible.
92904
92905 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
92906
92907         * lib/localcharset.c (locale_charset): Don't use
92908         setlocale(LC_CTYPE,NULL). Don't return NULL.
92909         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
92910
92911 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
92912
92913         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
92914         support for DOS/DJGPP.
92915
92916 2001-03-01  Paul Eggert  <eggert@twinsun.com>
92917
92918         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
92919         lacks mkstemp.  Compile our own tempname.c if we compile our own
92920         mkstemp.c, as mkstemp relies on tempname.
92921
92922 2001-03-01  Jim Meyering  <meyering@lucent.com>
92923
92924         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
92925         AH_VERBATIM really does output its argument verbatim.
92926
92927 2001-02-28  Paul Eggert  <eggert@twinsun.com>
92928
92929         * lib/Makefile.am (libfetish_a_SOURCES):
92930         Add dup-safer.c, fopen-safer.c.
92931         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
92932
92933         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
92934         * lib/unistd-safer.h: New files.
92935
92936 2001-02-25  Paul Eggert  <eggert@twinsun.com>
92937
92938         The mkstemp replacement is taken from glibc 2.2.2, with some
92939         portability fixes for use outside glibc, as follows:
92940
92941         * lib/tempname.c (struct_stat64): New macro.
92942         (direxists, __gen_tempname): Use it.
92943         This avoids a portability problem with Solaris 8.
92944
92945         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
92946         (<stddef.h>, <stdint.h>, <string.h>):
92947         Include only if STDC_HEADERS || _LIBC.
92948         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
92949         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
92950         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
92951         (__set_errno): Define this macro if <errno.h> doesn't.
92952         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
92953         Define these macros if <stdio.h> doesn't.
92954         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
92955         Define these macros if <sys/stat.h>
92956         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
92957         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
92958         __xstat64): Define if not _LIBC.
92959         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
92960         (__gen_tempname): Invoke gettimeofday only if
92961         HAVE_GETTIMEOFDAY || _LIBC;
92962         otherwise, fall back on plain "time".
92963         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
92964
92965         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
92966
92967         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
92968
92969 2001-02-18  Paul Eggert  <eggert@twinsun.com>
92970
92971         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
92972
92973 2001-02-17  Paul Eggert  <eggert@twinsun.com>
92974
92975         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
92976         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
92977         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
92978         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92979
92980 2001-02-17  Paul Eggert  <eggert@twinsun.com>
92981
92982         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
92983         Remove workaround macros for hosts that have mbrtowc but not
92984         mbstate_t, as we now insist on proper declarations for both
92985         before using mbrtowc.
92986
92987 2001-02-17  Jim Meyering  <meyering@lucent.com>
92988
92989         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
92990         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
92991         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
92992         UnixWare 7.1.1.
92993
92994         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
92995         rather than AC_CACHE_VAL.
92996
92997 2001-02-17  Jim Meyering  <meyering@lucent.com>
92998
92999         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93000         around included file name.
93001
93002         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93003
93004         * lib/strftime.c: Update from GNU libc (the only changes were to
93005         comments).
93006
93007 2001-02-17  Jim Meyering  <meyering@lucent.com>
93008
93009         * lib/regex.c: Update from libc.
93010
93011 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93012
93013         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93014         clash.
93015
93016 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93017
93018         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93019         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93020         Reported by Mark Hounschell via Paul Eggert.
93021
93022 2001-02-07  Jim Meyering  <meyering@lucent.com>
93023
93024         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93025
93026 2001-02-05  Jim Meyering  <meyering@lucent.com>
93027
93028         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93029         it includes the patch required for `large file' support with at least
93030         HP-UX's 10.20 /bin/cc.
93031
93032 2001-02-03  Jim Meyering  <meyering@lucent.com>
93033
93034         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93035         AS_IF, now that it works once again (mysteriously).
93036         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93037
93038 2001-01-30  Jim Meyering  <meyering@lucent.com>
93039
93040         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93041         * m4/chown.m4: Rename conftestchown to conftest.chown.
93042         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93043         s/conftestdir2/conftest.d2/.
93044         * m4/utimes.m4: s/conftestdata/conftest.data/
93045         Inspired by Pavel Roskin's change in autoconf.
93046
93047 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93048
93049         * lib/config.charset: Update for FreeBSD 4.2.
93050
93051 2001-01-27  Jim Meyering  <meyering@lucent.com>
93052
93053         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93054         a use of AS_IF.
93055         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93056
93057 2001-01-26  Jim Meyering  <meyering@lucent.com>
93058
93059         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93060         quotearg.c includes it.
93061
93062 2001-01-26  Jim Meyering  <meyering@lucent.com>
93063
93064         * lib/quotearg.c: Include stddef.h.
93065         * lib/quote.c: Include stddef.h.
93066         Reported by Axel Kittenberger.
93067
93068         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93069         line in double quotes so that it evokes a better diagnostic.
93070         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93071         Reported by Axel Kittenberger.
93072
93073 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93074
93075         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93076         as if it was a `charset'.
93077
93078 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93079
93080         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93081         has const.
93082
93083 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93084
93085         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93086         to avoid a warning.  Add back 'const' to inptr.
93087
93088 2001-01-20  Jim Meyering  <meyering@lucent.com>
93089
93090         Be sure that headers are checked before used in code compiled
93091         for the type checks.
93092         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93093         In place of that, invoke jm_CHECK_ALL_TYPES.
93094         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
93095         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
93096         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
93097         The check for ssize_t was mistakenly run before the test for unistd.h.
93098
93099         The configure-time check for stdbool.h was missing.
93100         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
93101         (jm_PREREQ_HASH): New function.
93102
93103 2001-01-17  Jim Meyering  <meyering@lucent.com>
93104
93105         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
93106         for autoconf-2.49c.
93107         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
93108
93109 2001-01-16  Jim Meyering  <meyering@lucent.com>
93110
93111         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
93112         From Bruno Haible.
93113
93114 2001-01-14  Jim Meyering  <meyering@lucent.com>
93115
93116         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
93117         foo and bar.  Create conftestdir/ in the script, not in the C code.
93118         Remove directories in the script, not in the C code.
93119         Remove conftestdir{,2} before trying to create the directory.
93120         Make the entire configure script fail if the mkdir fails.
93121
93122 2001-01-14  Jim Meyering  <meyering@lucent.com>
93123
93124         * lib/rename.c: New file.  From Volker Borchert.
93125         Include stdlib.h, string.h or strings.h, and xalloc.h.
93126         Use strip_trailing_slashes rather than open-coding it.
93127
93128 2001-01-03  Paul Eggert  <eggert@twinsun.com>
93129
93130         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
93131
93132 2001-01-03  Jim Meyering  <meyering@lucent.com>
93133
93134         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
93135         of local `inptr' to avoid warning with some system declarations of
93136         iconv.
93137
93138 2001-01-02  Volker Borchert  <bt@teknon.de>
93139
93140         * m4/rename.m4: New file.
93141         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
93142
93143 2001-01-01  Jim Meyering  <meyering@lucent.com>
93144
93145         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
93146         even on systems with utmpx.h.  It's necessary for the declaration of
93147         utmp's ut_user member.  Reported by Andreas Jaeger.
93148
93149         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
93150         available. They are required for the declarations of getgrgid and
93151         getpwuid resp.
93152         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
93153         Reported by Andreas Jaeger.
93154
93155 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
93156
93157         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
93158         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
93159         so `make install' also works in VPATH builds.
93160
93161 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
93162
93163         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
93164         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
93165         can be used in subdirectories.
93166
93167 2000-12-29  Paul Eggert  <eggert@twinsun.com>
93168
93169         * lib/modechange.c: Do not assume that mode_t uses the
93170         traditional octal encoding.  E.g. "chmod 1 FOO" should set
93171         the other-execute bit of FOO even if S_IXOTH != 1.
93172
93173         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
93174         WOTH, XOTH, ALLM): New macros.
93175         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
93176          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
93177         Use them.
93178         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
93179         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
93180         (mode_compile):
93181         No need to use uintmax_t; unsigned long is long enough.
93182         Don't bother to get suffix since we don't use it.
93183
93184 2000-12-26  Jim Meyering  <meyering@lucent.com>
93185
93186         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
93187         better with autoheader.
93188
93189 2000-12-24  Jim Meyering  <meyering@lucent.com>
93190
93191         * lib/hash.c (is_prime): Return explicit boolean values.
93192         (hash_get_first): Return NULL to appease Irix5.6's 89.
93193         Reported by Nelson Beebe.
93194
93195 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
93196
93197         * lib/localcharset.c (locale_charset): Add support for Win32.
93198
93199 2000-12-18  Paul Eggert  <eggert@twinsun.com>
93200
93201         * lib/physmem.h, lib/physmem.c: New files.
93202
93203         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
93204         (noinst_HEADERS): Add physmem.h.
93205
93206         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
93207         't' for compatibility with Solaris 8 sort.
93208
93209 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
93210
93211         * lib/config.charset: Add support for BeOS.
93212
93213 2000-12-17  Jim Meyering  <meyering@lucent.com>
93214
93215         * m4/dos.m4 (jm_AC_DOS): New file and macro.
93216         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
93217
93218 2000-12-16  Jim Meyering  <meyering@lucent.com>
93219
93220         This bug had a serious impact on chown: `chown N:M FILE' (for integer
93221         N and M) would have treated it like `chown N:N FILE'.
93222
93223         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
93224
93225 2000-12-16  Jim Meyering  <meyering@lucent.com>
93226
93227         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
93228         SHELLS_FILE to a file name that's useful on djgpp systems.
93229         Include stdlib.h.
93230         (ADDITIONAL_DEFAULT_SHELLS): Define.
93231         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
93232         Based mostly on a patch from Prashant TR.
93233
93234 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
93235
93236         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
93237         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
93238         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
93239
93240 2000-12-08  Andreas Schwab  <schwab@suse.de>
93241
93242         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
93243         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
93244
93245 2000-12-07  Jim Meyering  <meyering@lucent.com>
93246
93247         * lib/stripslash.c (ISSLASH): Define.
93248         (strip_trailing_slashes): Use ISSLASH rather than comparing against
93249         `/'.
93250         From Prashant TR.
93251
93252         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
93253         (dir_name_r): Declare this function as static.
93254         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
93255         manifest itself on a name containing a mix of slashes and
93256         backslashes.
93257         Make this function work with names starting with a DOS-style
93258         drive letter and colon prefix.
93259         (dir_name): Append `.' if necessary.
93260         Based mostly on patches from Prashant TR and Eli Zaretskii.
93261
93262         * lib/dirname.h (dir_name_r): Remove prototype.
93263
93264 2000-12-06  Paul Eggert  <eggert@twinsun.com>
93265
93266         * m4/off_t-format.m4: Remove this file.
93267         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
93268
93269 2000-12-06  Jim Meyering  <meyering@lucent.com>
93270
93271         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
93272         replacement strtoull, we may well need the replacement strtoul, too.
93273         Check for declarations of strtoul and strtoull.
93274         Check for strtol.  Mainly as a cue to cause automake to include
93275         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
93276         Check for limits.h -- strtol.c needs it.
93277
93278 2000-12-05  Jim Meyering  <meyering@lucent.com>
93279
93280         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
93281
93282 2000-12-04  Jim Meyering  <meyering@lucent.com>
93283
93284         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
93285         Also include memory.h, stdlib.h, unistd.h if appropriate.
93286         Reported by Andreas Jaeger (conflicting declaration of malloc).
93287
93288 2000-12-02  Jim Meyering  <meyering@lucent.com>
93289
93290         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
93291         * m4/jm-macros.m4 (jm_MACROS): require it.
93292
93293 2000-12-02  Jim Meyering  <meyering@lucent.com>
93294
93295         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
93296
93297 2000-12-01  Paul Eggert  <eggert@twinsun.com>
93298
93299         * lib/memrchr.c: Include <config.h> before any system include file.
93300
93301 2000-11-30  Jim Meyering  <meyering@lucent.com>
93302
93303         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
93304
93305 2000-11-30  Jim Meyering  <meyering@lucent.com>
93306
93307         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
93308
93309 2000-11-29  Paul Eggert  <eggert@twinsun.com>
93310
93311         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
93312
93313 2000-11-26  Jim Meyering  <meyering@lucent.com>
93314
93315         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
93316
93317 2000-11-22  Paul Eggert  <eggert@twinsun.com>
93318
93319         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
93320         size of (size_t) -1; it's not portable.
93321
93322 2000-11-17  Jim Meyering  <meyering@lucent.com>
93323
93324         * lib/strstr.c: Update from GNU libc.
93325
93326 2000-11-17  Akim Demaille  <akim@epita.fr>
93327
93328         * lib/obstack.h: Formatting changes.
93329         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
93330         prevent type checking.
93331         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
93332         cast the value to (void *): assigning a `foo *' to a `void *'
93333         variable is valid.
93334         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
93335
93336 2000-11-16  Jim Meyering  <meyering@lucent.com>
93337
93338         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
93339
93340 2000-11-11  Jim Meyering  <meyering@lucent.com>
93341
93342         * lib/error.c: Add a couple #includes, merging from GNU libc version.
93343
93344 2000-11-10  Jim Meyering  <meyering@lucent.com>
93345
93346         * lib/obstack.h: Update from GNU libc.
93347         * lib/obstack.c: Likewise.
93348
93349 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
93350
93351         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
93352
93353 2000-11-06  Paul Eggert  <eggert@twinsun.com>
93354
93355         * lib/getusershell.c (setusershell): Use rewind rather than
93356         fseek/fseeko, to avoid configuration hassles with fseeko.
93357         Don't bother opening SHELLS_FILE if shellstream is NULL;
93358         it's not necessary.
93359
93360 2000-11-05  Jim Meyering  <meyering@lucent.com>
93361
93362         * lib/makepath.h (make_dir): Declare.
93363         * lib/makepath.c (make_dir): Remove `static' attribute.
93364         Tweak a comment.
93365
93366 2000-11-04  Jim Meyering  <meyering@lucent.com>
93367
93368         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
93369
93370 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
93371
93372         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
93373         last one in a bucket, advance to the next bucket.
93374
93375 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
93376
93377         * lib/fnmatch.c: Do not comment out all the code if we are using
93378         the GNU C library, because in some cases we are replacing buggy
93379         code in the GNU C library itself.
93380
93381 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
93382
93383         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
93384         (regex_compile): Catch bogus \(\1\).
93385
93386 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93387
93388         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
93389         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
93390         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
93391
93392 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93393
93394         * lib/error.h, getline.h, modechange.h:
93395         Remove "2000" from Copyright line, as the file hasn't been
93396         changed this year other than in the copyright notice.
93397
93398         * lib/xalloc.h: Add "2000" to Copyright line, as this file
93399         was changed this year.
93400
93401 2000-10-29  Jim Meyering  <meyering@lucent.com>
93402
93403         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
93404         renaming.
93405         * m4/ls-mntd-fs.m4: Likewise
93406
93407 2000-10-29  Jim Meyering  <meyering@lucent.com>
93408
93409         * lib/xstat.in: Fix grammar in comment.
93410
93411 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
93412
93413         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
93414         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
93415         doesn't define __restrict_arr.
93416
93417 2000-10-28  Jim Meyering  <meyering@lucent.com>
93418
93419         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
93420         (jm_PREREQ_MEMCHR): New function.
93421
93422 2000-10-28  Jim Meyering  <meyering@lucent.com>
93423
93424         * lib/memchr.c: Update from libc.
93425         Adjust for portability:
93426         [HAVE_STDLIB_H]: Include stdlib.h.
93427         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
93428         Undef __memchr, too.
93429         [!weak_alias]: Define __memchr to memchr.
93430
93431         * lib/regex.c: Update from libc.
93432         * lib/regex.h: Likewise.
93433         * lib/getopt1.c: Likewise.
93434         * lib/memcmp.c: Likewise.
93435
93436         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
93437         Avoid using fseek, when possible -- it's broken by design.
93438         Patch by Ulrich Drepper.
93439
93440 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
93441
93442         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
93443         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
93444         Giving in to popular pressure to shut up the compiler with casts.
93445
93446 2000-10-26  Jim Meyering  <meyering@lucent.com>
93447
93448         * lib/strftime.c: Update from libc.
93449
93450 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
93451
93452         * regex.c: More `unsigned char' -> `re_char' changes.
93453         Also change several `int' into `re_wchar_t'.
93454         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
93455         (PUSH_FAILURE_POINTER): Don't cast any more.
93456         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
93457         We want GCC to complain, since this piece of code makes
93458         re_match non-reentrant, which *should* be fixed.
93459         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
93460         (EXTEND_BUFFER): Use RETALLOC.
93461         (SET_LIST_BIT): Don't cast.
93462         (re_wchar_t): New type.
93463         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
93464         that those two functions will always properly return.
93465         (IMMEDIATE_QUIT_CHECK): Cast to void.
93466         (analyse_first): Use recursion rather than an explicit stack.
93467         (re_compile_fastmap): Can't fail anymore.
93468         (re_search_2): Don't check re_compile_fastmap for failure.
93469         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
93470         Now also sets the new value (passed in a new argument).
93471         (re_match_2_internal): Use it.
93472         Also, use a new var `reg' of type size_t when looping through regs
93473         rather than reuse the inappropriate `mcnt'.
93474
93475 2000-10-25  Jim Meyering  <meyering@lucent.com>
93476
93477         * lib/obstack.c: Update from libc.
93478
93479 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
93480
93481         * regex.c (regex_compile): Change the way of handling a range from
93482         a char less than 256 to a char not less than 256.
93483
93484 2000-10-24  Andrew Innes  <andrewi@gnu.org>
93485
93486         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
93487         NT-Emacs only.
93488         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
93489         so that re_search functions only quit when callers expect them to.
93490
93491 2000-10-23  Jim Meyering  <meyering@lucent.com>
93492
93493         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
93494         wrong.  That set_locale call must not have any side effects.
93495         From Paul Eggert.
93496
93497 2000-10-22  Jim Meyering  <meyering@lucent.com>
93498
93499         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
93500         [CYCLIC]: Remove now-unused definition.
93501
93502         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
93503         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
93504         Suggestion from Ulrich Drepper.
93505
93506 2000-10-21  Jim Meyering  <meyering@lucent.com>
93507
93508         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
93509         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
93510         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
93511
93512 2000-10-21  Jim Meyering  <meyering@lucent.com>
93513
93514         * lib/dirname.c (memrchr): Declare if necessary.
93515         (dir_name): Remove the restriction that there be no
93516         trailing slashes.  Now, this code skips past them, effectively
93517         ignoring them.
93518         [TEST_DIRNAME] (main): New unit tests.
93519
93520         * lib/memrchr.c: New file from GNU libc.
93521         Undef __memrchr, too.
93522         [!weak_alias]: Define __memrchr to memrchr.
93523         Guard weak_alias use with `#ifdef weak_alias'.
93524
93525 2000-10-21  Jim Meyering  <meyering@lucent.com>
93526
93527         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
93528         (dir_name): Use dir_name_r.
93529         * lib/dirname.h (dir_name_r): Declare it.
93530
93531 2000-10-17  Jim Meyering  <meyering@lucent.com>
93532
93533         * lib/quote.h (PARAMS): Define and use.
93534         Reported by Akim Demaille.
93535
93536         * lib/getopt.c: Update from libc.
93537
93538 2000-10-16  Jim Meyering  <meyering@lucent.com>
93539
93540         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
93541         setlocale.
93542         From Jan Fedak.
93543
93544 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
93545
93546         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
93547
93548 2000-09-25  Jim Meyering  <meyering@lucent.com>
93549
93550         * lib/md5.h (rol): Define (from GnuPG).
93551
93552         * lib/sha.c: Give credit (GnuPG) where due.
93553         (M): Use rol rather than open-coding it.
93554         Add a FIXME comment.
93555
93556 2000-09-21  Jim Meyering  <meyering@lucent.com>
93557
93558         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
93559         Reported by Michael Stone.
93560
93561 2000-09-20  Jim Meyering  <meyering@lucent.com>
93562
93563         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
93564         (noinst_HEADERS): Add sha.h.
93565         Based on code from Scott G. Miller and from GnuPG.
93566
93567 2000-09-18  Jim Meyering  <meyering@lucent.com>
93568
93569         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
93570         LIBS. Otherwise, everyone ends up linking with -lelf for some
93571         configurations.
93572         Reported by Mike Stone.
93573
93574 2000-09-15  Jim Meyering  <meyering@lucent.com>
93575
93576         * lib/regex.c: Update from libc.
93577
93578 2000-09-10  Jim Meyering  <meyering@lucent.com>
93579
93580         * lib/getopt.c (_getopt_internal): Update from glibc.
93581
93582 2000-09-09  Jim Meyering  <meyering@lucent.com>
93583
93584         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
93585         think it should be used as a general replacement for isascii.
93586         * lib/fnmatch.c: Likewise.
93587         * lib/mbswidth.c: Likewise
93588         * lib/regex.c: Likewise.
93589
93590         Don't use atoi.
93591         * lib/userspec.c: Include sys/param.h and limits.h.
93592         Include xstrtol.h.
93593         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93594         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
93595         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
93596         UID, GID.  Check range.
93597
93598 2000-09-06  Jim Meyering  <meyering@lucent.com>
93599
93600         * lib/getopt.c (_getopt_internal): Update from glibc.
93601
93602 2000-08-30  Jim Meyering  <meyering@lucent.com>
93603
93604         * lib/strftime.c: Merge in changes from GNU libc.
93605
93606 2000-08-26  Jim Meyering  <meyering@lucent.com>
93607
93608         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
93609         * m4/fpending.m4: New file.
93610
93611 2000-08-26  Jim Meyering  <meyering@lucent.com>
93612
93613         * lib/closeout.c: Include "__fpending.h".
93614         (close_stdout_status): Return right away if there's nothing to flush.
93615
93616         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
93617         * lib/__fpending.c: New file.
93618         * lib/__fpending.h: New file.
93619
93620 2000-08-20  Jim Meyering  <meyering@lucent.com>
93621
93622         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
93623         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
93624         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
93625
93626 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
93627
93628         Improve fileutils installation on systems where running
93629         programs (like install) can't be unlinked.
93630         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
93631         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
93632
93633 2000-08-07  Paul Eggert  <eggert@twinsun.com>
93634
93635         Standardize on "memory exhausted" instead of "Memory exhausted"
93636         or "virtual memory exhausted".
93637         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
93638         "virtual memory exhausted".
93639         * lib/same.c (same_name): Invoke xalloc_die instead of printing
93640         our own message.
93641         * lib/userspec.c (parse_user_spec): Likewise.
93642         * lib/bumpalloc.h: comment fix
93643         * lib/same.c, userspec.c: Include xalloc.h.
93644
93645         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
93646         not char *const and pointing to a constant array.
93647         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
93648         (xrealloc): Comment fix.
93649
93650         * lib/userspec.c (parse_user_spec):
93651         Don't translate a message until just before returning,
93652         to avoid unnecessary translation.
93653
93654 2000-08-07  Jim Meyering  <meyering@lucent.com>
93655
93656         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
93657         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
93658         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
93659         getgroups.c, gethostname.c, getopt.h, group-member.c,
93660         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
93661         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
93662         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
93663         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
93664         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
93665         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
93666         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
93667         yesno.c: Back out Copyright date changes for each file with no change
93668         this year.  This eases coordination with other programs using the same
93669         source code modules.  From Paul Eggert.
93670
93671 2000-08-06  Paul Eggert  <eggert@twinsun.com>
93672
93673         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
93674         not char, for compatibility with glibc 2.1.3 strftime.c.
93675
93676 2000-08-03  Greg McGary  <greg@mcgary.org>
93677
93678         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
93679         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
93680         (EXTEND_BUFFER): Use them.
93681
93682 2000-08-01  Jim Meyering  <meyering@lucent.com>
93683
93684         * lib/dirname.c (ISSLASH): Define.
93685         (BACKSLASH_IS_PATH_SEPARATOR): Define.
93686         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
93687         both `\' and `/' may be use as path separators.
93688         Based on a patch from Prashant TR.
93689
93690 2000-07-31  Paul Eggert  <eggert@twinsun.com>
93691
93692         * lib/quotearg.c (quotearg_n_options): Don't make the initial
93693         slot vector a constant, since it might get modified.
93694
93695 2000-07-31  Jim Meyering  <meyering@lucent.com>
93696
93697         * lib/xmalloc.c: Use `virtual memory exhausted', not
93698         `Memory exhausted'.
93699         * lib/obstack.c (print_and_abort): Likewise.
93700
93701 2000-07-30  Paul Eggert  <eggert@twinsun.com>
93702
93703         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
93704         buffer, so that the caller can always quote one small
93705         component of a "memory exhausted" message in slot 0.
93706         From a suggestion by Jim Meyering.
93707
93708 2000-07-30  Jim Meyering  <meyering@lucent.com>
93709
93710         * lib/makepath.c (make_path): Quote the other instance, too.
93711
93712         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
93713         (STATIC_BUF_SIZE): Define.
93714         (quotearg_n_options): Use only statically allocated storage when
93715         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
93716         than STATIC_BUF_SIZE.
93717
93718 2000-07-29  Jim Meyering  <meyering@lucent.com>
93719
93720         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
93721         * lib/dirname.c (dir_name): Likewise.
93722
93723         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
93724         `/'.
93725
93726         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
93727         (dir_name): Assert that there are no trailing slashes.
93728
93729 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
93730
93731         * lib/mbswidth.h (mbswidth): Add a flags argument.
93732         (mbswidth): New declaration.
93733         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
93734         * lib/mbswidth.c (mbswidth): Add a flags argument.
93735         (mbsnwidth): New function.
93736
93737 2000-07-24  Jim Meyering  <meyering@lucent.com>
93738
93739         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
93740
93741 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93742
93743         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
93744
93745 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93746
93747         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
93748         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
93749         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
93750         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
93751         invoke multibyte primitives.
93752
93753 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93754
93755         * lib/quotearg.c:
93756         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
93757         so that mbstate_t is always defined.
93758
93759         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
93760         be 1 in at least one GCC installation, and this configuration
93761         error is likely to be common.  Ignoring MB_LEN_MAX hurts
93762         performance on hosts that have mbrtowc but have only unibyte
93763         locales, but I assume these hosts are rare.
93764
93765 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93766
93767         * lib/mbswidth.c (_XOPEN_SOURCE):
93768         Don't define; this causes problems on Solaris 7.
93769         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
93770
93771 2000-07-23  Jim Meyering  <meyering@lucent.com>
93772
93773         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
93774         too: getgrgid, getpwuid, getuid.
93775
93776 2000-07-23  Jim Meyering  <meyering@lucent.com>
93777
93778         * lib/basename.c (base_name): Add an assertion.
93779
93780 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
93781
93782         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
93783         shadow its mbsinit function.
93784
93785 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93786
93787         * lib/mbswidth.h: New file.
93788         * lib/mbswidth.c: New file.
93789         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
93790         (noinst_HEADERS): Add mbswidth.h.
93791
93792 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93793
93794         * lib/config.charset: Add support for FreeBSD. Improve support for
93795         HP-UX and IRIX 6.
93796
93797 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
93798
93799         * m4/mbswidth.m4: New file.
93800         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
93801
93802 2000-07-15  Jim Meyering  <meyering@lucent.com>
93803
93804         * lib/makepath.c: Include quote.h.
93805         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
93806         corresponding argument in a `quote (...)' call.
93807         Give better diagnostics.
93808
93809         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
93810         (noinst_HEADERS): Add quote.h.
93811
93812         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
93813         from tar's src/misc.c.
93814         * lib/quote.h: New file.  Prototypes for same.
93815
93816 2000-07-14  Paul Eggert  <eggert@twinsun.com>
93817
93818         From a suggestion by Bruno Haible.
93819         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
93820         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
93821         to decide whether to define the BeOS workaround macro;
93822         this adjusts to the change to AC_MBSTATE_T.
93823
93824 2000-07-14  Jim Meyering  <meyering@lucent.com>
93825
93826         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
93827         jm_AC_TYPE_UINTMAX_T.
93828
93829 2000-07-13  Paul Eggert  <eggert@twinsun.com>
93830
93831         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
93832
93833         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
93834         quotearg_buffer_restyled): Add support for
93835         clocale_quoting_style.  Undo previous change to
93836         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
93837         and "{RIGHT QUOTATION MARK}" msgids.
93838
93839 2000-07-10  Paul Eggert  <eggert@twinsun.com>
93840
93841         From a suggestion by Bruno Haible.
93842         * m4/mbstate_t.m4 (AC_MBSTATE_T):
93843         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
93844         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
93845         and mbstate_t, to a single-part test that simply defines mbstate_t.
93846         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
93847         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
93848
93849 2000-07-10  Jim Meyering  <meyering@lucent.com>
93850
93851         * m4/strerror_r.m4: Mirror the correction made in autoconf.
93852
93853         * m4/gnu-source.m4: Output to confdefs.h directly.
93854         Suggestion from Akim Demaille.
93855
93856 2000-07-09  Paul Eggert  <eggert@twinsun.com>
93857
93858         The old behavior of quoting `like this' doesn't look good with
93859         newer, ISO-style fonts.  See:
93860         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
93861
93862         Instead, quote "like this" by default.  Let the translator
93863         tailor the locale-specific quoting behavior by providing
93864         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
93865
93866         * lib/quotearg.c (N_): New macro.
93867         (gettext_default): New function.
93868         (quotearg_buffer_restyled): Use
93869         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
93870         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
93871
93872 2000-07-09  Jim Meyering  <meyering@lucent.com>
93873
93874         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
93875         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
93876
93877         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
93878         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
93879
93880 2000-07-09  Jim Meyering  <meyering@lucent.com>
93881
93882         * lib/Most files: Update copyright dates to include 2000.
93883
93884 2000-07-08  Jim Meyering  <meyering@lucent.com>
93885
93886         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
93887         if not defined.
93888         (xgethostname): Remove now-unnecessary #ifdef.
93889         Move declaration of `err' into loop where it's used.
93890
93891 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93892         and Bruno Haible  <haible@clisp.cons.org>
93893
93894         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
93895         only if the test for an object-type mbstate_t fails.  This
93896         prevents us from mistakenly reporting that mbstate_t is a
93897         system object type after we "#define mbstate_t int" to work
93898         around its lack.
93899
93900 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93901         and Bruno Haible  <haible@clisp.cons.org>
93902
93903         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
93904
93905 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93906
93907         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
93908         to strerror_r.
93909         Include <ctype.h> for use of isalpha.
93910
93911 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93912
93913         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
93914         by allocating a larger buffer. Test the gethostname return value for
93915         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
93916         returns an error and ENAMETOOLONG isn't defined.
93917
93918 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93919
93920         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
93921         dimension.
93922
93923 2000-07-04  Jim Meyering  <meyering@lucent.com>
93924
93925         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
93926         of the deprecated AC_CHECKING.
93927
93928 2000-07-04  Jim Meyering  <meyering@lucent.com>
93929
93930         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
93931         Reported by Bruno Haible.
93932
93933 2000-07-04  Jim Meyering  <meyering@lucent.com>
93934
93935         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
93936         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
93937         lacks mbrtowc.
93938
93939 2000-07-03  Paul Eggert  <eggert@twinsun.com>
93940
93941         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
93942         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
93943
93944 2000-07-03  Paul Eggert  <eggert@twinsun.com>
93945         and Bruno Haible  <haible@clisp.cons.org>
93946
93947         * lib/quotearg.c (mbrtowc):
93948         Assign to *pwc, and return 1 only if result is nonzero.
93949         (iswprint): Use ISPRINT when substituting our own mbrtowc.
93950
93951 2000-07-03  Jim Meyering  <meyering@lucent.com>
93952
93953         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
93954
93955 2000-07-03  Jim Meyering  <meyering@lucent.com>
93956
93957         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
93958         This is necessary to get a definition of e.g., UTMP_FILE on
93959         HP-UX 10.20.
93960         From Bob Proulx.
93961
93962 2000-07-02  Jim Meyering  <meyering@lucent.com>
93963
93964         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
93965
93966         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
93967         AC_LIBOBJ(function_name).
93968         * m4/chown.m4: Likewise.
93969         * m4/fnmatch.m4: Likewise.
93970         * m4/ftruncate.m4: Likewise.
93971         * m4/getgroups.m4: Likewise.
93972         * m4/getline.m4: Likewise.
93973         * m4/group-member.m4: Likewise.
93974         * m4/jm-macros.m4: Likewise.
93975         * m4/lstat.m4: Likewise.
93976         * m4/malloc.m4: Likewise.
93977         * m4/memcmp.m4: Likewise.
93978         * m4/nanosleep.m4: Likewise.
93979         * m4/putenv.m4: Likewise.
93980         * m4/realloc.m4: Likewise.
93981         * m4/regex.m4: Likewise.
93982         * m4/stat.m4: Likewise.
93983         * m4/strftime.m4: Likewise.
93984
93985 2000-07-02  Jim Meyering  <meyering@lucent.com>
93986
93987         * lib/quotearg.c (mbstate_t): Don't define here.
93988
93989 2000-07-02  Jim Meyering  <meyering@lucent.com>
93990
93991         * lib/nanosleep.c (SIGCONT): Define if not already defined.
93992
93993 2000-07-01  Jim Meyering  <meyering@lucent.com>
93994
93995         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
93996
93997 2000-07-01  Jim Meyering  <meyering@lucent.com>
93998
93999         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94000         problem.
94001
94002 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94003
94004         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94005         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94006
94007 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94008
94009         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94010         per change in ../m4/ls-mntd-fs.m4.
94011         (read_filesystem_list): Ignore symbolic links.
94012
94013 2000-06-29  Jim Meyering  <meyering@lucent.com>
94014
94015         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94016         for declaration of strcmp.
94017
94018         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94019
94020         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94021         Avoid warning by casting result to `char *' to remove `const'.
94022
94023 2000-06-28  Jim Meyering  <meyering@lucent.com>
94024
94025         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94026         included by quotearg.c, for which we perform this test.  From
94027         Bruno Haible.
94028
94029 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94030
94031         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94032         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94033         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94034
94035 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94036
94037         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94038
94039 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94040
94041         savedir now sets errno on failure and invokes xmalloc to get memory.
94042         Fix a couple of other minor bugs while we're at it.
94043
94044         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94045         (NAMLEN): Remove macro.
94046         (malloc, realloc): Remove decls.
94047         (stpcpy): Likewise.
94048         ("xalloc.h"): Include.
94049         (NAME_SIZE_DEFAULT): New macro.
94050         (savedir): Use xmalloc / xrealloc to allocate memory.
94051         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94052         Skip "" directory entries.
94053         Use strlen to calculate directory entry length, since the old method
94054         is rarely used these days and isn't worth supporting.
94055         Don't use a pointer after freeing it.
94056         Check for integer overflow when calculating allocation size.
94057         Use memcpy to copy entries, instead of stpcpy.
94058         Set errno properly when returning NULL.
94059         Check for readdir error.
94060
94061 2000-06-26  Jim Meyering  <meyering@lucent.com>
94062
94063         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94064
94065 2000-06-25  Jim Meyering  <meyering@lucent.com>
94066
94067         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94068         Linux header bug when _XOPEN_SOURCE is defined to 500.
94069
94070 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94071
94072         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94073         deficiency.
94074
94075 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94076
94077         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94078         Include xalloc.h.
94079         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94080
94081 2000-06-24  Jim Meyering  <meyering@lucent.com>
94082
94083         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94084         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94085         for which strerror does return char*, but which lacks a conveniently
94086         accessible declaration of the function.  If the compile-test says
94087         strerror_r doesn't work, then resort to a `run'-test that works on
94088         BeOS and segfaults on DEC Unix.
94089
94090 2000-06-24  Jim Meyering  <meyering@lucent.com>
94091
94092         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94093
94094 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94095
94096         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
94097         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
94098
94099 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94100
94101         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
94102         (mbrtowc, mbstate_t): Define substitutes if
94103         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
94104         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
94105         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
94106
94107 2000-06-23  Jim Meyering  <meyering@lucent.com>
94108
94109         * m4/afs.m4: Add missing AC_MSG_RESULT.
94110         Reported by Bruno Haible.
94111
94112         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
94113         Suggestion from Bruno Haible.
94114
94115 2000-06-23  Jim Meyering  <meyering@lucent.com>
94116
94117         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
94118
94119 2000-06-21  Jim Meyering  <meyering@lucent.com>
94120
94121         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
94122
94123 2000-06-21  Jim Meyering  <meyering@lucent.com>
94124
94125         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
94126         (noinst_HEADERS): Add getstr.h.
94127
94128         * lib/getline.c (getstr): Move into a separate file.
94129         * lib/getstr.c (getstr): New file, extracted from getline.c, with
94130         the following changes: new parameter, delim2; both delim[12]
94131         parameters have type `int', not `char'.  The latter would lose
94132         with 8-bit delimiters.
94133         * lib/getstr.h: New file.
94134
94135 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94136
94137         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
94138         than 1024, return a memory chunk of least possible size, instead
94139         of size PATH_MAX + 2. In the loop, increment the size proportionally.
94140         Use free/xmalloc instead of xrealloc to avoid copying for very long
94141         paths.
94142
94143 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94144
94145         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
94146         the empty string.
94147
94148 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94149
94150         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
94151         address, not strdup.  Include <stdlib.h> and don't declare free().
94152
94153 2000-06-19  Jim Meyering  <meyering@lucent.com>
94154
94155         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
94156
94157 2000-06-18  Jim Meyering  <meyering@lucent.com>
94158
94159         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
94160
94161         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
94162         `checking whether...' message to be consistent with that of the
94163         lstat test.
94164
94165 2000-06-18  Jim Meyering  <meyering@lucent.com>
94166
94167         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
94168         Besides, these days every porting target provides a mkdir function.
94169
94170         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
94171         needed. (this snippet comes from src/system.h).
94172
94173 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
94174
94175         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
94176
94177 2000-06-15  Paul Eggert  <eggert@twinsun.com>
94178
94179         * lib/human.c (adjust_value): New function.
94180         (human_readable_inexact): Apply rounding style even when
94181         printing approximate values.
94182
94183 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94184
94185         * lib/human.c (human_readable_inexact): Allow an input block
94186         size that is not a multiple of the output block size, and vice versa.
94187         Reported by Piergiorgio Sartor.
94188
94189 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94190
94191         * lib/getdate.y (get_date): Apply relative times after time
94192         zone indicator, not before.  Reported by Todd A. Jacobs.
94193
94194 2000-06-13  Jim Meyering  <meyering@lucent.com>
94195
94196         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
94197
94198         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
94199
94200 2000-06-12  Paul Eggert  <eggert@twinsun.com>
94201
94202         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
94203
94204 2000-06-12  Jim Meyering  <meyering@lucent.com>
94205
94206         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
94207         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
94208         optional argument.
94209         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
94210         the optional argument, `lib'.
94211
94212 2000-06-08  Jim Meyering  <meyering@lucent.com>
94213
94214         * m4/largefile.m4: Remove file (now that it's part of autoconf).
94215
94216 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94217
94218         Rewrite largefile configuration so that we don't need to run
94219         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
94220         AC_CANONICAL_HOST in configure.in -- jmm]
94221
94222         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
94223         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
94224         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
94225         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
94226         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
94227         All uses changed.
94228         Instead of inspecting the output of getconf, try to compile the
94229         test program without and with the macro definition.
94230         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
94231         for getconf.  Instead, check for the needed flags by compiling
94232         test programs.
94233
94234 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94235
94236         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
94237
94238 2000-06-04  Jim Meyering  <meyering@lucent.com>
94239
94240         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
94241         SunOS 4.1.4 for which gid_t is an unsigned type.
94242
94243 2000-06-03  Jim Meyering  <meyering@lucent.com>
94244
94245         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
94246         now that autoconf requires that.
94247
94248         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
94249         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
94250         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
94251
94252 2000-06-03  Jim Meyering  <meyering@lucent.com>
94253
94254         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
94255
94256 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94257
94258         * m4/glibc21.m4: New file.
94259         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
94260
94261 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94262
94263         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
94264         newer, don't install charset.alias.
94265         * lib/config.charset: Change the Linux/glibc rules so they become empty
94266         on glibc-2.1 or newer.
94267
94268 2000-06-02  Jim Meyering  <meyering@lucent.com>
94269
94270         * lib/mountlist.c: Back out last change.  Instead, do this...
94271         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
94272         me_dummy member using the same `ignore'-testing code.
94273         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
94274         fs_type strings.
94275         From Mark D. Roth.
94276
94277 2000-05-29  Jim Meyering  <meyering@lucent.com>
94278
94279         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
94280         mounts with the `ignore' attribute.  Based on a patch from
94281         Mark D. Roth.
94282
94283 2000-05-28  Jim Meyering  <meyering@lucent.com>
94284
94285         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
94286         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94287         * m4/stat.m4: Likewise.
94288         * m4/lstat.m4: Likewise.
94289         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
94290
94291         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
94292         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
94293
94294 2000-05-26  Jim Meyering  <meyering@lucent.com>
94295
94296         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
94297
94298 2000-05-24  Jim Meyering  <meyering@lucent.com>
94299
94300         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
94301         autoconf requires that.
94302         * m4/lib-check.m4: Likewise.
94303         * m4/jm-macros.m4: Likewise.
94304         * m4/strftime.m4: Likewise.
94305
94306         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
94307         AC_CHECK_DECLS, now that autoconf requires that.
94308
94309 2000-05-22  Jim Meyering  <meyering@lucent.com>
94310
94311         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94312         * m4/lstat.m4: Likewise.
94313
94314 2000-05-22  Jim Meyering  <meyering@lucent.com>
94315
94316         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
94317
94318 2000-05-20  Jim Meyering  <meyering@lucent.com>
94319
94320         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
94321         (jm_PREREQ): Use it.
94322
94323 2000-05-18  Jim Meyering  <meyering@lucent.com>
94324
94325         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
94326         back, too, since it may have been modified by allocate_entry.
94327         (hash_delete): Rewrite to use neither the assignment operator
94328         nor the comma operator in an if-expression.
94329
94330 2000-05-15  Paul Eggert  <eggert@twinsun.com>
94331
94332         * lib/closeout.c:
94333         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
94334         Remove; no longer needed.
94335         "quotearg.h": Add include.
94336         (file_name): Do not bother to explicitly initialize to NULL; it's less
94337         efficient on some hosts.
94338         (close_stdout_status): Remove test as to whether stdout was already
94339         closed; it breaks for the case "echo x | sort >&-".
94340         Quote file name colons.
94341         Do not assume that _("write error") lacks format strings.
94342
94343 2000-05-15  Jim Meyering  <meyering@lucent.com>
94344
94345         * lib/version-etc.c (version_etc_copyright): Update the copyright
94346         string used in all --version output.
94347
94348 2000-05-14  Jim Meyering  <meyering@lucent.com>
94349
94350         * lib/closeout.c (close_stdout_set_file_name): New function.
94351         (close_stdout_status): Use new file-scoped global.
94352         Return right away if fstat says the stdout file descriptor is invalid.
94353         * lib/closeout.h (close_stdout_set_file_name): Declare.
94354
94355 2000-05-10  Jim Meyering  <meyering@lucent.com>
94356
94357         * lib/closeout.c [default_exit_status]: New file-scoped variable.
94358         (close_stdout_set_status): New function.
94359         * lib/closeout.h (close_stdout_set_status): Declare.
94360
94361 2000-05-09  Jim Meyering  <meyering@lucent.com>
94362
94363         * m4/gettext.m4: Rename this...
94364         * m4/libintl.m4: ...to this.
94365
94366 2000-05-08  Jim Meyering  <meyering@lucent.com>
94367
94368         * lib/long-options.c: Don't include closeout.h.
94369         (parse_long_options): Don't call close_stdout for --version.
94370
94371 2000-05-06  Paul Eggert  <eggert@twinsun.com>
94372
94373         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
94374         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
94375         2.1.3 bug.  This avoids a clash when files like regex.c define
94376         _GNU_SOURCE.
94377
94378 2000-05-06  Jim Meyering  <meyering@lucent.com>
94379
94380         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
94381         (AC_REPLACE_FUNCS): Add strnlen.
94382
94383         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
94384         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
94385
94386         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
94387         AC_SEARCH_LIBS call for nanosleep.
94388         (LIB_NANOSLEEP): Set and AC_SUBST.
94389
94390 2000-05-06  Jim Meyering  <meyering@lucent.com>
94391
94392         * lib/strnlen.c: Undefine __strnlen and strnlen.
94393         [!weak_alias]: Define __strnlen to strnlen.
94394
94395         * lib/atexit.c: New file, from libiberty.
94396
94397 2000-05-06  Jim Meyering  <meyering@lucent.com>
94398
94399         * lib/closeout.c (close_stdout_status): Also check for errors on the
94400         stderr stream.
94401
94402 2000-05-05  Jim Meyering  <meyering@lucent.com>
94403
94404         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
94405         AC_SEARCH_LIBS call for clock_gettime.
94406         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
94407
94408         * m4/search-libs.m4: Update from autoconf.
94409
94410         su doesn't work on Solaris 2.6.
94411         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
94412         <shadow.h>.  Reported by Dragos Harabor.
94413
94414 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
94415
94416         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
94417         memcpy instead of xmalloc, xrealloc, path_concat.
94418         (locale_charset): Treat empty environment variables as absent.
94419         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
94420
94421 2000-05-04  Jim Meyering  <meyering@lucent.com>
94422
94423         * lib/getopt.c: Update from glibc.
94424         * lib/obstack.c: Likewise.
94425         * lib/obstack.h: Likewise.
94426         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
94427         file
94428
94429         * lib/regex.h: Likewise.
94430         * lib/strndup.c: Likewise.
94431         * lib/strnlen.c: New file, from glibc.
94432
94433 2000-05-03  Jim Meyering  <meyering@lucent.com>
94434
94435         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
94436
94437 2000-05-02  Paul Eggert  <eggert@twinsun.com>
94438
94439         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
94440         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
94441         compile-time test, rather than inspecting host and OS, to
94442         decide whether to define _LARGEFILE_SOURCE.
94443
94444 2000-05-01  Jim Meyering  <meyering@lucent.com>
94445
94446         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
94447
94448         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
94449         Based on a patch from Bruno Haible.
94450
94451 2000-05-01  Jim Meyering  <meyering@lucent.com>
94452
94453         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
94454
94455 2000-04-29  Jim Meyering  <meyering@lucent.com>
94456
94457         * lib/path-concat.c: Declare strdup only if it's not defined.
94458         * lib/canon-host.c: Likewise.
94459
94460 2000-04-28  Jim Meyering  <meyering@lucent.com>
94461
94462         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
94463         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
94464         is included first, then limits.h is included by locale.h by libintl.h.
94465         From John David Anglin.
94466
94467 2000-04-25  Jim Meyering  <meyering@lucent.com>
94468
94469         * lib/makepath.c (S_IRWXUGO): Define.
94470         (make_path): Always perform explicit chmod if MODE specifies any
94471         of the `special' permission bits.  Prompted by a bug report against
94472         install from Mate Wierdl and Joost van Baal.
94473
94474 2000-04-18  Jim Meyering  <meyering@lucent.com>
94475
94476         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
94477         (jm_PREREQ): Use it.
94478
94479 2000-04-18  Jim Meyering  <meyering@lucent.com>
94480
94481         * lib/README: New file.
94482
94483         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
94484         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
94485
94486 2000-04-17  Jim Meyering  <meyering@lucent.com>
94487
94488         Get it right :-)
94489         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
94490         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
94491         Suggestion from Akim Demaille.
94492
94493 2000-04-17  Jim Meyering  <meyering@lucent.com>
94494
94495         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
94496         the definition of it to rpl_strftime also defined-away the system's
94497         declaration.
94498
94499 2000-04-15  Jim Meyering  <meyering@lucent.com>
94500
94501         Use `C' to denote so-called `contiguous' files, the same way
94502         that tar does.
94503         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
94504         (ftypelet): Use S_ISCTG.
94505         From Michael Deutschmann.
94506
94507 2000-04-14  Jim Meyering  <meyering@lucent.com>
94508
94509         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
94510         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
94511         clobbered.
94512
94513 2000-04-14  Jim Meyering  <meyering@lucent.com>
94514
94515         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
94516
94517 2000-04-13  Jim Meyering  <meyering@lucent.com>
94518
94519         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
94520         AH_VERBATIM to insert required #ifndef into config.h.in.
94521         Suggestion from Akim Demaille.
94522
94523 2000-04-12  Jim Meyering  <meyering@lucent.com>
94524
94525         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
94526         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
94527         Christian Krackowizer.
94528
94529         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
94530         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
94531         (AC_SYS_LARGEFILE): Require.
94532         (AM_C_PROTOTYPES): Require.
94533
94534 2000-04-08  Jim Meyering  <meyering@lucent.com>
94535
94536         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
94537         names don't conflict.  Reported by Eli Zaretskii.
94538
94539 2000-04-07  Jim Meyering  <meyering@lucent.com>
94540
94541         * lib/putenv.c: Move inclusion of errno.h so it follows that of
94542         sys/types.h, to work around system header problems on AIX 3.2.5.
94543         From Bruno Haible.
94544
94545 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
94546
94547         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
94548         bug.  Deal with the different error behavior of Irix iconv.
94549
94550 2000-04-05  Paul Eggert  <eggert@twinsun.com>
94551
94552         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
94553         IRIX if the installer said otherwise.
94554
94555 2000-04-05  Jim Meyering  <meyering@lucent.com>
94556
94557         Portability tweaks required for ultrix4.3.
94558         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
94559         (jm_CHECK_DECLS): Add getutent to the list of functions.
94560         (_jm_DECL_HEADERS): Add utmpx.h.
94561         From John David Anglin.
94562
94563         * m4/strftime.m4: Back out the 2000-04-02 change.
94564         Instead of that change, simply undefine putenv in the test program.
94565
94566 2000-04-05  Jim Meyering  <meyering@lucent.com>
94567
94568         Portability tweaks required for ultrix4.3.
94569         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
94570         getutent.
94571         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
94572         * lib/canon-host.c: Declare strdup.
94573         * lib/path-concat.c: Likewise.
94574         From John David Anglin.
94575
94576 2000-04-04  Jim Meyering  <meyering@lucent.com>
94577
94578         Be more DOS 8.3-friendly.
94579         * lib/ref-add.sin: Renamed from ref-add.sed.in.
94580         * lib/ref-del.sin: Renamed from ref-del.sed.in.
94581         * lib/Makefile.am: Reflect renaming.
94582         Reported by Eli Zaretskii.
94583
94584         Use a temporary file name that won't clash with `charset.alias'
94585         in the DOS 8.3 name space.
94586         * lib/Makefile.am (charset_tmp): Define.
94587         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
94588         (uninstall-local): Likewise.
94589         Reported by Eli Zaretskii.
94590
94591 2000-04-03  Jim Meyering  <meyering@lucent.com>
94592
94593         * m4/gettext.m4: Fix typo in comment.
94594
94595         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
94596         textutils/configure.in).  Suggestion from Paul Eggert.
94597         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
94598
94599 2000-04-02  Paul Eggert  <eggert@twinsun.com>
94600
94601         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
94602         variable in the shell rather than using putenv, which isn't
94603         portable.  This avoids the configure-time inter-test dependency
94604         on the potentially-renamed putenv function.
94605
94606 2000-03-30  Paul Eggert  <eggert@twinsun.com>
94607
94608         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
94609         before checking struct stat.st_blksize, so that
94610         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
94611
94612 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94613
94614         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
94615         since strftime.c uses HAVE_STRFTIME to decide whether to use
94616         the underlying strftime.
94617
94618 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94619
94620         * lib/time/strftime.c (my_strftime): Make sure we call the system
94621         strftime, not ourselves, when invoking the underlying strftime.
94622
94623 2000-03-24  Jim Meyering  <meyering@lucent.com>
94624
94625         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
94626         (charset_alias): Define.
94627         (install-exec-local): Factor out common code.
94628         (uninstall-local): Split lines longer than 80.
94629         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
94630         (SUFFIXES): Define.
94631         (.sed.in.sed): New rule.  Don't redirect directly to $@.
94632         (CLEANFILES): Add ref-add.sed and ref-del.sed.
94633
94634 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
94635
94636         * lib/config.charset: Output a line containing "Packages using this
94637         file".
94638         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
94639         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
94640         ref-del.sed): New rules.
94641
94642 2000-03-17  Jim Meyering  <meyering@lucent.com>
94643
94644         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
94645         Otherwise, include <strings.h>
94646
94647 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
94648
94649         * lib/unicodeio.c (utf8_wctomb): New function.
94650         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
94651         format instead of in UCS-4 with platform dependent endianness.
94652
94653 2000-03-10  Jim Meyering  <meyering@lucent.com>
94654
94655         * m4/lib-check.m4: Look for getspnam in -lgen, too.
94656         From Marco Franzen.
94657
94658 2000-03-07  Paul Eggert  <eggert@twinsun.com>
94659
94660         * lib/savedir.c (savedir): Work even if directory size is
94661         negative; this can happen with some screwy NFS configurations.
94662
94663 2000-03-06  Jim Meyering  <meyering@lucent.com>
94664
94665         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
94666         if it's NULL (because we ran out of memory).  From Bruno Haible.
94667
94668 2000-03-05  Jim Meyering  <meyering@lucent.com>
94669
94670         * lib/localcharset.c ("path-concat.h"): Include.
94671         (get_charset_aliases): Use path_concat instead of ANSI string
94672         concatenation.
94673
94674         * lib/unicodeio.h (PARAMS): Define.
94675         Use it to guard prototype.
94676
94677 2000-03-04  Jim Meyering  <meyering@lucent.com>
94678
94679         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
94680         for lib/localcharset.c.
94681
94682 2000-03-04  Jim Meyering  <meyering@lucent.com>
94683
94684         * lib/Makefile.am (install-exec-local): Create $(libdir) before
94685         installing into it.
94686         (uninstall-local): Uncomment this rule so `make distcheck' works
94687         once again.
94688
94689         * lib/unicodeio.c (<errno.h>): Include it.
94690         (errno): Declare if not defined.
94691
94692         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
94693
94694         * lib/config.charset: New version, incorporating remarks from a linux
94695         i18n mailing list.  From Bruno Haible.
94696
94697 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
94698
94699         * m4/codeset.m4: New file.
94700         * m4/iconv.m4: New file.
94701         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
94702
94703 2000-03-03  Jim Meyering  <meyering@lucent.com>
94704
94705         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
94706
94707 2000-03-02  Jim Meyering  <meyering@lucent.com>
94708
94709         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
94710         the messages come out on separate lines.
94711
94712         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
94713         rather than jm_CHECK_DECLARATIONS.
94714         * m4/decl.m4: Remove now-unused file.
94715
94716         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
94717         geteuid.
94718
94719 2000-03-02  Jim Meyering  <meyering@lucent.com>
94720
94721         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
94722
94723 2000-03-01  Jim Meyering  <meyering@lucent.com>
94724
94725         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
94726         * lib/unicodeio.c: Likewise.
94727
94728 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
94729
94730         * lib/config.charset: New file.
94731         * lib/localcharset.c: New file.
94732         * lib/unicodeio.h, lib/unicodeio.c: New files.
94733         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
94734         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
94735         (noinst_HEADERS): Add unicodeio.h.
94736         (all-local, install-exec-local, charset.alias): New targets.
94737
94738 2000-02-28  Paul Eggert  <eggert@twinsun.com>
94739
94740         * lib/quotearg.c (ALERT_CHAR): New macro.
94741         (quotearg_buffer_restyled): Use it.
94742
94743 2000-02-27  Jim Meyering  <meyering@lucent.com>
94744
94745         * m4/check-decl.m4: Add getenv to the list.
94746
94747 2000-02-27  Jim Meyering  <meyering@lucent.com>
94748
94749         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
94750         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
94751
94752         * lib/backupfile.c: Guard inclusion of stdlib.h with
94753         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
94754         Declare malloc if needed.
94755
94756         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
94757         `#ifndef HAVE_DECL..'
94758         now that autoconf always defines the HAVE_DECL_ symbols.
94759         * lib/human.c: Likewise.
94760         * lib/same.c: Likewise.
94761         * lib/strtoumax.c: Likewise.
94762
94763         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
94764         declaration check was not run.
94765         * lib/hash.c: Likewise.
94766         * lib/human.c: Likewise.
94767         * lib/same.c: Likewise.
94768         * lib/strtoumax.c: Likewise.
94769
94770         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
94771         `.', then first look up the entire `.'-containing string as a login
94772         name.
94773
94774 2000-02-23  Jim Meyering  <meyering@lucent.com>
94775
94776         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
94777         in place of my hack.
94778
94779 2000-02-18  Paul Eggert  <eggert@twinsun.com>
94780
94781         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
94782         (textint): New typedef.
94783         (parser_control): Member year changed from int to textint.
94784         All uses changed.
94785         (YYSTYPE): Removed; replaced by %union with int and textint members.
94786         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
94787         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
94788         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
94789         (tSNUMBER, tUNUMBER): Now of type <textintval>.
94790         (date, number, to_year): Use width of number in digits, not its value,
94791         to determine whether it's a 2-digit year, or a 2-digit time.
94792         (yylex): Store number of digits of numeric tokens.
94793         Reported by John Kendall.
94794
94795         (parser_control): Changed from struct parser_control to typedef (for
94796         consistency).  All uses changed.
94797
94798         (tID): Removed; not used.
94799         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
94800
94801 2000-02-14  Paul Eggert  <eggert@twinsun.com>
94802
94803         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
94804         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
94805
94806 2000-02-12  Jim Meyering  <meyering@lucent.com>
94807
94808         * lib/userspec.c (ISDIGIT): Define it.
94809         (isdigit): Remove definition.
94810         (is_number): Use ISDIGIT, not isdigit.
94811         <libintl.h>: Include.
94812         (_ and N_): Define.
94813         (parse_user_spec): Mark translatable strings.
94814
94815 2000-02-10  Jim Meyering  <meyering@lucent.com>
94816
94817         With these changes, nanosleep.[ch] are finally enough like the other
94818         lib/* replacement files to compile on a few more losing systems.
94819
94820         * lib/nanosleep.h: Don't include config.h.
94821         Remove prototype from declaration of nanosleep.
94822         (PARAMS): Remove now-unneeded definition.
94823         * lib/nanosleep.c: #undef nanosleep.
94824         (rpl_nanosleep): Rename from nanosleep.
94825
94826 2000-02-10  Jim Meyering  <meyering@lucent.com>
94827
94828         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
94829         gnu_nanosleep to rpl_nanosleep.
94830
94831 2000-02-09  Jim Meyering  <meyering@lucent.com>
94832
94833         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
94834         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
94835
94836 2000-02-08  Akim Demaille  <akim@epita.fr>
94837
94838         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
94839         `[' and `]' and remove uses of `changequote'.
94840         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
94841         (AC_SYS_LARGEFILE): Likewise.
94842         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
94843         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
94844         of changequote.
94845         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
94846         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
94847         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
94848         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
94849
94850 2000-02-05  Jim Meyering  <meyering@lucent.com>
94851
94852         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
94853         Remove explicit use of AC_HEADER_TIME.  It is required by
94854         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
94855         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
94856         in autoconf whereby the expansion of the latter ended up preceding
94857         the expansion of its prerequisite, AC_HEADER_TIME.
94858         Reported by Volker Borchert.
94859
94860 2000-02-03  Jim Meyering  <meyering@lucent.com>
94861
94862         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
94863
94864 2000-02-03  Jim Meyering  <meyering@lucent.com>
94865
94866         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
94867         rather than with `#if HAVE_UTMPNAME'.
94868
94869 2000-02-02  Jim Meyering  <meyering@lucent.com>
94870
94871         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
94872         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
94873         Reported by Eli Zaretskii.
94874
94875 2000-02-01  Jim Meyering  <meyering@lucent.com>
94876
94877         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
94878
94879 2000-01-31  Jim Meyering  <meyering@lucent.com>
94880
94881         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
94882         functions.  Add the time.h and sys/time.h headers along with the
94883         AC_REQUIRE'ment of AC_HEADER_TIME.
94884
94885 2000-01-31  Jim Meyering  <meyering@lucent.com>
94886
94887         * lib/nanosleep.h (nanosleep): Guard declaration with
94888         `#if ! HAVE_DECL_NANOSLEEP'.
94889         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
94890         the declaration in that vendor's sys/timers.h.
94891         Reported by Christian Krackowizer.
94892
94893         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
94894         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
94895         (ISPRINT): Likewise.
94896         Reported by Tom Tromey.
94897
94898 2000-01-30  Jim Meyering  <meyering@lucent.com>
94899
94900         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
94901
94902         * m4/prereq.m4 (utmp_includes): Define.
94903         Check for ut_user and ut_name members in both struct utmpx
94904         and struct utmp.
94905
94906 2000-01-30  Jim Meyering  <meyering@lucent.com>
94907
94908         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
94909         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
94910         header files where only utmpx.ut_user is declared.
94911
94912         * lib/readutmp.h (UT_USER): Define.
94913
94914 2000-01-29  Jim Meyering  <meyering@lucent.com>
94915
94916         * m4/lib-check.m4: New file containing library-related checks from
94917         fileutils and sh-utils (textutils had none).
94918
94919 2000-01-28  Jim Meyering  <meyering@lucent.com>
94920
94921         * m4/perl.m4: Change format of warning message to look more like that
94922         from the missing script.  Suggestion from François Pinard.
94923
94924 2000-01-25  Jim Meyering  <meyering@lucent.com>
94925
94926         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
94927         well as time.h in the compile check.
94928         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
94929         Fix typo in cross-compiling case: s/yes/no/.
94930
94931 2000-01-23  Jim Meyering  <meyering@lucent.com>
94932
94933         * m4/jm-macros.m4: Move df-related tests here from
94934         fileutils/configure.in
94935
94936         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
94937         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
94938
94939         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
94940         s/space/ac_fsusage_space/.
94941         (jm_FILE_SYSTEM_USAGE): Take two parameters.
94942
94943         * m4/ftruncate.m4: New file (derived from part of
94944         fileutils/configure.in).
94945         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
94946         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
94947
94948         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
94949         AC_SUBST these here, rather than just in sh-util/configure.in, so
94950         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
94951         all the same.
94952         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
94953         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
94954         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
94955         (AC_SUBST(POW_LIBM)): Likewise.
94956         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
94957
94958 2000-01-23  Jim Meyering  <meyering@lucent.com>
94959
94960         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
94961         obstack.c.
94962
94963 2000-01-22  Jim Meyering  <meyering@lucent.com>
94964
94965         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
94966
94967         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
94968
94969         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
94970         configure.in
94971         (AC_CHECK_HEADERS): Likewise for sh-utils.
94972         (AC_CHECK_HEADERS): Likewise for textutils.
94973         Merge the three lists of headers.
94974
94975         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
94976         from fileutils' configure.in.
94977
94978         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
94979         code. Moved tests into their own function (_jm_DECL_HEADERS) in
94980         check-decl.m4.
94981
94982         * m4/check-decl.m4: Use #if rather than #ifdef.
94983         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
94984         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
94985         (_jm_DECL_HEADERS): Define new function.
94986         (jm_CHECK_DECLARATIONS): Require it.
94987
94988 2000-01-22  Jim Meyering  <meyering@lucent.com>
94989
94990         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
94991         [! HAVE_DECL_STRTOULL]: Declare strtoull.
94992         Required for some AIX systems.  Reported by Christian Krackowizer.
94993         [TESTING] (main): New function.
94994
94995         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
94996         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
94997         letters.
94998
94999         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95000         iswprint.
95001
95002         * lib/strverscmp.c (ISDIGIT): Define.
95003         (strverscmp): Use ISDIGIT, not isdigit.
95004
95005 2000-01-19  Jim Meyering  <meyering@lucent.com>
95006
95007         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95008         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95009         defines `struct timespec' in <sys/time.h>
95010
95011         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95012         Thanks to Akim for explaining.
95013
95014 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95015
95016         * lib/nanosleep.c (nanosleep):
95017         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95018         POSIX.1 doesn't require SA_INTERRUPT and some systems
95019         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95020         it's been part of POSIX.1 since day 1 (in 1988).
95021
95022 2000-01-17  Jim Meyering  <meyering@lucent.com>
95023
95024         * lib/interlock: Remove unused file.  Reported by François Pinard.
95025
95026 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95027
95028         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95029         alert, backslash, formfeed, and vertical tab unnecessarily in
95030         shell quoting style.
95031
95032 2000-01-16  Jim Meyering  <meyering@lucent.com>
95033
95034         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95035         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95036         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95037         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95038
95039 2000-01-16  Jim Meyering  <meyering@lucent.com>
95040
95041         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95042         because the latter didn't work.
95043
95044 2000-01-15  Jim Meyering  <meyering@lucent.com>
95045
95046         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95047         (AC_REPLACE_FUNCS): Add memcpy and memset.
95048         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95049         Add strpbrk.
95050         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95051
95052 2000-01-12  Jim Meyering  <meyering@lucent.com>
95053
95054         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95055         (jm_PREREQ): Use it.
95056         (jm_PREREQ_READUTMP): New macro.
95057         (jm_PREREQ): Use it.
95058
95059 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95060
95061         Quote multibyte characters correctly.
95062         * m4/c-bs-a.m4: New file.
95063         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95064         (jm_PREREQ): Use it.
95065
95066 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95067
95068         * m4/uintmax_t.m4: Port to autoconf 2.13.
95069
95070 2000-01-08  Jim Meyering  <meyering@ascend.com>
95071
95072         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95073         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95074
95075 2000-01-04  Jim Meyering  <meyering@ascend.com>
95076
95077         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95078         jm_STRUCT_DIRENT_D_TYPE.
95079         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95080         jm_STRUCT_DIRENT_D_INO.
95081         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95082         jm_STRUCT_UTIMBUF.
95083         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95084         renamings.
95085         * m4/utime.m4: Likewise.
95086
95087         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95088         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95089
95090 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95091
95092         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95093         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
95094
95095 2000-01-02  Jim Meyering  <meyering@ascend.com>
95096
95097         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
95098         remember if this is necessary.
95099
95100 1999-12-26  Jim Meyering  <meyering@ascend.com>
95101
95102         * m4/jm-macros.m4: Use it here.
95103         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
95104
95105 1999-12-23  Jim Meyering  <meyering@ascend.com>
95106
95107         * m4/jm-macros.m4: Check for clock_gettime (moved from
95108         fileutils/configure.in)
95109         Check for gettimeofday.
95110
95111 1999-12-20  Jim Meyering  <meyering@ascend.com>
95112
95113         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
95114         autoconf-2.14a-1999-12-20.
95115
95116 1999-12-19  Jim Meyering  <meyering@ascend.com>
95117
95118         * m4/lstat-slash.m4: New file.
95119         * m4/jm-macros.m4: Use the new macro:
95120         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95121
95122 1999-12-07  Jim Meyering  <meyering@ascend.com>
95123
95124         * m4/perl.m4: Require that File::Compare be available, too.
95125         Too many systems seem to lack it.
95126
95127         * m4/strftime.m4: Add checks for most of the cpp macros tested in
95128         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
95129
95130 1999-11-18  Paul Eggert  <eggert@twinsun.com>
95131
95132         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
95133         problem with the QNX 4.25 shell, which doesn't propagate exit
95134         status of failed commands inside shell assignments.
95135
95136 1999-11-17  Jim Meyering  <meyering@ascend.com>
95137
95138         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
95139
95140 1999-11-07  Jim Meyering  <meyering@ascend.com>
95141
95142         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
95143
95144 1999-11-06  Jim Meyering  <meyering@ascend.com>
95145
95146         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
95147         * m4/jm-macros.m4 (jm_MACROS): Use it here.
95148
95149 1999-11-05  Jim Meyering  <meyering@ascend.com>
95150
95151         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
95152         configure.in of textutils, fileutils, and sh-utils into this one
95153         (shared between those packages) file.
95154         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
95155         AC_STRUCT_ST_BLKSIZE.
95156
95157 1999-11-03  Jim Meyering  <meyering@ascend.com>
95158
95159         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
95160         of AC_CHECK_TYPE checks includes unistd.h.
95161         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
95162         Suggestion from Akim Demaille.
95163
95164 1999-10-30  Jim Meyering  <meyering@ascend.com>
95165
95166         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
95167         m4-quoted string.
95168         * m4/ls-mntd-fs.m4: Likewise.
95169         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
95170         * m4/jm-winsz1.m4: Likewise.
95171
95172         * m4/const.m4: Remove file, since the fix made it into the experimental
95173         version of autoconf.
95174         * m4/mktime.m4: Likewise.
95175
95176         * m4/check-type.m4: Remove file, now that the latest version of
95177         AC_CHECK_TYPE takes a third arg to specify additional #includes.
95178
95179         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
95180         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
95181         AC_CHECK_TYPE.
95182
95183 1999-10-04  Jim Meyering  <meyering@ascend.com>
95184
95185         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
95186
95187 1999-09-22  Paul Eggert  <eggert@twinsun.com>
95188
95189         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
95190         2.95.1 bug with HP-UX 10.20.
95191
95192 1999-09-17  Jim Meyering  <meyering@ascend.com>
95193
95194         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
95195         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
95196         due to missing strdup (against sh-utils-2.0).
95197
95198 1999-08-29  Jim Meyering  <meyering@ascend.com>
95199
95200         * m4/jm-macros.m4: Require jm_BISON.
95201         * m4/bison.m4: New file.
95202
95203 1999-08-17  Paul Eggert  <eggert@twinsun.com>
95204
95205         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
95206         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
95207
95208 1999-08-05  Jim Meyering  <meyering@ascend.com>
95209
95210         * m4/getline.m4: Rename test file from conftestdata to conftest.data
95211         to avoid conflicts with `conftest' on 8+3 filesystems.
95212         Suggestion from Eli Zaretskii.
95213
95214 1999-08-04  Jim Meyering  <meyering@ascend.com>
95215
95216         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
95217         fileutils and sh-utils (textutils's getline test was inadequate).
95218         (AM_FUNC_GETLINE): Run this test.
95219         (AC_CHECK_FUNCS): Check for getdelim.
95220         Reported by Bob Proulx.
95221
95222 1999-08-02  Jim Meyering  <meyering@ascend.com>
95223
95224         * m4/jm-macros.m4: Add a comment.
95225
95226 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95227
95228         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
95229         <inttypes.h> defines strtoumax as a macro (and not as a
95230         function).
95231
95232 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95233
95234         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
95235         that we can shift, multiply and divide unsigned long long
95236         values; Ultrix cc can't do it.
95237
95238 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95239
95240         * m4/mktime.m4: New file, which is a preview of what should appear
95241         in the next public autoconf release.
95242
95243 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95244
95245         * m4/lfs.m4: Remove this file.
95246         * m4/largefile.m4: New file.  It contains the old contents of
95247         lfs.m4, except that all names with prefix AC_LFS have been
95248         changed to use the prefix AC_SYS_LARGEFILE instead, to be
95249         compatible with future autoconf versions.  Also, some minor m4
95250         quoting problems have been fixed.
95251
95252 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95253
95254         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
95255         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
95256         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
95257         and simplify the shell code.
95258
95259 1999-08-01  Jim Meyering  <meyering@ascend.com>
95260
95261         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
95262         m4.
95263
95264 1999-07-20  Jim Meyering  <meyering@ascend.com>
95265
95266         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
95267
95268 1999-07-15  Jim Meyering  <meyering@ascend.com>
95269
95270         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
95271
95272 1999-05-22  Jim Meyering  <meyering@ascend.com>
95273
95274         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
95275
95276 1999-05-20  Jim Meyering  <meyering@ascend.com>
95277
95278         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
95279         Add a colon after each `then' in case $4 is empty.
95280
95281 1999-05-16  Jim Meyering  <meyering@ascend.com>
95282
95283         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
95284
95285 1999-05-10  Jim Meyering  <meyering@ascend.com>
95286
95287         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
95288
95289         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
95290         AC_FUNC_MKTIME.
95291
95292 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
95293
95294         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
95295
95296 1999-05-04  Paul Eggert  <eggert@twinsun.com>
95297
95298         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
95299         not CPPFLAGS, so that linking works correctly in IRIX.
95300
95301 1999-04-30  Paul Eggert  <eggert@twinsun.com>
95302
95303         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
95304
95305 1999-04-20  Paul Eggert  <eggert@twinsun.com>
95306
95307         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
95308         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
95309         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
95310         jm_AC_TYPE_UNSIGNED_LONG_LONG.
95311         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
95312
95313         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
95314
95315 1999-04-20  Jim Meyering  <meyering@ascend.com>
95316
95317         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
95318         AC_REPLACE xstroull if necessary.  From Paul Eggert.
95319         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
95320
95321 1999-04-18  Jim Meyering  <meyering@ascend.com>
95322
95323         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
95324         * m4/jm-macros.m4: Use it.
95325
95326 1999-04-06  Jim Meyering  <meyering@ascend.com>
95327
95328         * m4/strftime.m4: Remove test for %f.
95329
95330 1999-03-29  Jim Meyering  <meyering@ascend.com>
95331
95332         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
95333         superset of the AC_TYPE_* checks in the textutils, fileutils,
95334         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
95335         AC_TYPE_PID_T.
95336
95337 1999-03-28  Jim Meyering  <meyering@ascend.com>
95338
95339         * m4/jm-macros.m4: Define GNU_PACKAGE here.
95340         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
95341         replaced e.g., in the *.sh files of the sh-utils.
95342
95343 1999-03-20  Jim Meyering  <meyering@ascend.com>
95344
95345         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
95346         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
95347         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
95348
95349 1999-03-19  Jim Meyering  <meyering@ascend.com>
95350
95351         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
95352
95353 1999-03-12  Jim Meyering  <meyering@ascend.com>
95354
95355         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
95356
95357 1999-03-07  Jim Meyering  <meyering@ascend.com>
95358
95359         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
95360         declared.
95361
95362 1999-02-17  Jim Meyering  <meyering@ascend.com>
95363
95364         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
95365         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
95366
95367 1999-02-07  Jim Meyering  <meyering@ascend.com>
95368
95369         * m4/group-member.m4: New file -- extracted from sh-utils'
95370         configure.in.
95371
95372         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
95373         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
95374
95375 1999-02-06  Jim Meyering  <meyering@ascend.com>
95376
95377         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
95378         * m4/fnmatch.m4: Likewise.
95379         * m4/getgroups.m4: Likewise.
95380         * m4/lstat.m4: Likewise.
95381         * m4/malloc.m4: Likewise.
95382         * m4/putenv.m4: Likewise.
95383         * m4/realloc.m4: Likewise.
95384         * m4/regex.m4: Likewise.
95385         * m4/stat.m4: Likewise.
95386         * m4/strftime.m4: Likewise.
95387         Suggestion from Alain Magloire.
95388
95389         * m4/chown.m4: Use `.$ac_objext', not `.o'.
95390         * m4/fnmatch.m4: Likewise.
95391         * m4/getgroups.m4: Likewise.
95392         * m4/getline.m4: Likewise.
95393         * m4/lstat.m4: Likewise.
95394         * m4/malloc.m4: Likewise.
95395         * m4/memcmp.m4: Likewise.
95396         * m4/putenv.m4: Likewise.
95397         * m4/realloc.m4: Likewise.
95398         * m4/regex.m4: Likewise.
95399         * m4/stat.m4: Likewise.
95400         * m4/strftime.m4: Likewise.
95401         Suggestion from Alain Magloire.
95402
95403         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
95404         an argument.
95405
95406         * m4/regex.m4: Add a run-time Test for proper operation of
95407         re_compile_pattern.
95408
95409 1999-01-31  Jim Meyering  <meyering@ascend.com>
95410
95411         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
95412
95413 1999-01-30  Jim Meyering  <meyering@ascend.com>
95414
95415         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
95416
95417         * m4/jm-mktime.m4: Make this a wrapper around the official
95418         AM_FUNC_MKTIME rather than my private copy, now that the official one
95419         is up to date.
95420         * m4/mktime.m4: Remove file.
95421
95422         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
95423         * m4/uptime.m4: Likewise.
95424         * m4/uintmax_t.m4: Likewise.
95425
95426 1999-01-28  Jim Meyering  <meyering@ascend.com>
95427
95428         * m4/jm-macros.m4: Use jm_AFS.
95429         * m4/afs.m4: New file (from fileutils' configure.in).
95430
95431         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
95432         * m4/chown.m4: Likewise.
95433         * m4/d-ino.m4: Likewise.
95434         * m4/d-type.m4: Likewise.
95435         * m4/fnmatch.m4: Likewise.
95436         * m4/getgroups.m4: Likewise.
95437         * m4/gettext.m4: Likewise.
95438         * m4/jm-mktime.m4: Likewise.
95439         * m4/jm-winsz2.m4: Likewise.
95440         * m4/lcmessage.m4: Likewise.
95441         * m4/ls-mntd-fs.m4: Likewise.
95442         * m4/malloc.m4: Likewise.
95443         * m4/memcmp.m4: Likewise.
95444         * m4/putenv.m4: Likewise.
95445         * m4/realloc.m4: Likewise.
95446         * m4/st_mtim.m4: Likewise.
95447         * m4/strftime.m4: Likewise.
95448
95449 1999-01-16  Jim Meyering  <meyering@ascend.com>
95450
95451         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
95452         (ARGMATCH_DIE_DECL): Define.
95453
95454 1999-01-12  Jim Meyering  <meyering@ascend.com>
95455
95456         * m4/Makefile.am.in: Rewrite to avoid using fmt.
95457         Reported by Lars Hecking.
95458
95459 1999-01-10  Jim Meyering  <meyering@ascend.com>
95460
95461         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
95462         gross kludge.
95463         * m4/inttypes_h.m4: Likewise.
95464         * m4/lstat.m4: Likewise.
95465         * m4/malloc.m4: Likewise.
95466         * m4/readdir.m4: Likewise.
95467         * m4/realloc.m4: Likewise.
95468         * m4/st_dm_mode.m4: Likewise.
95469         * m4/stat.m4: Likewise.
95470         * m4/utimbuf.m4: Likewise.
95471         * m4/utimes.m4: Likewise.
95472
95473         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
95474         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
95475         comments in config.h.in are meaningful.
95476
95477         * m4/jm-macros.m4: Require autoconf-2.13 here.
95478
95479         * m4/regex.m4: By default, don't use the included regex.c on systems
95480         with glibc 2.  Suggestion from Uli Drepper.
95481
95482 1999-01-02  Jim Meyering  <meyering@ascend.com>
95483
95484         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
95485
95486 1998-12-18  Jim Meyering  <meyering@ascend.com>
95487
95488         * m4/Makefile.am.in (Makefile.am): Simplify rule.
95489         Based on a suggestion from Lars Hecking.
95490
95491 1998-11-16  Paul Eggert  <eggert@twinsun.com>
95492
95493         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
95494
95495 1998-11-16  Jim Meyering  <meyering@ascend.com>
95496
95497         * m4/lfs.m4: Double-quote the `uname...` expression.
95498
95499 1998-11-14  Jim Meyering  <meyering@ascend.com>
95500
95501         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
95502         * m4/stat.m4: Likewise.
95503
95504 1998-11-03  Jim Meyering  <meyering@ascend.com>
95505
95506         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
95507         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
95508
95509 1998-10-18  Jim Meyering  <meyering@ascend.com>
95510
95511         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
95512
95513 1998-10-17  Jim Meyering  <meyering@ascend.com>
95514
95515         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
95516         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
95517         calls for those previously hard-coded headers.  Instead, take a new
95518         parameter.
95519         (jm_CHECK_DECLARATIONS): Reflect interface change.
95520         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
95521         (jm_CHECK_DECL_LOCALTIME_R): New macro.
95522
95523         * m4/mktime.m4: Test for spring-forward gap before long-running test.
95524
95525 1998-10-14  Jim Meyering  <meyering@ascend.com>
95526
95527         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
95528         instead of "TZ=America/Vancouver".  From Paul Eggert.
95529
95530 1998-10-11  Jim Meyering  <meyering@ascend.com>
95531
95532         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
95533         This adds a test for a recently added compatibility fix for mktime.c.
95534         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
95535
95536 1998-09-27  Jim Meyering  <meyering@ascend.com>
95537
95538         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
95539
95540         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
95541         ../configure.in, including a change from Gordon Matzigkeit to allow
95542         cross-compiling for the Hurd.
95543
95544         * m4/glibc.m4: New file/macro to test for the GNU C Library
95545         versions 1 and 2.  From Gordon Matzigkeit.
95546         Indent.
95547
95548 1998-09-21  Jim Meyering  <meyering@ascend.com>
95549
95550         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
95551
95552 1998-08-18  Paul Eggert  <eggert@twinsun.com>
95553
95554         Port nanosecond-resolution times to UnixWare 2.1.2 and
95555         pedantic Solaris 2.6.
95556
95557         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
95558         AC_STRUCT_ST_MTIM.
95559         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
95560         Generate name of ns member, instead of just 1 or undef.
95561         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
95562
95563 1998-08-15  Jim Meyering  <meyering@ascend.com>
95564
95565         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
95566         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
95567         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
95568         instead of jm_TYPE_SSIZE_T.
95569
95570 1998-08-12  Jim Meyering  <meyering@ascend.com>
95571
95572         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
95573
95574 1998-08-02  Jim Meyering  <meyering@ascend.com>
95575
95576         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
95577         in acconfig.h manually.
95578
95579 1998-07-31  Paul Eggert  <eggert@twinsun.com>
95580
95581         * m4/st_mtim.m4: New file.
95582
95583 1998-07-28  Jim Meyering  <meyering@ascend.com>
95584
95585         * m4/utimes.m4: Undef stat.
95586
95587 1998-07-25  Jim Meyering  <meyering@ascend.com>
95588
95589         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
95590         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
95591
95592 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
95593
95594         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
95595         uid and gid actually remain unchanged.
95596
95597 1998-07-07  Jim Meyering  <meyering@ascend.com>
95598
95599         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
95600
95601 1998-07-04  Jim Meyering  <meyering@ascend.com>
95602
95603         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
95604         to prove that this macro can be used in packages without regex.c.
95605
95606 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
95607
95608         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
95609         is to be used.
95610
95611 1998-07-03  Jim Meyering  <meyering@ascend.com>
95612
95613         * m4/gettext.m4: Add -lintl if it's found to be necessary.
95614
95615         * m4/gettext.m4: New file -- from gettext-0.10.35.
95616         * m4/lcmessage.m4: Likewise.
95617         * m4/progtest.m4: Likewise.
95618
95619         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
95620         * m4/jm-macros.m4: Require the new macro.
95621
95622 1998-06-29  Jim Meyering  <meyering@ascend.com>
95623
95624         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
95625         for the definition of NGROUPS (used in a system header included
95626         by sys/mount.h).
95627
95628 1998-06-28  Jim Meyering  <meyering@ascend.com>
95629
95630         * m4/ls-mntd-fs.m4: New file.
95631         * m4/fstypename.m4: New file.
95632
95633         * m4/jm-macros.m4: Require the new macro.
95634         * m4/jm-glibc-io.m4: New file.
95635
95636 1998-05-19  Jim Meyering  <meyering@ascend.com>
95637
95638         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
95639         * m4/lchown.m4: New file.
95640
95641         * m4/Makefile.am.in: New file.
95642         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
95643
95644 1998-05-14  Jim Meyering  <meyering@ascend.com>
95645
95646         * m4/Makefile.am (EXTRA_DIST): Add them.
95647         * m4/jm-macros.m4: New file.
95648         * m4/utimbuf.m4: New file.
95649
95650 1998-05-12  Jim Meyering  <meyering@ascend.com>
95651
95652         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
95653
95654 1998-05-11  Jim Meyering  <meyering@ascend.com>
95655
95656         * m4/isc-posix.m4: New file.
95657
95658 1998-05-10  Jim Meyering  <meyering@ascend.com>
95659
95660         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
95661
95662 1998-05-09  Jim Meyering  <meyering@ascend.com>
95663
95664         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
95665         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
95666         with automake.
95667
95668         * m4/ssize_t.m4: New file.
95669         * m4/mktime.m4: Remove file -- the new automake has this now.
95670
95671 1998-04-26  Jim Meyering  <meyering@ascend.com>
95672
95673         * m4/assert.m4: New file.
95674         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
95675
95676 1998-04-05  Jim Meyering  <meyering@ascend.com>
95677
95678         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
95679         (jm_PREREQ): Use it here.
95680
95681 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
95682
95683         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
95684         in acconfig.h.
95685
95686 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
95687
95688         * m4/prereq.m4: New file.
95689         * m4/error.m4: New file.
95690         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
95691
95692 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
95693
95694         * m4/getline.m4: Don't set am_cv_func_working_getline before the
95695         cache-check for the same variable -- that defeated the purpose of
95696         the test; the test program was never run.  This was a problem only
95697         on systems with losing getline functions -- HP-UX 10.20 is one.
95698         Reported by Bjorn Helgaas.
95699
95700 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
95701
95702         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
95703
95704 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
95705
95706         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
95707
95708         * m4/const.m4: New file.  Use an initializer in this declaration
95709         typedef int charset[2]; const charset x;
95710         Reported by Bob Glickstein.
95711
95712 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
95713
95714         * m4/chown.m4: Fix reversed types on -1 args to chown.
95715         From Kaveh Ghazi.
95716
95717 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
95718
95719         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
95720         Add lseek and memchr.
95721
95722         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
95723         T.E.Dickey <dickey@clark.net> said that some older preprocessors
95724         have a 20-character limit on names.
95725
95726 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
95727
95728         * m4/inttypes_h.m4: New file.
95729         * m4/uintmax_t.m4: New file.
95730         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
95731
95732
95733         -----
95734
95735         Local Variables:
95736         coding: utf-8
95737         End:
95738
95739         Copyright (C) 1997-2012 Free Software Foundation, Inc.
95740
95741         Copying and distribution of this file, with or without
95742         modification, are permitted provided the copyright notice
95743         and this notice are preserved.